amd64 port of transcode broke

Sean McNeil sean at mcneil.com
Wed Apr 13 14:16:55 PDT 2005


On Wed, 2005-04-13 at 20:38 +0000, Chuck Robey wrote:
> Sean McNeil wrote:
> > On Wed, 2005-04-13 at 20:06 +0000, Chuck Robey wrote:
> > 
> >>The port of multimedia/transcode is busted.  That won't surprise you 
> > 
> > 
> > Actually, from your error below it is not transcode that is busted, but
> > your libXaw.
> > 
> > 
> >>unduly, but the error is one I would very much like to learn about, so 
> >>if you can help, please please do.  The error from the build listing (I 
> >>always capture build listings) is:
> >>
> >>/bin/sh /usr/local/bin/libtool13 --mode=link cc  -Wall 
> >>-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2
> >>  -fno-strict-aliasing -pipe  -L/usr/local/lib -L/usr/X11R6/lib -o 
> >>filter_subtitler.la -rpath /usr/local/lib/transcode -modu
> >>le -avoid-version filter_subtitler.lo load_ppml_file.lo load_font.lo 
> >>frame_list.lo object_list.lo x11.lo text_processing.lo
> >>  load_pictures.lo parser.lo external_programs.lo color_processor.lo 
> >>-L/usr/X11R6/lib -lSM -lICE -lXext -lX11  -lXpm -lXaw -
> >>lXt -lm -L/usr/local/lib -Wl,--rpath -Wl,/usr/local/lib -lfreetype -lz 
> >>-L/usr/local/lib -liconv  -liconv -lm -lz
> >>rm -fr .libs/filter_subtitler.la .libs/filter_subtitler.* 
> >>.libs/filter_subtitler.*
> >>cc -shared  -Wl,--rpath -Wl,/usr/local/lib/transcode 
> >>filter_subtitler.lo load_ppml_file.lo load_font.lo frame_list.lo obje
> >>ct_list.lo x11.lo text_processing.lo load_pictures.lo parser.lo 
> >>external_programs.lo color_processor.lo  -L/usr/local/lib -
> >>L/usr/X11R6/lib -lSM -lICE -lXext -lX11 -lXpm -lXaw -lXt -lm -lfreetype 
> >>-lz -liconv -liconv -lm -lz  -Wl,-soname -Wl,filter
> >>_subtitler.so -o .libs/filter_subtitler.so
> >>/usr/bin/ld: /usr/X11R6/lib/libXaw.a(Simple.o): relocation R_X86_64_32 
> >>can not be used when making a shared object; recompi
> >>le with -fPIC
> >>/usr/X11R6/lib/libXaw.a: could not read symbols: Bad value
> >>gmake[3]: *** [filter_subtitler.la] Error 1
> > 
> > 
> > You are missing a shared library.  It should have picked up libXaw.so,
> > not libXaw.a.  You should reinstall the port that has libXaw - for me, I
> > use xorg-libraries-6.8.2.  The file(s) should
> > be /usr/X11R6/lib/libXaw.so*.  Check that they exist and have proper
> > symlinks.
> 
> Well, yes and no.
> 
> You got it right, I had some funny business, and a bad link to 
> libXaw.so.8, so I went into /usr/X11R6/lib and fixed it up, then 
> reinit'ed ldconfig, and checked it with ldconfig -r, it's all right now. 
>   There IS a libXaw.a.  Unfortunately, you don't get a prize for being 
> right, because after that, I cleaned it up to start from scratch, and 
> the EXACT same error pops up.

Of course there IS a libXaw.a.  It is complaining about it.  There
exists a symbol in the libXaw.a library that is using relocation
R_X86_64_32 and that is not compatible with position-independent code
(PIC).  Shared libraries must be build with all-PIC.

> > This is an error indicating that you are mixing PIC and non-PIC code
> > together.  Everything that goes into a shared library for amd64 needs to
> > be compiled -fPIC, but libXaw.a is not built that way.
> 
> Well that's fascinating, any notion where you got that info?

>From years of experience :)  Specifically with compilers and other
tools.

> As an experiment, I will go ahead and use the /usr/ports/x11/libXaw port 
> to reinstall libXaw again.

I'm not sure where you are getting that port.  I have no such port in my
ports directory.  Are you, perchance, using some older repository of the
ports collection?  If so, I would strongly suggest that you cvsup to a
more recent one as amd64 support in ports is not all that old.  I would
suggest you try the following and make sure that the library is coming
from only one source:

find /var/db/pkg/ -name "+CONTENTS" -print0 | xargs -0 grep libXaw\.so

Mine shows

/var/db/pkg/xorg-libraries-6.8.2/+CONTENTS:lib/libXaw.so
/var/db/pkg/xorg-libraries-6.8.2/+CONTENTS:lib/libXaw.so.6
/var/db/pkg/xorg-libraries-6.8.2/+CONTENTS:lib/libXaw.so.7
/var/db/pkg/xorg-libraries-6.8.2/+CONTENTS:lib/libXaw.so.8
/var/db/pkg/linux-XFree86-libs-4.3.99.902_2/+CONTENTS:usr/X11R6/lib/libXaw.so.6
/var/db/pkg/linux-XFree86-libs-4.3.99.902_2/+CONTENTS:usr/X11R6/lib/libXaw.so.6.1
/var/db/pkg/linux-XFree86-libs-4.3.99.902_2/+CONTENTS:usr/X11R6/lib/libXaw.so.7
/var/db/pkg/linux-XFree86-libs-4.3.99.902_2/+CONTENTS:usr/X11R6/lib/libXaw.so.7.0

HTH,
Sean




More information about the freebsd-amd64 mailing list