pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: lang/sun-jdk7 and lang/oracle-jdk8 not using built-in



On 2/14/16 10:20 AM, Jonathan Perkin wrote:
> * On 2016-02-14 at 14:21 GMT, J. Lewis Muir wrote:
>> Now, back to the JDKs.  I try apache-ant, and IS_BUILTIN.sun-jdk7 is
>> empty:
>>
>> ===
>> $ cd devel/apache-ant
>> $ bmake show-var VARNAME=IS_BUILTIN.sun-jdk7
>>
>> ===
>>
>> So, this doesn't seem to be working.  Ideas?
>
> The logic which handles this is mk/java-vm.mk.  So, first check that
> PKG_JVM is actually pointing at sun-jdk7 in your case, and then show
> the _JRE_PKGSRCDIR variable to see which JRE buildlink is pulling in.
>
> Note that it is the JRE buildlink that is included, not the JDK, so in
> your case would be "sun-jre7".

Hi, Jonathan!

Aha, again!  Thank you for pointing out that I should be looking at
IS_BUILTIN.sun-jre7, not IS_BUILTIN.sun-jdk7!  I didn't realize the JRE
was expected for apache-ant, and I had deleted the Oracle JRE 8 that
came with the JDK 8 and had forgotten about that.

After installing the Oracle JDK 8 again (to reinstall the JRE since it
comes bundled with the JDK), now things work:

===
$ cd devel/apache-ant
$ bmake show-var VARNAME=PKG_JVM_DEFAULT
sun-jdk7
$ bmake show-var VARNAME=IS_BUILTIN.sun-jre7
yes
===

I can imagine some saying that I shouldn't delete the JRE, and that's
fair enough, but part of me wishes I could delete it and that the JDK
could satisfy a JRE dependency since the JDK is a superset of the JRE.
Taking devel/apache-ant as an example, even though I had the built-in
JDK, I couldn't build the apache-ant package because I didn't have the
built-in JRE (even though the built-in JDK has everything the built-in
JRE has).  But maybe that makes things complicated or even confusing
when it comes to dependency management, built-ins vs. pkgsrc packages,
and expressing what is really desired.

On another note, since the JRE is installed to

  /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home

there's no way for more than one version of a JRE to be installed at the
same time.  In my case, what's installed there is the JRE that came with
the JDK 8:

===
$ cd /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
$ ./bin/java -version
java version "1.8.0_74"
Java(TM) SE Runtime Environment (build 1.8.0_74-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.74-b02, mixed mode)
===

However, as noted above for devel/apache-ant, "bmake show-var
VARNAME=IS_BUILTIN.sun-jre7" reported "yes", but the JRE is actually
Oracle JRE 8.

Regards,

Lewis


Home | Main Index | Thread Index | Old Index