On 6/23/13 11:15 AM, Daniel Johnson wrote: > > On Jun 23, 2013, at 1:06 PM, Alexander Hansen <alexanderk.han...@gmail.com> > wrote: > >> On 6/23/13 8:45 AM, Alexander Hansen wrote: >>> On 6/23/13 7:04 AM, Alexander Hansen wrote: >>>> On 6/23/13 6:55 AM, Daniel Johnson wrote: >>>>> >>>>> On Jun 20, 2013, at 9:55 PM, Alexander Hansen >>>>> <alexanderk.han...@gmail.com> wrote: >>>>> >>>>>> On 6/19/13 8:03 PM, Alexander Hansen wrote: >>>>>>> 1) I've finally smoothed some tuits down enough to work on >>>>>>> https://github.com/fink/fink/issues/42 . This is going use a similar >>>>>>> methodology as the system-SDK packages, in that we're not going to >>>>>>> have >>>>>>> system-javaXY packages present at all for systems where one cannot >>>>>>> possibly have that XY (e.g. system-java13 on Mountain Lion). Having a >>>>>>> virtual package present but not installed produces a confusing faux >>>>>>> build process when installing something that depends on it, whereas >>>>>>> not >>>>>>> having an entry for the package gives a straightforward "package does >>>>>>> not exist" message. >>>>>>> Once I've got something that WorksForMe on different platforms, I'll >>>>>>> put >>>>>>> it in a branch of the main fink repository. >>>>>>> >>>>>> >>>>>> Meh, I just put it in master. User-visible changes are: >>>>>> >>>>>> 1) For people on 10.7 or later who have Oracle's Java-1.7.x installed, >>>>>> there will be system-java17* packages, plus the system-java and >>>>>> system-java-dev package will exist for people who don't have a legacy >>>>>> Apple Java installed, e.g. people who installed Mountain Lion after >>>>>> Apple dropped it. >>>>>> >>>>>> 2) On 10.5/i386, system-java16* goes away because Java-1.6.x was >>>>>> distributed as x86_64 only for some reason there. >>>>> >>>>> Your commit bffa85c appears broken. I'm getting a lot of these every >>>>> time I run fink: >>>>> >>>>> Use of uninitialized value $dir in concatenation (.) or string at >>>>> /sw64/lib/perl5/Fink/VirtPackage.pm line 420. >>>>> Use of uninitialized value $dir in concatenation (.) or string at >>>>> /sw64/lib/perl5/Fink/VirtPackage.pm line 421. >>>>> Use of uninitialized value $dir in concatenation (.) or string at >>>>> /sw64/lib/perl5/Fink/VirtPackage.pm line 427. >>>>> Use of uninitialized value $dir in pattern match (m//) at >>>>> /sw64/lib/perl5/Fink/VirtPackage.pm line 433. >>>>> Use of uninitialized value $dir in concatenation (.) or string at >>>>> /sw64/lib/perl5/Fink/VirtPackage.pm line 420. >>>>> Use of uninitialized value $dir in concatenation (.) or string at >>>>> /sw64/lib/perl5/Fink/VirtPackage.pm line 421. >>>>> Use of uninitialized value $dir in concatenation (.) or string at >>>>> /sw64/lib/perl5/Fink/VirtPackage.pm line 427. >>>>> Use of uninitialized value $dir in pattern match (m//) at >>>>> /sw64/lib/perl5/Fink/VirtPackage.pm line 433. >>>>> >>>>> Looks like $dir is no longer in scope? >>>>> >>>>> Daniel >>>>> >>>> >>>> Hmm...I'm not seeing that here, and I've got both a legacy and a new JDK >>>> so I thought I had full coverage :-) . >>>> >>>> What does "/usr/libexec/java_home -V" return? >>>> >>> >>> And what OS version? >>> >> >> $dir is still in scope at line 420. It gets redefined, and potentially >> undefined, now that I look at it, at line 406 for 1.7.x JDKs: >> >> ($dir) = ($javadir =~ m|jdk(\d.*)_|) ; > > > I get > > Matching Java Virtual Machines (5): > 1.7.0_06, x86_64: "Java SE 7" > /Library/Java/JavaVirtualMachines/jdk1.7.0_06.jdk/Contents/Home > 1.7.0_04, x86_64: "Java SE 7" > /Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home > 1.7.0-u4-b05-20120111, x86_64: "OpenJDK 7" > /Library/Java/JavaVirtualMachines/1.7.0u.jdk/Contents/Home > 1.6.0_51-b11-456, x86_64: "Java SE 6" > /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home > 1.6.0_51-b11-456, i386: "Java SE 6" > /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home > > /Library/Java/JavaVirtualMachines/jdk1.7.0_06.jdk/Contents/Home > > Interesting that I have multiple 1.7.0's showing. > > This is on 10.8.4 with Xcode 4.6.3. > The issue goes away when I roll back to before the java commits. > > Daniel >
The issue would indeed go away, because 1.7.x isn't detected at all. :-) The multiple 1.7.0 JDKs is completely normal. This appears to be the same strategy that has been used on Windows all along. (One annoyance is that the auto-update for Java (via the Control Panel) seems only to update the browser plugin and not the JDK.) I have: $ /usr/libexec/java_home -V Matching Java Virtual Machines (4): 1.7.0_25, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home 1.7.0_21, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home 1.6.0_51-b11-456, x86_64: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home 1.6.0_51-b11-456, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home and I naively assumed that the path structure wasn't changed along the way. So the issue appears to be that your OpenJDK and 1.7.0_4 JDK paths don't satisfy the regex and $dir winds up getting unset. -- 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-core mailing list fink-core@lists.sourceforge.net List archive: http://news.gmane.org/gmane.os.apple.fink.core Subscription management: https://lists.sourceforge.net/lists/listinfo/fink-core