Subject: Re: pkg/36828: sun-jre6 check libs problem
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: Johnny C. Lam <jlam@pkgsrc.org>
List: pkgsrc-bugs
Date: 08/24/2007 17:20:07
The following reply was made to PR pkg/36828; it has been noted by GNATS.
From: "Johnny C. Lam" <jlam@pkgsrc.org>
To: gnats-bugs@NetBSD.org
Cc: pkg-manager@netbsd.org, pkgsrc-bugs@netbsd.org
Subject: Re: pkg/36828: sun-jre6 check libs problem
Date: Fri, 24 Aug 2007 17:18:28 +0000
--wac7ysb48OaltWcw
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
On Fri, Aug 24, 2007 at 12:30:01PM +0000, pkgsrc@blackmouse.biz wrote:
> Problem in install on system without X (server or bulk-build)
>
> => Checking for missing run-time search paths in sun-jre6-6.0.1nb1
> ERROR: /usr/pkg/java/sun-6/bin/javaws: libX11.so.6 => not found
> ERROR: /usr/pkg/java/sun-6/bin/policytool: libX11.so.6 => not found
> ERROR: *** The programs/libs shown above will not find the listed
> ERROR: shared libraries at runtime.
> ERROR: Please fix the package (add -Wl,-R.../lib in the right places)!
> *** Error code 1
The Sun JRE and JDK seem to need libX11.so.6. Can you see if the
attached patch fixes the problem? If you are running Linux natively,
it should fail and tell you to install the X11 libraries. Otherwise,
pkgsrc will build and install pkgsrc/x11/libX11 to satisfy this
requirement.
Thanks,
-- Johnny Lam <jlam@pkgsrc.org>
--wac7ysb48OaltWcw
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="sun-jre6.diff"
Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/lang/sun-jre6/Makefile,v
retrieving revision 1.5
diff -u -r1.5 Makefile
--- Makefile 22 Aug 2007 14:03:49 -0000 1.5
+++ Makefile 24 Aug 2007 17:14:34 -0000
@@ -4,7 +4,7 @@
DISTNAME= jre-6u1-linux-${DIST_ARCH}
PKGNAME= sun-jre6-6.0.1
-PKGREVISION= 1
+PKGREVISION= 2
MASTER_SITES= # empty
DOWNLOAD_NAME= Java Runtime Environment (JRE) 6u1
@@ -43,6 +43,35 @@
PLIST_SUBST+= SUN_JRE6_USE_JCE="@comment "
.endif
+# Some of the binaries require libX11, so ensure that requirement is
+# satisfied when the package is installed on the native OS.
+#
+.if defined(EMUL_IS_NATIVE)
+. if ${X11_TYPE} == "native"
+. if ${EMUL_ARCH} == "x86_64"
+LIBX11= ${X11PREFIX}/lib64/libX11.so.6
+. else
+LIBX11= ${X11PREFIX}/lib/libX11.so.6
+. endif
+. if !exists(${LIBX11})
+PKG_FAIL_REASON+= "${LIBX11} does not exist. Please install the" \
+ "X11 library packages for your system."
+. endif
+. else
+. include "../../x11/libX11/buildlink3.mk"
+LIBX11= ${X11PREFIX}/lib/libX11.so.6
+. endif
+
+PLIST_SUBST+= LIBX11=
+
+.PHONY: create-library-symlinks
+post-install: create-library-symlinks
+create-library-symlinks:
+ ${RUN}${LN} -fs ${LIBX11} ${JAVA_HOME}/lib/${EMUL_ARCH}
+.else
+PLIST_SUBST+= LIBX11="@comment "
+.endif
+
post-extract:
${MKDIR} ${WRKSRC}/.systemPrefs
${TOUCH} ${WRKSRC}/.systemPrefs/.system.lock
Index: PLIST.linux-i386
===================================================================
RCS file: /cvsroot/pkgsrc/lang/sun-jre6/PLIST.linux-i386,v
retrieving revision 1.2
diff -u -r1.2 PLIST.linux-i386
--- PLIST.linux-i386 23 Aug 2007 18:46:36 -0000 1.2
+++ PLIST.linux-i386 24 Aug 2007 17:14:34 -0000
@@ -144,6 +144,7 @@
java/sun-6/lib/i386/jli/libjli.so
java/sun-6/lib/i386/jvm.cfg.default
java/sun-6/lib/i386/libJdbcOdbc.so
+${LIBX11}java/sun-6/lib/i386/libX11.so.6
java/sun-6/lib/i386/libawt.so
java/sun-6/lib/i386/libcmm.so
java/sun-6/lib/i386/libdcpr.so
--wac7ysb48OaltWcw--