OS check fails on JDK 1.4 & FreeBSD 5.4R

Greg Lewis glewis at eyesbeyond.com
Thu May 26 07:55:05 PDT 2005


On Thu, May 26, 2005 at 01:34:11AM -0400, Scott I. Remick wrote:
> On Thu, 26 May 2005 00:25:02 -0600, Greg Lewis wrote:
> 
> > So, if you manually do (in the jdk14 directory)
> > 
> > gcc -lc_r -o work/testos files/testos.c
> > 
> > (You may need to manually create the work directory if you've done a
> >  "make clean")
> > 
> > What happens?  The only way the test can fail is if you can't compile
> > that programme.
> 
> su-2.05b# gcc -lc_r -o work/testos files/testos.c
> /usr/bin/ld: cannot find -lc_r
> 
> But does -lc_r signify libc_r? This is 5.4, so I don't have libc_r, I have
> libpthread.

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

However, you should have libc_r on 5.4:

> uname -r
5.4-RELEASE-p1
> ls /usr/lib/libc_r*
/usr/lib/libc_r.a       /usr/lib/libc_r.so.5
/usr/lib/libc_r.so      /usr/lib/libc_r_p.a

So your machine would seem to be somewhat hosed unless you've deliberately
removed libc_r.

-- 
Greg Lewis                          Email   : glewis at eyesbeyond.com
Eyes Beyond                         Web     : http://www.eyesbeyond.com
Information Technology              FreeBSD : glewis at FreeBSD.org


More information about the freebsd-java mailing list