--- openjdk/jdk/src/solaris/classes/sun/security/smartcardio/PlatformPCSC.java.orig 2012-07-25 19:24:09.000000000 +0200 +++ openjdk/jdk/src/solaris/classes/sun/security/smartcardio/PlatformPCSC.java 2012-08-29 19:00:39.460633566 +0200 @@ -48,6 +48,7 @@ private final static String PROP_NAME = "sun.security.smartcardio.library"; + private final static String LIB0 = "libpcsclite.so.1"; private final static String LIB1 = "/usr/$LIBISA/libpcsclite.so"; private final static String LIB2 = "/usr/local/$LIBISA/libpcsclite.so"; private final static String PCSC_FRAMEWORK = "/System/Library/Frameworks/PCSC.framework/Versions/Current/PCSC"; @@ -104,22 +105,9 @@ if (lib.length() != 0) { return lib; } - lib = expand(LIB1); - if (new File(lib).isFile()) { - // if LIB1 exists, use that - return lib; - } - lib = expand(LIB2); - if (new File(lib).isFile()) { - // if LIB2 exists, use that - return lib; - } - lib = PCSC_FRAMEWORK; - if (new File(lib).isFile()) { - // if PCSC.framework exists, use that - return lib; - } - throw new IOException("No PC/SC library found on this system"); + // let dlopen do the work + lib = LIB0; + return lib; } private static native void initialize(String libraryName);