Philipp Thomas wrote:
* David Liontooth (liontooth@cogweb.net) [20040219 10:03]:
/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.1/../../../../x86_64-suse-linux/bin/ld: /usr/local/lib/liba52.a(parse.o): relocation R_X86_64_32S can not be used when making a shared object; recompile with -fPIC
That's to be expected. You can't mix PIC and non-PIC code.
I'm a dolt at this stuff; how do I recompile with -fPIC? I realize it's a gcc flag, but I compile by typing "make".
Search for the variable CFLAGS in Makefile and add -fPIC to it.
Do I recompile a52dec or transcode?
As liba52 is part of a52dec, this is the package to recompile.
Philipp
Thanks, that's very helpful. When I compile I see this: /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../include -I../include -I../include -g -O3 -fomit-frame-pointer -prefer-non-pic -c parse.c So there's a -prefer-non-pic. In the Changelog is this entry: a52dec-0.7.2 Sun Dec 16 14:39:56 PST 2001 -demuxer improvements, with support for TS streams. -smaller demux buffer, making it easier to use a52dec as a pipe -wav output -avoid -fPIC when possible (-prefer-non-pic) -support for vc++ and TenDRA -portability fixes There's no CFLAGS variable in the Makefile, but in the configure file there's this: LIBA52_CFLAGS="$LIBA52_CFLAGS -prefer-non-pic" I substituted -fPIC and recompiled -- the line above now comes out /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../include -I../include -I../include -g -O3 -fomit-frame-pointer -fPIC -c parse.c Transcode compiles; I'll ask the a52dec people what the problem is with using -fPIC. Cheers, David