[eside-ghost] Compilar librería dinámica en amd64

Jon Urionaguena juriona en nesys-st.com
Mar Abr 29 18:02:54 CEST 2008


Aupi,

Quiero generar una librería dinámica de dos ficheros objeto y tengo esta 
línea de bash para hacerlo, según me explica el manual...
 
#gcc  -shared -W1,-soname -W1,libxxx.so -o libpxxx.so objeto1.o 
objeto2.o  -lc

Y me da error:
/usr/bin/ld: objeto1.o: no se puede usar la reubicación R_X86_64_32 
contra `a local symbol' cuando se hace un objeto compartido; recompile 
con -fPIC
objeto1.o: no se puede leer sí­mbolos: Valor erróneo

En arquitectura amd64, parece ser que para ello, hay que añadirle al 
compilador el indicador -fPIC [1] (Código independiente de la posición), 
así que añado:

#gcc -fPIC blablabla

Y me da mismo error. He probado CFLAGS="-fPIC", incluso LDFLAGS (ya que 
es error del linker), y ya para volverme loco CXXFLAGS y tal.

¿Qué hago mal?

Eskerrik asko,

[1] 
http://www.gentoo.org/proj/es/base/amd64/howtos/index.xml?part=1&chap=3 
<http://www.gentoo.org/proj/es/base/amd64/howtos/index.xml?part=1&chap=3>

-- 

Jon 



Más información sobre la lista de distribución eside-ghost