pwlib has been broken for some time

Sean McNeil sean at mcneil.com
Thu Feb 15 17:28:15 UTC 2007


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 at energistic.com 
>         Cc: amd64 at 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
>          



More information about the freebsd-amd64 mailing list