Forum OpenACS Q&A: Compiler screams and dies during nsopenssl compilation

I'm following Joel's install guide (and I've looked through Scott's install guide for nsopenssl as well -- they're pretty much the same).

When I get to compilation time:

www:/usr/local/src/aolserver/nsopenssl-2.1# make OPENSSL=/usr/local/src/openssl-0.9.6c
gcc -I/usr/local/src/openssl-0.9.6c/include -I../aolserver/include -D_REENTRANT=1 -DNDEBUG=1 -g -fPIC -Wall -Wno-unused -mcpu=i686 -DHAVE_CMMSG=1 -DUSE_FIONREAD=1 -DHAVE_COND_EINTR=1  -c -o nsopenssl.o nsopenssl.c
gcc -I/usr/local/src/openssl-0.9.6c/include -I../aolserver/include -D_REENTRANT=1 -DNDEBUG=1 -g -fPIC -Wall -Wno-unused -mcpu=i686 -DHAVE_CMMSG=1 -DUSE_FIONREAD=1 -DHAVE_COND_EINTR=1  -c -o config.o config.c
gcc -I/usr/local/src/openssl-0.9.6c/include -I../aolserver/include -D_REENTRANT=1 -DNDEBUG=1 -g -fPIC -Wall -Wno-unused -mcpu=i686 -DHAVE_CMMSG=1 -DUSE_FIONREAD=1 -DHAVE_COND_EINTR=1  -c -o init.o init.c
gcc -I/usr/local/src/openssl-0.9.6c/include -I../aolserver/include -D_REENTRANT=1 -DNDEBUG=1 -g -fPIC -Wall -Wno-unused -mcpu=i686 -DHAVE_CMMSG=1 -DUSE_FIONREAD=1 -DHAVE_COND_EINTR=1  -c -o ssl.o ssl.c
gcc -I/usr/local/src/openssl-0.9.6c/include -I../aolserver/include -D_REENTRANT=1 -DNDEBUG=1 -g -fPIC -Wall -Wno-unused -mcpu=i686 -DHAVE_CMMSG=1 -DUSE_FIONREAD=1 -DHAVE_COND_EINTR=1  -c -o thread.o thread.c
gcc -I/usr/local/src/openssl-0.9.6c/include -I../aolserver/include -D_REENTRANT=1 -DNDEBUG=1 -g -fPIC -Wall -Wno-unused -mcpu=i686 -DHAVE_CMMSG=1 -DUSE_FIONREAD=1 -DHAVE_COND_EINTR=1  -c -o tclcmds.o tclcmds.c
/bin/rm -f nsopenssl.so
gcc -shared -nostartfiles -o nsopenssl.so nsopenssl.o config.o init.o ssl.o thread.o tclcmds.o -L/usr/local/src/openssl-0.9.6c/lib -lssl -lcrypto
/usr/bin/ld: cannot find -lssl
collect2: ld returned 1 exit status
make: *** [nsopenssl.so] Error 1

Any suggestions? I'm not really sure what this means.. I'm on Debian 3.0r1. I downloaded the openssl source code to compile against by doing apt-get source openssl

There are a couple of possible issues.
  1. Looks like the linker is looking for ssl libs (compiling openssl will install libraries in /usr/lib/ssl by default), so just check where Debian puts these.
  2. Versions are important with OpenSSL. The 0.96c is quite old. I think 0.96g was the last, and the latest is 0.97. However 0.97 does change a few default locations and cause a different set of headaches!
Heres an earlier thread on RedHat 9 problems https://openacs.org/forums/message-view?message_id=92882
Hello Jade,

Look for libssl.so in your system and make sure the variable LD_LIBRARY_PATH contains the path to that file, at least that's what I would try.

Hope this helps,

/B

Collapse
Posted by Jade Rubick on
Thanks for your advice, everyone.

I tried LD_LIBRARY_PATH (because that seemed easiest):

# export LD_LIBRARY_PATH=/usr/lib
# make clean
# make OPENSSL=/usr/local/src/openssl-0.9.6c

I get the same error.

So it looks to me like the best route is going to be to download more current OPENSSL source code and link against that. Ug.

Collapse
Posted by Jade Rubick on
Well it looks like the solution is pretty easy:

apt-get install libssl-dev
make OPENSSL=/usr/lib/ssl

That seems to have compiled, at least. I'll forward this on to Joel, so that perhaps he can put this under Debian.