Greetings, I'm having trouble directing Bigloo to use libraries
installed in non-standard locations. Say, I'd like Bigloo to use the
OpenSSL library installed in /home/snyder/openssl instead of that in
/lib64 or /usr/lib or whatever.

My first approach was using LD_RUN_PATH and LDFLAGS, the latter
containing -L/home/snyder/openssl -Xlinker -R/home/snyder/openssl.

This does the trick usually, but in Bigloo's case it wasn't enough since
some (or perhaps all, didn't check) of it's shared libraries
(libbigloo*so) were still linked against the system library. This could
be verified using ldd.

Studying the make output, I found that those libraries are linked using
Bigloo's library directory as rpath, so I put appropriate symlinks in
that place (say, if Bigloo is installed into /home/snyder/bigloo, I put
symlinks from /home/snyder/bigloo/lib to all the libraries in
/home/snyder/openssl/lib). This seems to be sufficient on some of my
systems, but on others even though libbigloo*so picks up the correct
library now, something is still wrong. Namely, my user-installed OpenSSL
does not have SSLv2 support. But it seems that when Bigloo is compiled,
it detects SSLv2 support and activates it. When I later try to build
my own Bigloo programs, I get that SSLv2_client_method is an undefined
symbol. Like I said, this happens on some systems (on Centos for
example) but not on others (Ubuntu for example), which of course may
have hundreds of different reasons.

Could anyone give me a hint how to proceed? How do you link Bigloo
against libraries in non-standard locations - and, in particular, tell
it to ignore the system-wide versions of those libraries?

Thanks a lot!

I'm using the latest stable, 4.1-a2.

Attachment: signature.asc
Description: PGP signature

Reply via email to