OS check fails on JDK 1.4 & FreeBSD 5.4R
Greg Lewis
glewis at eyesbeyond.com
Thu May 26 09:34:29 PDT 2005
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 at eyesbeyond.com
Eyes Beyond Web : http://www.eyesbeyond.com
Information Technology FreeBSD : glewis at FreeBSD.org
-------------- next part --------------
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)
- at 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 \
More information about the freebsd-java
mailing list