Maurizio,
Thanks for the reply. A Win32 OpenACS....!
I checked my build directory (below) and it has all the files you
mentioned.
I think this is a problem with loading and linking on Solaris.
drwxr-xr-x 6 root root 26 Jul 15 23:54 .
drwxr-xr-x 16 root root 26 Jul 15 23:50 ..
drwxr-xr-x 2 root root 6 Jul 15 23:50 CVS
-rw-r--r-- 1 root root 40468 Nov 20 2004 ChangeLog
-rw-r--r-- 1 root root 3981 Nov 20 2004 Makefile
-rw-r--r-- 1 root root 15485 Aug 25 2004 README
-rw-r--r-- 1 root root 2172 Apr 9 2004 TODO
drwxr-xr-x 3 root root 6 Jul 15 23:50 ca
-rw-r--r-- 1 root root 1450 Jun 23 2004 defaults.h
drwxr-xr-x 3 root root 3 Jul 15 23:50 docs
-rw-r--r-- 1 root root 13877 Jun 16 2004 https.tcl
-rwxr-xr-x 1 root root 1312755 Jul 15 23:51 libnsopenssl.so
-rw-r--r-- 1 root root 8538 Oct 27 2004 nsd.tcl
-rw-r--r-- 1 root root 30910 Nov 20 2004 nsopenssl.c
-rw-r--r-- 1 root root 11117 Mar 28 2006 nsopenssl.h
-rw-r--r-- 1 root root 12496 Jul 15 23:51 nsopenssl.o
-rwxr-xr-x 1 root root 15067 Jul 15 23:54 nsopenssl.so
-rw-r--r-- 1 root root 23439 Mar 28 2006 ssl.c
-rw-r--r-- 1 root root 8648 Jul 15 23:51 ssl.o
-rw-r--r-- 1 root root 51954 Mar 28 2006 sslcontext.c
-rw-r--r-- 1 root root 17484 Jul 15 23:51 sslcontext.o
-rw-r--r-- 1 root root 56427 Jun 13 2004 tclcmds.c
-rw-r--r-- 1 root root 24404 Jul 15 23:51 tclcmds.o
drwxr-xr-x 3 root root 18 Jul 15 23:50 tests
-rw-r--r-- 1 root root 9446 Apr 13 2004 x509.c
-rw-r--r-- 1 root root 5804 Jul 15 23:51 x509.o
-Prem Thomas
On Jul 16, 2009, at 8:54 AM, Maurizio Martignano wrote:
Hello Thomas,
the variable you seem to be missing
Tcl_HashTable NsOpenSSLServers;
is declared inside the file
sslcontext.c
From the errors you're getting I believe you have not included this
file in
your build.
I'm currently working on providing my Win32-OpenACS
http://www.friendlybits.com/en/inf_tec_en/win32openacs_en/
distribution with HTTPS/SSL support and up to now I didn't find any
problem
whatsoever.
Of course I'm using makefiles and development tools different from
yours,
anyhow I believe you should make sure the following files are
included in
your build:
nsopenssl.c
ssl.c
sslcontext.c
tclcmds.c
x509.c
Hope this helps,
Maurizio
-----Original Message-----
From: AOLserver Discussion [mailto:aolser...@listserv.aol.com] On
Behalf Of
Prem Thomas
Sent: 16 July 2009 01:28
To: AOLSERVER@LISTSERV.AOL.COM
Subject: [AOLSERVER] nsopenssl fails to load
I'm having trouble loading nsopenssl with AOLserver 4.5.1. Despite
multiple attempts to address the problem, I'm going nowhere. Details
below. I'd greatly appreciate advice. --Prem Thomas
Details
=======
64-bit x86
OpenSolaris (Nexenta: SunOS 5.11 kernel with a Ubuntu Hardy 8.04
userland)
AOLserver 4.5.1
TCL 8.5.7
OpenSSL 0.9.8k
nsopenssl 3.0.b26
GNU Make 3.81
gcc (GCC) 4.2.3 (Ubuntu 4.2.3-2nexenta7)
Both OpenSSL and nsopenssl built successfully. When I start
AOLserver, I get this fatal error:
[12/Jul/2009:23:26:14][1142.1][-main-] Notice: modload: loading '/usr/
local/aolserver/bin/nsopenssl.so'
[12/Jul/2009:23:26:14][1142.1][-main-] Warning: modload: could not
load /usr/local/aolserver/bin/nsopenssl.so: ld.so.1: nsd: fatal:
relocation error: file /usr/local/aolserver/bin/nsopenssl.so: symbol
NsOpenSSLServers: referenced symbol not found
[12/Jul/2009:23:26:14][1142.1][-main-] Fatal: modload: failed to load
module '/usr/local/aolserver/bin/nsopenssl.so'
After googling around, and reading this: http://openacs.org/forums/
message-view?message_id=51691
I tried building nsopenssl with the -Bstatic flag:
# make install OPENSSL=/usr/local/ssl AOLSERVER=${NS} MODLIBS="-
Bstatic -L${OPENSSL}/lib -lssl -lcrypto -L/usr/lib/gcc/i386-pc-
solaris2.11/4.2.3 -lgcc"
Same error.
I also tried rebuilding OpenSSL with the no-asm config option:
# ./Configure solaris-x86-gcc no-asm
Build succeeded and I rebuilt nsopenssl. But I still get the same
error.
I tried rebuilding nsopenssl with make CC="gcc -fPIC" but this
produced errors:
shlib_target=; if [ -n "" ]; then \
shlib_target="solaris-shared"; \
elif [ -n "" ]; then \
FIPSLD_CC=gcc -fpic; CC=../fips/fipsld; export CC
FIPSLD_CC; \
fi; \
LIBRARIES="-L.. -lssl -L.. -lcrypto" ; \
[ "x" = "xlibfips" ] && LIBRARIES="$LIBRARIES -lfips"; \
make -f ../Makefile.shared -e \
CC=${CC} APPNAME=openssl OBJECTS="openssl.o verify.o
asn1pars.o req.o dgst.o dh.o dhparam.o enc.o passwd.o gendh.o
errstr.o ca.o pkcs7.o crl2p7.o crl.o rsa.o rsautl.o dsa.o dsaparam.o
ec.o ecparam.o x509.o genrsa.o gendsa.o s_server.o s_client.o speed.o
s_time.o apps.o s_cb.o s_socket.o app_rand.o version.o sess_id.o
ciphers.o nseq.o pkcs12.o pkcs8.o spkac.o smime.o rand.o engine.o
ocsp.o prime.o cms.o" \
LIBDEPS=" $LIBRARIES -lsocket -lnsl -ldl" \
link_app.${shlib_target}
make[2]: Entering directory `/usr/local/src/openssl-0.9.8k/apps'
make[2]: pic: No such file or directory
make[2]: *** No rule to make target `pic'. Stop.
I tried adding extra paths to LD_LIBRARY_PATH, but to no avail.
#echo $LD_LIBRARY_PATH
/usr/local/src/aolserver45/nsopenssl:/usr/local/pgsql/lib:/usr/local/
ssl/lib:/usr/local/aolserver/lib:/usr/lib/gcc/i386-pc-
solaris2.11/4.2.3:
Here's a grep of the symbol in the source and aolserver directories:
# grep -r NsOpenSSLServers /usr/local/src/aolserver45/nsopenssl
Binary file ./nsopenssl.o matches
./sslcontext.c:Tcl_HashTable NsOpenSSLServers;
./sslcontext.c: hPtr = Tcl_FindHashEntry(&NsOpenSSLServers,
server);
./nsopenssl.c:extern Tcl_HashTable NsOpenSSLServers;
./nsopenssl.c: Tcl_InitHashTable(&NsOpenSSLServers,
TCL_STRING_KEYS);
./nsopenssl.c: hPtr = Tcl_CreateHashEntry(&NsOpenSSLServers,
server, &new);
Binary file ./nsopenssl.so matches
Binary file ./libnsopenssl.so matches
Binary file ./sslcontext.o matches
# grep -r NsOpenSSLServers /usr/local/aolserverBinary
file /usr/local/aolserver/bin/nsopenssl.so matches
Binary file /usr/local/aolserver/lib/libnsopenssl.so matches
I also tried ldd -d (see http://docs.sun.com/app/docs/doc/
806-1075/6jacsnimr?a=view)
#ldd -d /usr/local/aolserver/bin/nsd
libnsd.so => /usr/local/aolserver/lib/libnsd.so
libnsthread.so => /usr/local/aolserver/lib/
libnsthread.so
libtcl8.5.so => /usr/local/aolserver/lib/libtcl8.5.so
libdl.so.1 => /lib/libdl.so.1
libsocket.so.1 => /lib/libsocket.so.1
libpthread.so.1 => /lib/libpthread.so.1
libm.so.2 => /lib/libm.so.2
libgcc_s.so.1 => /lib/libgcc_s.so.1
librt.so.1 => /lib/librt.so.1
libc.so.1 => /lib/libc.so.1
libnsl.so.1 => /lib/libnsl.so.1
libmp.so.2 => /lib/libmp.so.2
libmd.so.1 => /lib/libmd.so.1
libscf.so.1 => /lib/libscf.so.1
libuutil.so.1 => /lib/libuutil.so.1
libgen.so.1 => /lib/libgen.so.1
--
AOLserver - http://www.aolserver.com/
To Remove yourself from this list, simply send an email to
<lists...@listserv.aol.com> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the
Subject:
field of your email blank.
--
AOLserver - http://www.aolserver.com/
To Remove yourself from this list, simply send an email to
<lists...@listserv.aol.com> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the
Subject: field of your email blank.
--
AOLserver - http://www.aolserver.com/
To Remove yourself from this list, simply send an email to
<lists...@listserv.aol.com> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject:
field of your email blank.