Do not link with libpcsclite.so.1 but use dlopen() instead
Bug #664007 reported by
Ludovic Rousseau
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
wpa_supplicant |
Fix Released
|
Undecided
|
Unassigned | ||
wpasupplicant (Debian) |
Fix Released
|
Undecided
|
Unassigned | ||
wpasupplicant (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: wpasupplicant
wpa_supplicant is linked to libpcsclite.so.1
Because Ubuntu wants to use wpa_supplicant before /usr is mounted the libpcsclite.so.1 has been moved from /usr/lib to /lib. See Debian bug #531592 http://
The problem is that users manually upgrading pcsc-lite will have an old lib in /lib and the new one in /usr/lib. Of course this does not work. See http://
Please use dlopen(). A patch is available in the Debian bug http://
To post a comment you must log in.
I agree with Ludovic that the Ubuntu decision to relocate libpcsclite.so from /usr/lib to /lib was made to address
a linking problem with wpa_supplicant, without regard to the effects it would have on the rest of the
applications that use libpcsclite.so. The fix only solved the linking problem, it did not allow libpcsclite.so
to be used, as it needs to communicate with pcscd that still depends on /usr/lib.
There appears to be a number of solutions:
(1) leave libpcsclite.so in /usr/lib and have wpa_supplicant use dlopen as suggested above, as it
appearently does not need the library when loaded witout /usr being present.
(2) Move libpcsclite.so to /lib, but also install symlinks from /usr/lib.
(2a) If there is a need to have wpa_supplicant actually use libpcsclite.so without /usr being mounted,
then pcscd and whatever else it depends on also needs to be move from /usr.