This is a little off-topic, but I thought it was still worth writing to
the list.

I'm moving some of my flow-regime to a new amd64 machine (yeah!), and I'm
building it out with some of the requisite software, namely flow-tools and
(in my case) the Cflow perl module.  I followed the Cflow build
instructions but I got into trouble:

#make
rm -f blib/arch/auto/Cflow/Cflow.so
LD_RUN_PATH="/usr/lib" cc  -shared  -L/usr/local/lib Cflow.o  -o
blib/arch/auto/Cflow/Cflow.so
-L/usr/ports/net-mgmt/flow-tools/work/flow-tools-0.67/contrib/Cflow-1.051/../../lib
 -lft -lz   
/usr/bin/ld: /usr/local/lib/libft.a(ftio.o): relocation R_X86_64_32 can
not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libft.a: could not read symbols: Bad value
*** Error code 1

Stop in
/usr/ports/net-mgmt/flow-tools/work/flow-tools-0.67/contrib/Cflow-1.051.

I was able to get it to build by doing some make hacking:

>From the FreeBSD port I did this:

make extract && make configure

Then I hacked /usr/ports/net-mgmt/flow-tools/work/flow-tools-0.67/lib/Makefile
and added -fPIC to the CFLAGS line.  A subsequent make and make install
worked fine, then building and installing Cflow worked fine too.  And,
last but not least, it looks like the installed result also works fine :)

I read the gcc man page about fPIC and I understood the words, but I don't
understand the deeper implications...have I done something that's going to
really hurt later?  Or is this something we should commit as a chane to
the lib configuration?

Thanks for any advice,

Mike
_______________________________________________
Flow-tools mailing list
[EMAIL PROTECTED]
http://mailman.splintered.net/mailman/listinfo/flow-tools

Reply via email to