Uploaded image for project: 'Commons Daemon'
  1. Commons Daemon
  2. DAEMON-281

Jsvc not loading correct shared lib for Java 7 on MacOS



    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.0.13
    • 1.0.14, 1.1.0
    • Jsvc
    • None
    • MacOS 10.8.2 with Java 7:

      $ java -version
      java version "1.7.0_15"
      Java(TM) SE Runtime Environment (build 1.7.0_15-b03)
      Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)


      When I try to run my program via jsvc, it complains:

      Cannot find any VM in Java Home <<JAVA_HOME>>
      Cannot locate JVM library file

      where <<JAVA_HOME>> is set to


      The -debug switch shows jsvc searching for several shared libraries in the folder


      However, with Java 1.7 this folder does not exist, and jsvc should be trying to load this:


      If I change JAVA_HOME to point to Apple's Java 1.6, then jsvc successfully finds the JVM shared library.

      Note: I built jsvc myself with no problems, and the output of the build makes it clear that it used the Java 7 JNI headers in the compilation.

      Background: Apple has deprecated Java 1.6. It not longer is present unless the user explicitly installs it, and recent OS updates have disabled the browser plugin and removed the Java control panel. Apple is pushing customers toward's Oracle's Java 1.7.


        1. location.c.diff
          0.1 kB
          Ian Emmons
        2. java.c.diff
          0.3 kB
          Ian Emmons
        3. java.c.diff
          0.6 kB
          Ian Emmons
        4. location.c.diff
          0.5 kB
          Ian Emmons
        5. commons-daemon-1.0.15-native-src-patched.zip
          391 kB
          Mike Mitterer

        Issue Links



              Unassigned Unassigned
              ianemmons Ian Emmons
              2 Vote for this issue
              5 Start watching this issue