jdk16 build failure on 7.0R/i386
deischen at freebsd.org
Fri Mar 14 03:48:53 UTC 2008
On Mon, 10 Mar 2008, Kurt Miller wrote:
> Daniel Eischen wrote:
>> On Mon, 10 Mar 2008, Kurt Miller wrote:
>>> Weird. It seems like gcc(1)/ld(1) has changed the way -pthread is
>>> handled. In 6.X
>>> and below it will record a NEEDED entry for libpthread even if the
>>> doesn't reference any pthread symbols. I suspect that in 7.X if the
>>> doesn't reference any pthread symbols it wont record the NEEDED entry.
>> No, for binaries it works the same way on 7.x as 6.x.
>> $ gcc -o k k.c -pthread
>> $ ldd k
>> libthr.so.3 => /lib/libthr.so.3 (0x2807c000)
>> libc.so.7 => /lib/libc.so.7 (0x2808f000)
>> I believe that -pthread does now act differently in 7.0+ when used
>> to build shared libraries. Prior to 7.0, using -pthread to build
>> shared libraries would not record a dependency on libpthread,
>> whereas in 7.0+ it will record a dependency.
>> Other than that, the only change in 7.0 is that libthr is now the
>> default instead of libkse (nee libpthread).
> Hi Daniel,
> Hmm, well I'm perplexed then. I can't see why
> work/control/build/bsd-i586/bin/java isn't recording the NEEDED on
> libthr.so. Perhaps the -Wl,-soname=lib.so argument or the double
> -pthread is the culprit. Can you experiment on 7.0 to see if they are
> involved at all?
I was able to get jdk16 built on 7.0. Previously (unsuccessfully),
I was trying to use jdk-126.96.36.199p5,1 to build jdk16. When that
didn't work, I installed jdk-188.8.131.52p7_4,1 from a package that
I had built on another box. So using jdk-184.108.40.206p7_4,1, I was
able to build jdk-220.127.116.11p4. I also used the same package
(jdk-18.104.22.168p7_4,1) to update jdk15 to the latest patchset
(jdk-22.214.171.124p8,1). So now the latest patchset of both jdk15
and jdk16 have been built using jdk-126.96.36.199p7_4,1. I have
not tried to rebuild either jdk15 or jdk16 using either of
the up-to-date jdks.
BTW, this was all done manually (cd /usr/ports/java/jdk1X;
make; make install). portupgrade wanted to install compat6x
and diablo for no apparent reason, when there was already
a perfectly good native jdk installed.
BTW2, the build of jdk16 was a lot faster than that of jdk15,
which surprised me.
More information about the freebsd-java