pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: pkg/52455: lang/oracle-jdk8 and lang/oracle-jre8 don't declare buildlink3 library paths
The following reply was made to PR pkg/52455; it has been noted by GNATS.
From: "H. William Welliver III" <william%welliver.org@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc:
Subject: Re: pkg/52455: lang/oracle-jdk8 and lang/oracle-jre8 don't declare
buildlink3 library paths
Date: Thu, 3 Aug 2017 09:46:40 -0400
Hi,
>> [root@pkgsrc-pbulk oracle-jre8]# diff buildlink3.mk.orig =
buildlink3.mk
>> 21a22,25
>>> LIBDIR_ARCH=3D3D =3D
> ${MACHINE_ARCH:S/x86_64/amd64/:S/sparc64/sparcv9/:C/^e?arm.*$/arm/}
>>> =3D
> =
BUILDLINK_LIBDIRS.openjre8+=3D3Djava/oracle-8/jre/lib/${LIBDIR_ARCH}/serve=
r
>>> BUILDLINK_LIBDIRS.openjre8+=3D3Djava/oracle-8/jre/lib/${LIBDIR_ARCH}
>=20
> This should be BUILDLINK_LIBDIRS.oracle-jre8, I suppose?
Yes, that=E2=80=99s clearly incorrect. I=E2=80=99m not sure how I even =
managed that. Sorry for the confusion; I can=E2=80=99t even find that =
sequence in my local copy.
> Also, according to the PLIST, the directory is =3D
> java/oracle-8/lib/${LIBDIR_ARCH} (no jre). And on macOS, there is no =3D=
> arch directory. I don=3DE2=3D80=3D99t know buildlink well enough to =
judge if =3D
> it is OK to give nonexistent directories here.
When I built the oracle-jdk8 package, it required the oracle-jre8 =
package to be installed first, and the Makefiles seemed to imply that =
they were common files, though after looking at the installed data, jre =
is just a symbolic link to the oracle-8 directory. That makes sense, I =
suppose, since software that embeds the jvm typically looks for these =
files under jre/. I assume the symlink is why the directory structure =
isn=E2=80=99t reflected in the PLIST.
I have been using the system JavaVM framework for java access on macOS, =
so I can=E2=80=99t comment from personal experience (I specifically =
exclude mk/java-vm.mk on Darwin for this reason). It=E2=80=99s unclear =
that the oracle-jdk8 package can even be built on macOS, as Oracle only =
seems to distributes the JDK as a DMG file, and the Makefile requires a =
.tar.gz file. If I get some free time I may look into this a bit =
further.
In the process of arriving at this solution, I had a series of incorrect =
paths specified as part of BUILDLINK_LIBDIRS and no harm seemed to come =
from it. It would obviously be better to not include paths that don=E2=80=
=99t exist, but based on my read of the buildlink3 code, it probably =
doesn=E2=80=99t hurt to have them. I think the macOS portion of the port =
will likely need some closer attention, so perhaps this could be an =
acceptable intermediate step?
>=20
>> [root@pkgsrc-pbulk oracle-jdk8]# diff buildlink3.mk.orig =
buildlink3.mk
>> 30a31,34
>>> LIBDIR_ARCH=3D3D =3D
> ${MACHINE_ARCH:S/x86_64/amd64/:S/sparc64/sparcv9/:C/^e?arm.*$/arm/}
>>> =3D
> =
BUILDLINK_LIBDIRS.openjdk8+=3D3Djava/oracle-8/jre/lib/${LIBDIR_ARCH}/serve=
r
>>> BUILDLINK_LIBDIRS.openjdk8+=3D3Djava/oracle-8/jre/lib/${LIBDIR_ARCH}
>=20
> According to its PLIST, the lib subdirectory here does not contain =3D
> libjvm, is this needed at all?
Yes, it=E2=80=99s needed because there are dependent libs that are =
required (libjvm -> libverify + libzip + libjava, etc).
> =3DE2=3D80=3D94Benny.=3D
>=20
Home |
Main Index |
Thread Index |
Old Index