On 6/14/13 8:22 AM, Alexander Hansen wrote: > On 6/14/13 8:07 AM, Alexander Hansen wrote: >> On 6/14/13 7:43 AM, Jack Howarth wrote: >>> On Fri, Jun 14, 2013 at 07:21:12AM -0700, Alexander Hansen wrote: >>>> 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.han...@gmail.com> >>>> Organization: Fink Core Team >>>> To: fink ADC/seed NDA list <fink-s...@lists.sourceforge.net> >>>> CC: Jack Howarth <howa...@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. >>> >>> It also may be help to bring this issue up on the macports-dev mailing >>> list to >>> see what information they have on the problem and how it is to be >>> addressed there. >> >> Knock yourself out. I'm not a subscriber. >> >>> The only obvious approach I see would be to force users to install >>> both the jre and jdk >>> but have the builds use the headers from the jdk but link against the >>> libs in >>> the jre. >>> Jack >>> >> >> Oracle _claimed_ that the JDK subsumed the JRE, but after checking on a >> system with a clean 10.8 install where I only installed the JRE, I don't >> have /Library/Java/Home. > > On 10.8, I _think_ the legacy Java framework is still installed by > default. Rather than making assumptions, though, I can create a virtual > machine and find out.
The runtime part of JavaVM.framework (legacy) comes with 10.8 by default. The compile-time elements are installed with the Xcode Command-Line Tools. -- 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@lists.sourceforge.net List archive: http://news.gmane.org/gmane.os.apple.fink.devel Subscription management: https://lists.sourceforge.net/lists/listinfo/fink-devel