From owner-freebsd-java@FreeBSD.ORG Tue Mar 11 01:30:31 2008 Return-Path: Delivered-To: freebsd-java@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C5E6F1065673 for ; Tue, 11 Mar 2008 01:30:31 +0000 (UTC) (envelope-from kurt@intricatesoftware.com) Received: from mail1.intricatesoftware.com (cl-18.ewr-01.us.sixxs.net [IPv6:2001:4830:1200:11::2]) by mx1.freebsd.org (Postfix) with ESMTP id AF3E68FC13 for ; Tue, 11 Mar 2008 01:30:30 +0000 (UTC) (envelope-from kurt@intricatesoftware.com) Received: from seraph.intricatesoftware.com (relay@localhost.intricatesoftware.com [IPv6:::1]) by mail1.intricatesoftware.com (8.14.1/8.13.4) with ESMTP id m2B1U3r6010656; Mon, 10 Mar 2008 21:30:06 -0400 (EDT) Received: from seraph.intricatesoftware.com (truk@localhost.intricatesoftware.com [127.0.0.1]) by seraph.intricatesoftware.com (8.14.1/8.14.1) with ESMTP id m2B1U3qN029048; Mon, 10 Mar 2008 21:30:03 -0400 (EDT) Received: (from truk@localhost) by seraph.intricatesoftware.com (8.14.1/8.14.1/Submit) id m2B1U28D032104; Mon, 10 Mar 2008 21:30:02 -0400 (EDT) X-Authentication-Warning: seraph.intricatesoftware.com: truk set sender to kurt@intricatesoftware.com using -f From: Kurt Miller To: freebsd-java@freebsd.org Date: Mon, 10 Mar 2008 20:30:01 -0500 User-Agent: KMail/1.9.7 References: <20080309220029.GB93340@llama.fishballoon.org> <200803100932.37017.lists@intricatesoftware.com> <20080310231803.GC22200@tuatara.fishballoon.org> In-Reply-To: <20080310231803.GC22200@tuatara.fishballoon.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200803102130.02371.kurt@intricatesoftware.com> X-SMTP-Vilter-Version: 1.3.6 X-SMTP-Vilter-Virus-Backend: clamd X-SMTP-Vilter-Status: clean X-SMTP-Vilter-clamd-Virus-Status: clean X-Spamd-Symbols: ALL_TRUSTED,BAYES_00 X-SMTP-Vilter-Spam-Backend: spamd X-Spam-Score: -4.4 X-Spam-Threshold: 5.0 X-Spam-Probability: -0.9 X-SMTP-Vilter-Unwanted-Backend: attachment X-SMTP-Vilter-attachment-Unwanted-Status: clean Cc: Scott Mitchell Subject: Re: jdk16 build failure on 7.0R/i386 X-BeenThere: freebsd-java@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting Java to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Mar 2008 01:30:31 -0000 On Monday 10 March 2008 7:18:03 pm Scott Mitchell wrote: > On Mon, Mar 10, 2008 at 08:32:36AM -0500, Kurt Miller wrote: > > This look like another case of the jvm not being linked to a thread library. > > At least the 'Dynamic libraries:' section of the crash report doesn't list a > > thread library. What does ldd show? > > > > ldd /var/tmp/usr/ports/java/jdk16/work/control/build/bsd-i586/bin/java > > > > Can you extract the portion of the build log that shows the link command > > for the 'java' executable? It should look something like this: > > Hi Kurt, > > Here you go - I saved the entire log so just let me know if you need to see > any more of it: > > Rebuilding /var/tmp/usr/ports/java/jdk16/work/control/build/bsd-i586/bin/java because of /var/tmp/usr/ports/java/jdk16/work/control/build/bsd-i586/tmp/java/java/obj/java.o /var/tmp/usr/ports/java/jdk16/work/control/build/bsd-i586/tmp/java/java/obj/java_md.o /var/tmp/usr/ports/java/jdk16/work/control/build/bsd-i586/tmp/java/java/obj/splashscreen_stubs.o > /usr/bin/gcc -o /var/tmp/usr/ports/java/jdk16/work/control/build/bsd-i586/bin/java -L/var/tmp/usr/ports/java/jdk16/work/control/build/bsd-i586/lib/i386 -Wl,-soname=lib.so -Wl,--whole-archive /var/tmp/usr/ports/java/jdk16/work/control/build/bsd-i586/tmp/java/jli/obj/static/libjli.a -Wl,--no-whole-archive \ > /var/tmp/usr/ports/java/jdk16/work/control/build/bsd-i586/tmp/java/java/obj/java.o /var/tmp/usr/ports/java/jdk16/work/control/build/bsd-i586/tmp/java/java/obj/java_md.o /var/tmp/usr/ports/java/jdk16/work/control/build/bsd-i586/tmp/java/java/obj/splashscreen_stubs.o -pthread -pthread > gmake[4]: Leaving directory `/var/tmp/usr/ports/java/jdk16/work/j2se/make/java/main/java' > Hi, Weird. It seems like gc(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 executable doesn't reference any pthread symbols. I suspect that in 7.X if the executable doesn't reference any pthread symbols it wont record the NEEDED entry. You can verify that for me with the following test on 7.0: === k.c ==== int main(void) { return 0; } ========= $ cc k.c -pthread && ldd a.out a.out: libpthread.so.2 => /usr/lib/libpthread.so.2 (0x80062a000) libc.so.6 => /lib/libc.so.6 (0x800755000) Do you get similar ldd output on 7.0? -Kurt