java on 10.8 and later
Alexander Hansen <alexanderk.hansen <at> gmail.com>
2013-06-14 14:21:12 GMT
The discussion below also applies to 10.8.
-------- Original Message --------
Subject: Re: [fink-seed] 10.9
Date: Fri, 14 Jun 2013 07:06:55 -0700
From: Alexander Hansen <alexanderk.hansen <at> gmail.com>
Organization: Fink Core Team
To: fink ADC/seed NDA list <fink-seed <at> lists.sourceforge.net>
CC: Jack Howarth <howarth <at> bromo.med.uc.edu>
On 6/14/13 6:52 AM, Jack Howarth wrote:
<snip>
> If you execute 'java', the user is directed to Oracle's web site (without
> clear instructions to install either the jre or the jdk). The legacy Java 1.6
> runtime is only installed when you try to execute programs which are already
> linked to that framework. I assume this is the same as current 10.8. One
> problem we may have on both 10.8 and 10.9 is the location of the dylibs in
> the Oracle JDK. Unlike Apple, Oracle doesn't install the JDK as a framework.
> As far as I can tell this results in the the dylibs residing in a path with
> the full java version number embedded in it as described in...
>
> http://docs.oracle.com/javase/7/docs/webnotes/install/mac/mac-jdk.html
> http://docs.oracle.com/javase/7/docs/webnotes/install/mac/mac-install-faq.html
>
> It is unclear to me how executables linked against the shared libs in...
>
> /Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home/jre/lib
>
> are supposed to find their shared libs when the jdk gets updated to a
> newer release. It would seem that users need to install both the jre and the
> jdk. As far as I can tell, the JRE installs its dylibs in...
>
According to Oracle, the JDK includes the JRE, and this appears to be
the case on my system, too.
> /Library/Java/Home/bundle/Libraries
>
> whereas the JDK uses the versioned directory...
>
> /Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home/jre/lib
>
> and these don't even match up as the same libs. This is very confusing since
> the framework linkage used by JDK 1.6 doesn't clearly indicate which dylibs
> are used to resolve symbols.
> Jack
>
>
eww, right. A specific example being:
$ ls -l
/Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home/jre/lib/libawt.dylib
-rwxrwxr-x 1 root wheel 563940 Apr 7 15:10
/Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home/jre/lib/libawt.dylib
$ ls -l /Library/Java/Home/bundle/Libraries/libawt.jnilib
-rwxr-xr-x 1 root wheel 4652208 Apr 16 14:10
/Library/Java/Home/bundle/Libraries/libawt.jnilib
We've got a current issue on fink about the system-java virtual packages
for 10.8 related to this, too. It took me this long to figure out
_what_ the heck I was actually supposed to download and install so that
I could actually experience the issue. This only affects dependencies
and not actual package builds.
--
Alexander Hansen, Ph.D.
Fink User Liaison
My package updates: http://finkakh.wordpress.com/
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:
Build for Windows Store.
http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Fink-devel mailing list
Fink-devel <at> lists.sourceforge.net
List archive:
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel