Hey,

        Not sure if this has been posted so I figured some one else may need 
this.

I was having an issue building IPTables::IPv4 on Centos5/REHL5 when I
did a x86_64 install, the hardware is AMD64. I could build the module
fine if I did a i386 install.

I believe the problem is because of this gcc bug:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19545

All the solutions say to add the "-fPIC" flag:

--snip--
-fPIC
            If supported for the target machine, emit
position-independent code, suitable for dynamic linking and avoiding any
limit on the size of the global offset table.  This option makes a
difference on the m68k, PowerPC and SPARC.

            Position-independent code requires special support, and
therefore works only on certain machines.
--snip--

The compile error returned during make:
--snip--
gcc  -shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic IPv4.o
loader.o packer.o unpacker.o maskgen.o libiptc/libiptc.a  -o
blib/arch/auto/IPTables/IPv4/IPv4.so        \
                 \

/usr/bin/ld: libiptc/libiptc.a(libip4tc.o): relocation R_X86_64_32S
against `iptc_next_chain' can not be used when making a shared object;
recompile with -fPIC

libiptc/libiptc.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [blib/arch/auto/IPTables/IPv4/IPv4.so] Error 1
--snip--

So if you check the Makefile the -fPIC flag is added, however there are
two other Makefile's:
modules/Makefile
libiptc/Makefile

You need to add the -fPIC flag in both of those also:
modules/Makefile:
CFLAGS := ... -fPIC

libiptc/Makefile:
CFLAGS := ... -fPIC

You will have to run a make clean && perk MakeFile.PL before you can run
a make again.


--
Michael Gale

Red Hat Certified Engineer
Network Administrator
Pason Systems Corp.

"To do what others cannot do is talent. To do what talent cannot do is
genius." - Will Henry


--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to