Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 15 Feb 2007 09:28:04 -0800
From:      Sean McNeil <sean@mcneil.com>
To:        Steve Ames <steve@virtual-voodoo.com>
Cc:        amd64@freebsd.org, steve@energistic.com
Subject:   Re: pwlib has been broken for some time
Message-ID:  <1171560484.32243.11.camel@triton.mcneil.com>
In-Reply-To: <001a01c7511a$e736db40$d200040a@eservoffice.com>
References:  <000801c7507f$489a7820$3200010a@ferrari> <001a01c7511a$e736db40$d200040a@eservoffice.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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
>          




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1171560484.32243.11.camel>