Glad, that the problems are solved. There are many ways to address the issue.

Now, since OpenSSL 1.1.1 is finally released, i hope it is adoped soon by the common distros to give users little reason to use their own compiled version of OpenSSL.

all the best
-gn

On 23.09.18 17:23, THORPE MAYES via naviserver-devel wrote:
Dear Gustav,

Thank you very much for your help.

Here is what I ended up doing:

1. I installed OpenSSL in its standard location (/usr/local)

2. I added -with-openssl=/usr/local/ to the ./config command in your bash script per your direction

3. I added these symlinks to /usr/local/ns/lib:

[root@centos-s-1vcpu-1gb-sfo2-01-d2 lib]# ln -s /usr/local/lib64/libssl.so.1.1 libssl.so.1.1 [root@centos-s-1vcpu-1gb-sfo2-01-d2 lib]# ln -s /usr/local/lib64/libcrypto.so.1.1 libcrypto.so.1.1 [root@centos-s-1vcpu-1gb-sfo2-01-d2 lib]# ln -s /usr/local/lib64/libssl.so libssl.so [root@centos-s-1vcpu-1gb-sfo2-01-d2 lib]# ln -s /usr/local/lib64/libcrypto.so libcrytpo.so [root@centos-s-1vcpu-1gb-sfo2-01-d2 lib]# ln -s /usr/local/lib64/libcrypto.a libcrytpo.a [root@centos-s-1vcpu-1gb-sfo2-01-d2 lib]# ln -s /usr/local/lib64/libssl.a libssl.a

I am not sure that I needed them all, but no harm.

Those changes resulted in naviserver being installed via the script.

Again, thank you.

Thorpe



On Sep 23, 2018, at 5:42 AM, Gustaf Neumann <neum...@wu.ac.at <mailto:neum...@wu.ac.at>> wrote:

Dear Thorpe,

The function 'SSL_is_init_finished' (not found in your installation) is available in OpenSSL at least since 1.0.2, so it looks to me as if you compiled against recent .h files of OpenSSL, but you tried to link against an old version of OpenSSL, which does not have these functions.

The see various versions of OpenSSL libraries on your system, and these containing the
function "OPENSSL_init_ssl", use a command like the following

    for l in `locate libssl.a` ; do echo $l; nm $l | fgrep OPENSSL_init_ssl; done

Assuming, you have installed OpenSSL-1.1.1 under /usr/local, then configure naviserver
with
     ./configure ... -with-openssl=/usr/local/

This should add the proper "-L..." option to the linking command.

Alternatively, you can install OpenSSL into /usr/local/ns. The mentioned script does similar with Tcl and tcllib. This keeps the the libraries used by NaviSever more independent of the packaged updates on your system.

all the best
-gn

On 22.09.18 18:19, THORPE MAYES via naviserver-devel wrote:
Hi,

I am trying to install Naviserver using this script:

install-ns.sh

I have installed Openssl-1.1.1.

I am getting this error:

gcc -L../nsthread -L../nsd -L../nsdb -o nsd main.o libnsd.so -lz -lcrypt -lnsthread -L/usr/local/ns/lib -ltcl8.6 -lgcc_s  -lieee -lm  -Wl,--export-dynamic -L/usr/local/ns/lib -lssl -lcrypto -Wl,-rpath,:/usr/local/ns/lib
libnsd.so: undefined reference to `EVP_MD_CTX_new'
libnsd.so: undefined reference to `HMAC_CTX_free'
libnsd.so: undefined reference to `SSL_is_init_finished'
libnsd.so: undefined reference to `OPENSSL_init_ssl'
libnsd.so: undefined reference to `OpenSSL_version'
libnsd.so: undefined reference to `OPENSSL_init_crypto'
libnsd.so: undefined reference to `TLS_client_method'
libnsd.so: undefined reference to `EVP_MD_CTX_free'
libnsd.so: undefined reference to `HMAC_CTX_new'
libnsd.so: undefined reference to `TLS_server_method'
collect2: error: ld returned 1 exit status
make[1]: *** [nsd] Error 1
make[1]: Leaving directory `/usr/local/package/naviserver-4.99.16/nsd'
make: *** [all] Error 1

I am not sure where to go from here. Any help will be appreciated.

Thank you,

Thorpe



_______________________________________________
naviserver-devel mailing list
naviserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/naviserver-devel

Reply via email to