Project

General

Watchers (1)

Profile

Actions

Bug #216

closed

PCSC fails to load shared library on linux

Added by Tobias Wich over 12 years ago. Updated over 12 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Target version:
Start date:
04/09/2013
Due date:
% Done:

0%

Estimated time:
Reviewer:
Johannes Schmölz
Build Version:

Description

OpenJDK and apparently Oracle JDK use a flawed mechanism to load libpcsclite.so. The problem is fixed in Debian (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=529339), but at least not in Fedora.

In order to fix this issue, the library paths can be adjusted as it is the case in the Belgian eID Applet (https://code.google.com/p/eid-applet/source/browse/trunk/eid-applet-core/src/main/java/be/fedict/eid/applet/sc/PcscEid.java).

Added by Tobias Wich over 12 years ago

Revision 2ab58ec5 (diff)

Add code that simulates ld under linux and use it to find pcsclite (fixes #216)

ld uses LD_LIBRARY_PATH, ld.so.cache and fixed base paths to find the library. The SmartcardIO PCSC
implementation only uses the fixed base paths and Java specific load paths. The LinuxLibraryFinder
class finds a library according to the mechanism described in the ld.so(8) man page. In case no
library could be found, an error is raised instead of relying on the SmartcardIO to find the lib
nevertheless.

Added by Tobias Wich about 12 years ago

Revision b2eff6eb (diff)

Add code that simulates ld under linux and use it to find pcsclite (fixes #216)

ld uses LD_LIBRARY_PATH, ld.so.cache and fixed base paths to find the library. The SmartcardIO PCSC
implementation only uses the fixed base paths and Java specific load paths. The LinuxLibraryFinder
class finds a library according to the mechanism described in the ld.so(8) man page. In case no
library could be found, an error is raised instead of relying on the SmartcardIO to find the lib
nevertheless.

Actions

Also available in: Atom PDF