I maintain the port math/sage.  The port builds its own version of the
libreadline library.  The port also uses lang/gcc instead of clang,
because the port needs Fortran.

The port is wanting to create a shared library called libR.so, which it
wants to link with the libreadline library it created itself.  So it
issues this kind of command:

gcc46 -Wl,-rpath=path-of-newly-made-library -o libR.so -lreadline

I have left out most of the command for brevity.

Unfortunately the libR.so pulls in /lib/libreadline - the version that
comes with the base FreeBSD.  I thought that -rpath flag was supposed to
tell the linker where to find the library.  But it doesn't.

The failure is when using FreeBSD-10.  With FreeBSD-8 it works great.  I
also assume that gcc46 uses /usr/local/bin/ld instead of /usr/bin/ld,
since devel/binutils is a dependency of lang/gcc.

Can anyone help me?  Is this a bug with FreeBSD?  Or is there some extra
flag I can set with the linker to make it work?  I have tried
-rpath-link and -z origin, but these were random guesses. and I don't
really know what I am doing.

Thanks, Stephen

_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "[email protected]"

Reply via email to