[cl-gd-devel] problem compiling cl-gd-glue.c on 64-bit sytem
Jeff Cunningham
jeffrey at cunningham.net
Fri Oct 17 15:55:00 UTC 2008
Jeff Cunningham wrote:
> Has anyone had a problem compiling the cl-gd-glue.c into the shared
> library on a 64-bit system? It's never given me any problem on 32-bit
> systems, and I could swear I've done it on a 64-bit AMD Debian system
> before, but I just tried it on a new one and got this error:
>
> make
> gcc -I/usr/local/include -fPIC -c cl-gd-glue.c
> ld -shared -lgd -lz -lpng -ljpeg -lfreetype -liconv -lm -lc cl-gd-glue.o
> -o cl-gd-glue.so -L/usr/local/lib
> ld: /usr/local/lib/libz.a(compress.o): relocation R_X86_64_32 against `a
> local symbol' can not be used when making a shared object; recompile
> with -fPIC
> /usr/local/lib/libz.a: could not read symbols: Bad value
> make: *** [cl-gd-glue.so] Error 1
>
> I'm trying to install cl-gd-0.5.6 straight from Edi's site. gd-2.0.35 is
> installed, along with the other dependencies. This is puzzling.
>
> Jeff
>
>
Well, I have a solution, but its a hack (for the benefit of anyone else
faced with a similar problem).
Clearly, the linker is prefering to use the static library libz.a
instead of the dynamic one libz.so. Why, I don't know. It works when I
modify the Makefile to this:
cl-gd-glue.so:
gcc -I/usr/local/include -fPIC -c cl-gd-glue.c
ld -shared -lgd /usr/lib/libz.so -lpng -ljpeg -lfreetype -liconv -lm
-lc cl-gd-glue.o -o cl-gd-glue.so -L/usr/local/lib
rm cl-gd-glue.o
Jeff
More information about the Cl-gd-devel
mailing list