From owner-freebsd-java@FreeBSD.ORG Fri Mar 14 03:48:53 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 031DA106566B for ; Fri, 14 Mar 2008 03:48:53 +0000 (UTC) (envelope-from deischen@freebsd.org) Received: from mail.netplex.net (mail.netplex.net [204.213.176.10]) by mx1.freebsd.org (Postfix) with ESMTP id 950238FC18 for ; Fri, 14 Mar 2008 03:48:52 +0000 (UTC) (envelope-from deischen@freebsd.org) Received: from sea.ntplx.net (sea.ntplx.net [204.213.176.11]) by mail.netplex.net (8.14.2/8.14.2/NETPLEX) with ESMTP id m2E3md6S026087; Thu, 13 Mar 2008 23:48:39 -0400 (EDT) X-Virus-Scanned: by AMaViS and Clam AntiVirus (mail.netplex.net) X-Greylist: Message whitelisted by DRAC access database, not delayed by milter-greylist-4.0 (mail.netplex.net [204.213.176.10]); Thu, 13 Mar 2008 23:48:39 -0400 (EDT) Date: Thu, 13 Mar 2008 23:48:39 -0400 (EDT) From: Daniel Eischen X-X-Sender: eischen@sea.ntplx.net To: Kurt Miller In-Reply-To: <47D5FAEF.3080900@intricatesoftware.com> Message-ID: References: <20080309220029.GB93340@llama.fishballoon.org> <200803100932.37017.lists@intricatesoftware.com> <20080310231803.GC22200@tuatara.fishballoon.org> <200803102130.02371.kurt@intricatesoftware.com> <47D5FAEF.3080900@intricatesoftware.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: Scott Mitchell , freebsd-java@freebsd.org Subject: Re: jdk16 build failure on 7.0R/i386 X-BeenThere: freebsd-java@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Daniel Eischen List-Id: Porting Java to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Mar 2008 03:48:53 -0000 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 >>> 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. >> >> No, for binaries it works the same way on 7.x as 6.x. >> >> $ gcc -o k k.c -pthread >> $ ldd k >> 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-1.5.0.11p5,1 to build jdk16. When that didn't work, I installed jdk-1.5.0.13p7_4,1 from a package that I had built on another box. So using jdk-1.5.0.13p7_4,1, I was able to build jdk-1.6.0.3p4. I also used the same package (jdk-1.5.0.13p7_4,1) to update jdk15 to the latest patchset (jdk-1.5.0.14p8,1). So now the latest patchset of both jdk15 and jdk16 have been built using jdk-1.5.0.13p7_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. -- DE