[Gelistirici] daq x86_64 derleme problemi
Onur Küçük
onur at pardus.org.tr
12 Şub 2011 Cmt 16:34:00 EET
On Sat, 12 Feb 2011 16:04:14 +0200
Erdem Bayer <ebayer at pardus.org.tr> wrote:
> Selamlar
>
> [1] adresindeki paketin bağımlılığı olan daq paketi x86_64 üzerinde
> iptables paketinin -fPIC ile derlenmesini istiyor.
>
> libtool: link: x86_64-pc-linux-gnu-gcc
> -shared .libs/daq_ipq_la-daq_ipq.o -Wl,-rpath
> -Wl,/var/pisi/daq-0.5-1/work/daq-0.5/sfbpf/.libs -lipq
> -ldnet ../sfbpf/.libs/libsfbpf.so -lpcap -mtune=generic -march=x86-64
> -Wl,-O1 -Wl,-z -Wl,relro -Wl,--hash-style=gnu -Wl,--as-needed
> -Wl,--sort-common -Wl,-soname -Wl,daq_ipq.so -o .libs/daq_ipq.so
> /usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.5/../../../../lib/libipq.a
> (libipq.o): relocation R_X86_64_32S against `ipq_errmap' can not be
> used when making a shared object; recompile with
> -fPIC /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.5/../../../../lib/libipq.a:
> could not read symbols: Bad value collect2: ld returned 1 exit status
>
> 2011 ve Kurumsal2 depolarındaki iptables paketinin actions.py'si içine
> aşağıdaki satırı eklememde bir sakınca var mıdır?
>
> if get.ARCH() == "x86_64":
> shelltools.export("CPPFLAGS","-fPIC")
CPPFLAGS değil de CFLAGS CXXFLAGS FFLAGS lara ekleme yaparak
değiştirmen daha iyi olur, ayrıca mimari bağımsız yapıp geçelim ARCH
kontrolüne gerek yok.
Bir de, depoda kolay kolay statik kitaplığa izin vermiyoruz, iptables
dan .a çıkmamalıydı, onları iptables paketinden silmemiz iyi olur
(örneğin Fedora paketlerinden .a lar çıkmıyor). Hala -fPIC eklemek iyi
olur tabi.
--
Onur Küçük Knowledge speaks,
<onur.--.-.pardus.org.tr> but wisdom listens
Gelistirici mesaj listesiyle ilgili
daha fazla bilgi