Public bug reported:

The OpenJDK codebase contains a class at
sun.security.smartcardio.PlatformPCSC which looks at the
sun.arch.data.model to see if it's a 64-but O/S or not. If so, and it's
not SunOS then it adds a little piece into the library lookup path of
lib64, thus meaning it looks for

/usr/lib64/libpcsclite.so

which doesn't exist in Ubuntu 11.10 as it's now at
/usr/lib/libpcsclite.so instead.

There is a workaround of adding
-Dsun.security.smartcardio.library=/usr/lib/libpcsclite.so as a JVM
argument to force the library path, but this shouldn't be necessary.

To see the problem:

1. obtain a device that runs with pcscd
2. Compile the following Java code
3. Run with and without the -D flag above to see the difference (you shouldn't 
get the "None" provided by "None" message with the flag):

package com.moo.bug;

import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

import javax.smartcardio.CardException;
import javax.smartcardio.CardTerminal;
import javax.smartcardio.TerminalFactory;

public class BugDemo {

        private static final Logger log =
Logger.getLogger(BugDemo.class.getName());

    public static void main(String[] args) throws Exception {
        long startTime = System.currentTimeMillis();
        // show the list of available terminals
        List<CardTerminal> terminals;
        try {
            TerminalFactory factory = TerminalFactory.getDefault();
            System.out.println("Factory is: " + factory);
            terminals = factory.terminals().list();
            System.out.println("Terminals: " + terminals);
        } catch (CardException e) {
            log.log(Level.SEVERE, "Could not open terminals: " + 
e.getMessage(), e);
            return;
        }
    }
}

** Affects: openjdk-6 (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/897299

Title:
  OpenJDK is looking for libpcsclite.so in wrong place on 64-bit 11.10

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openjdk-6/+bug/897299/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to