[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