Date: Thu, 26 May 2005 10:34:24 -0600 From: Greg Lewis <glewis@eyesbeyond.com> To: "Scott I. Remick" <scott@sremick.net> Cc: freebsd-java@freebsd.org Subject: Re: OS check fails on JDK 1.4 & FreeBSD 5.4R Message-ID: <20050526163424.GA99627@misty.eyesbeyond.com> In-Reply-To: <pan.2005.05.26.16.04.34.914669@sremick.net> References: <pan.2005.05.22.18.40.12.945674@sremick.net> <200505221342.19274.vizion@vizion.occoxmail.com> <pan.2005.05.25.23.08.07.795801@sremick.net> <200505251623.55084.vizion@vizion.occoxmail.com> <pan.2005.05.26.03.50.59.597868@sremick.net> <20050526052502.GA90963@misty.eyesbeyond.com> <pan.2005.05.26.05.34.10.523080@sremick.net> <20050526145459.GA98285@misty.eyesbeyond.com> <pan.2005.05.26.16.04.34.914669@sremick.net>
next in thread | previous in thread | raw e-mail | index | archive | help
--1yeeQ81UyVL57Vl7 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Thu, May 26, 2005 at 12:04:36PM -0400, Scott I. Remick wrote: > On Thu, 26 May 2005 09:54:59 -0600, Greg Lewis wrote: > > > That would be your problem then. The test expects to use -lc_r on 5.x > > and higher: > > > > .if ${OSVERSION} > 500000 > > LINKIT= -lc_r > > .else > > LINKIT= -pthread > > .endif > > Isn't that backwards? The default threading library changed from libc_r to > libpthread in 5.3 I don't know that its backwards, but it could probably use some help. -lc_r became the official way early on in 5.x, but was reverted to -pthread after 5.2.1. So it was correct for a time, but is now out of date. I suspect that the variable should just go away and ${PTHREAD_LIBS} should take its place. > > However, you should have libc_r on 5.4: > ... > > So your machine would seem to be somewhat hosed unless you've > > deliberately removed libc_r. [explanation of removing libc_r snipped] > So I guess I have 2 questions now: > > 1) If libpthread is the new default, replacing libc_r, and you have to > have all things linked to just one or the other, basically libc_r has been > depreciated. How come the OS version check for JDK 1.4 wants libc_r if the > OS > 5.0? Because its old (see above). > 2) What am I to do now, since the purging of all things libc_r when I > upgraded to 5.3 is what ultimately fixed my system and has kept things > running smoothly ever since? You can do one of the following: 1. Try the attached patch. This would be my preference since if it works I'll try and get it committed. 2. Turn on SKIP_OS_CHECK and eliminate the test altogether. -- Greg Lewis Email : glewis@eyesbeyond.com Eyes Beyond Web : http://www.eyesbeyond.com Information Technology FreeBSD : glewis@FreeBSD.org --1yeeQ81UyVL57Vl7 Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="Makefile.diff" Index: Makefile =================================================================== RCS file: /var/fcvs/ports/java/jdk14/Makefile,v retrieving revision 1.90 diff -u -r1.90 Makefile --- Makefile 11 May 2005 21:18:39 -0000 1.90 +++ Makefile 26 May 2005 16:31:42 -0000 @@ -184,17 +184,11 @@ TESTPROG=testos -.if ${OSVERSION} > 500000 -LINKIT= -lc_r -.else -LINKIT= -pthread -.endif - check-os: .if !defined(SKIP_OS_TEST) -@mkdir -p ${WRKDIR} ; \ rm -f ${WRKDIR}/${TESTPROG} ; \ - gcc ${LINKIT} -o ${WRKDIR}/${TESTPROG} \ + gcc ${PTHREAD_LIBS} -o ${WRKDIR}/${TESTPROG} \ ${FILESDIR}/${TESTPROG}.c > /dev/null 2>&1 @if [ ! -f ${WRKDIR}/${TESTPROG} ] ; \ then \ --1yeeQ81UyVL57Vl7--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050526163424.GA99627>