Date: Wed, 13 Apr 2005 14:16:52 -0700 From: Sean McNeil <sean@mcneil.com> To: Chuck Robey <chuckr@chuckr.org> Cc: freebsd-amd64@FreeBSD.org Subject: Re: amd64 port of transcode broke Message-ID: <1113427012.23700.10.camel@server.mcneil.com> In-Reply-To: <425D8341.6020909@chuckr.org> References: <425D7BBC.5030603@chuckr.org> <425D8341.6020909@chuckr.org>
index | next in thread | previous in thread | raw e-mail
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, Seanhome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1113427012.23700.10.camel>
