FS#5642 - [x86_64] missing -fPIC in some static libraries iptable
|
Details
I use Arch64 with an AMD64. With this architecture, it seems
that every object (.o) need to be compiled with the -fPIC
option.
When I wan't to build shared libraries with "not -fPIC object files" or "not -fPIC .a libraries", I get an error. In this case with iptables, I can't build nepenthes with the current iptables package because of this issue : the library libipq.a isn't built with -fPIC. I checked the build process, the other parts of iptables are built with -fPIC I fixed it in the PKGBUILD using sed '3 iCC+= -fPIC' -i libiptc/Makefile || return 1 sed '3 iCC+= -fPIC' -i libipq/Makefile || return 1 I already had this issue with some packages in AUR. It seems to be a global issue with x86_64 architecture, when Makefiles are missing to build some objects with CFLAGS. What is -fPIC exacly doing ? Why is it needed ? |
This task depends upon
sed "s/CC = gcc/CC = gcc -fPIC/" -i Makefile || return 1
sed "s/CC = gcc/CC = gcc -fPIC/" -i sample/Makefile || return 1
sed "s/CC = gcc/CC = gcc -fPIC/" -i src/Makefile || return 1
Yet I can link libnet in my programs.
i cannot find fPIC hacks in other major x86_64 bit distros. so if the problem still exists please open new tasks for each pkg you think needs to be fixed. mark it with [arch64] or x86_64 in the topic. also report what depending pkg you try to build.