[
https://issues.apache.org/jira/browse/DAEMON-281?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ian Emmons reopened DAEMON-281:
-------------------------------
In testing this fix (using commons daemon 1.0.15), I have found two problems
that prevent the fix from working properly. First, the new JVM paths were
added to location_jvm_default (in location.c), but jsvc is using
location_jvm_configured instead. Second, the search for a shell library
prevents a library from location_jvm_configured that is found from being used.
I have created patch files for location.c and java.c. The first patch adds the
requisite path to location_jvm_configured. The second adds a new entry to the
shell library search routine so that it finds the Java 7 shell library,
"$JAVA_HOME/../MacOS/libjli.dylib".
With these two patches, jsvc works properly in my environment (MacOS 10.8 with
Java 7). I will attempt to attach them to the issue. (Forgive me if I goof
that up -- I've never done it before.)
> Jsvc not loading correct shared lib for Java 7 on MacOS
> -------------------------------------------------------
>
> Key: DAEMON-281
> URL: https://issues.apache.org/jira/browse/DAEMON-281
> Project: Commons Daemon
> Issue Type: Bug
> Components: Jsvc
> Affects Versions: 1.0.13
> Environment: 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)
> Reporter: Ian Emmons
> Fix For: 1.0.14
>
> Attachments: java.c.diff, location.c.diff
>
>
> 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
> /Library/Java/JavaVirtualMachines/jdk1.7.0_15.jdk/Contents/Home
> The -debug switch shows jsvc searching for several shared libraries in the
> folder
> $JAVA_HOME/../Libraries/
> However, with Java 1.7 this folder does not exist, and jsvc should be trying
> to load this:
> $JAVA_HOME/jre/lib/server/libjvm.dylib
> 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.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira