From owner-freebsd-amd64@FreeBSD.ORG Thu Feb 15 17:28:15 2007 Return-Path: X-Original-To: amd64@freebsd.org Delivered-To: freebsd-amd64@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 2D11516A401 for ; Thu, 15 Feb 2007 17:28:15 +0000 (UTC) (envelope-from sean@mcneil.com) Received: from mail.mcneil.com (mcneil.com [24.199.45.54]) by mx1.freebsd.org (Postfix) with ESMTP id 079C913C428 for ; Thu, 15 Feb 2007 17:28:12 +0000 (UTC) (envelope-from sean@mcneil.com) Received: from localhost (localhost.mcneil.com [127.0.0.1]) by mail.mcneil.com (Postfix) with ESMTP id 6E746F19EF; Thu, 15 Feb 2007 09:28:12 -0800 (PST) X-Virus-Scanned: amavisd-new at mcneil.com Received: from mail.mcneil.com ([127.0.0.1]) by localhost (mcneil.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bvhb86ulOQCB; Thu, 15 Feb 2007 09:28:04 -0800 (PST) Received: from [24.199.45.54] (mcneil.com [24.199.45.54]) by mail.mcneil.com (Postfix) with ESMTP id AE0DAF187D; Thu, 15 Feb 2007 09:28:04 -0800 (PST) From: Sean McNeil To: Steve Ames In-Reply-To: <001a01c7511a$e736db40$d200040a@eservoffice.com> References: <000801c7507f$489a7820$3200010a@ferrari> <001a01c7511a$e736db40$d200040a@eservoffice.com> Content-Type: text/plain Date: Thu, 15 Feb 2007 09:28:04 -0800 Message-Id: <1171560484.32243.11.camel@triton.mcneil.com> Mime-Version: 1.0 X-Mailer: Evolution 2.8.3 FreeBSD GNOME Team Port Content-Transfer-Encoding: 7bit Cc: amd64@freebsd.org, steve@energistic.com Subject: Re: pwlib has been broken for some time X-BeenThere: freebsd-amd64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the AMD64 platform List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Feb 2007 17:28:15 -0000 On Thu, 2007-02-15 at 11:03 -0500, Steve Ames wrote: > ? Using the default system gcc? Its definately broke on amd64 using > gcc4.1 due to some 32/64 bit casting errors. But I expect with the > default gcc it should be compiling. Otherwise the automatic port > testing utilitiy would have sent me hate mail. > > http://pointyhat.freebsd.org/errorlogs/ > > Seems to indicate that pwlib is building fine on amd64 under FBSD 5, 6 > and 7. Yes, this is with the default system compiler on 6.2. The problem with the automatic port testing system is that it will not test all configurations. For instance, it doesn't set WITH_DEBUG and it looks like this is the problem. I end up with mkdir -p ../pwlib/device/sound g++ -pipe -g -g -O1 -I/usr/ports/devel/pwlib/work/pwlib_v1_10_3/include -I/usr/local/include -DP_USE_PRAGMA -D_REENTRANT -pthread -Wall -g -D_DEBUG -DNDEBUG -I/usr/ports/devel/pwlib/work/pwlib_v1_10_3/include \ \ -I. -shared sound_oss.cxx -o ../pwlib/device/sound/oss_pwplugin.so /usr/bin/ld: /var/tmp//ccdbuvz1.o: relocation R_X86_64_32S can not be used when making a shared object; recompile with -fPIC /var/tmp//ccdbuvz1.o: could not read symbols: Bad value gmake[4]: *** [../pwlib/device/sound/oss_pwplugin.so] Error 1 gmake[4]: Leaving directory `/usr/ports/devel/pwlib/work/pwlib_v1_10_3/plugins/sound_oss' gmake[3]: *** [debugdepend] Error 2 gmake[3]: Leaving directory `/usr/ports/devel/pwlib/work/pwlib_v1_10_3/plugins' gmake[2]: *** [debugdepend] Error 2 gmake[2]: Leaving directory `/usr/ports/devel/pwlib/work/pwlib_v1_10_3' gmake[1]: *** [libs] Error 2 gmake[1]: Leaving directory `/usr/ports/devel/pwlib/work/pwlib_v1_10_3' gmake: *** [debuglibs] Error 2 *** Error code 2 Stop in /usr/ports/devel/pwlib. It turns out that WITH_DEBUG removes all options that start with -f from within /usr/ports/Mk/bsd.port.mk. This is bad for your port as you add -fPIC in the top Makefile. More appropriately, you should be doing the same thing Solaris or Linux does in the make/unix.mak file and add it in there. > ----- Original Message ----- > From: Sean McNeil > To: steve@energistic.com > Cc: amd64@freebsd.org > Sent: Wednesday, February 14, 2007 4:30 PM > Subject: pwlib has been broken for some time > > > The pwlib port fails to build (and has failed for a little > while) on amd64 because it does not properly compile with > -fPIC. > > Cheers, > Sean >