typpo / rfc5766-turn-server

Automatically exported from code.google.com/p/rfc5766-turn-server
1 stars 0 forks source link

"Make" and "Make Install" for 4.4.5.1 Turnserver Fails with an Error 1 output #145

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1.running the "TURN_NO_SCTP=1 ./configure"
2.running the "make"
3.Running the "make install" command

What is the expected output? What do you see instead?
I have uninstalled the older version of turn server,and then I run the 
configure again and make
This is what I get when I run the "make" command.
mkdir -p lib
ar -r lib/libturnclient.a build/obj/ns_turn_ioaddr.o 
build/obj/ns_turn_msg_addr.o build/obj/ns_turn_msg.o
pwd
/u/home/oracle/stun/turnserver-4.4.5.1
mkdir -p bin
cc  -g  -Wall -Wno-deprecated-declarations -Wextra -Wformat-security 
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith 
-Wcast-qual -I/usr/local/include -I/usr/local/include/ -I/usr/local/include  
-D_GNU_SOURCE -DTURN_HAS_DAEMON -DTURN_NO_SCTP      -DINSTALL_PREFIX=/usr/local 
-DTURNDB=/usr/local/var/db/turndb -Isrc -Isrc/apps/common -Isrc/server 
-Isrc/client -Isrc/client++ -I/usr/local/include/ -I/usr/local/include/  
src/apps/stunclient/stunclient.c src/apps/common/apputils.c 
src/apps/common/ns_turn_utils.c src/apps/common/stun_buffer.c -o 
bin/turnutils_stunclient -Llib -lturnclient -Llib -L/usr/local/lib/ 
-L/usr/local/lib/ -L/usr/local/lib64/ -L/usr/local/lib64/ -lrt -lnsl -lresolv 
-lcrypto -lssl -levent_core -levent_extra -levent_openssl -levent_pthreads 
-lsqlite3  -Wl,-rpath,/usr/local/lib/ -Wl,-rpath,/usr/local/lib/ 
-Wl,-rpath,/usr/local/lib64/ -Wl,-rpath,/usr/local/lib64/ 
-Wl,-rpath,/usr/lib64/pgsql -Wl,-rpath,/usr/lib/mysql 
-Wl,-rpath,/usr/lib64/mysql -Wl,-rpath,/usr/local/lib
/usr/local/lib64//libssl.a(s3_clnt.o): In function `ssl_do_client_cert_cb':
s3_clnt.c:(.text+0x71): undefined reference to `ENGINE_load_ssl_client_cert'
/usr/local/lib64//libssl.a(s3_clnt.o): In function 
`ssl3_send_client_certificate':
s3_clnt.c:(.text+0x4877): undefined reference to `ENGINE_load_ssl_client_cert'
/usr/local/lib64//libssl.a(d1_srvr.o): In function 
`dtls1_send_server_key_exchange':
d1_srvr.c:(.text+0xb65): undefined reference to `EVP_ecdsa'
/usr/local/lib64//libssl.a(ssl_sess.o): In function 
`SSL_CTX_set_client_cert_engine':
ssl_sess.c:(.text+0x2e4): undefined reference to 
`ENGINE_get_ssl_client_cert_function'
/usr/local/lib64//libssl.a(tls_srp.o): In function `SRP_Calc_A_param':
tls_srp.c:(.text+0x27a): undefined reference to `SRP_Calc_A'
/usr/local/lib64//libssl.a(tls_srp.o): In function `srp_verify_server_param':
tls_srp.c:(.text+0x34f): undefined reference to `SRP_check_known_gN_param'
/usr/local/lib64//libssl.a(tls_srp.o): In function 
`SRP_generate_client_master_secret':
tls_srp.c:(.text+0x3a9): undefined reference to `SRP_Verify_B_mod_N'
tls_srp.c:(.text+0x3cb): undefined reference to `SRP_Calc_u'
tls_srp.c:(.text+0x415): undefined reference to `SRP_Calc_x'
tls_srp.c:(.text+0x44a): undefined reference to `SRP_Calc_client_key'
/usr/local/lib64//libssl.a(tls_srp.o): In function 
`SRP_generate_server_master_secret':
tls_srp.c:(.text+0x597): undefined reference to `SRP_Verify_A_mod_N'
tls_srp.c:(.text+0x5bc): undefined reference to `SRP_Calc_u'
tls_srp.c:(.text+0x5ec): undefined reference to `SRP_Calc_server_key'
/usr/local/lib64//libssl.a(tls_srp.o): In function 
`SSL_set_srp_server_param_pw':
tls_srp.c:(.text+0xb45): undefined reference to `SRP_get_default_gN'
tls_srp.c:(.text+0xbca): undefined reference to `SRP_create_verifier_BN'
/usr/local/lib64//libssl.a(tls_srp.o): In function 
`SSL_srp_server_param_with_username':
tls_srp.c:(.text+0xcaa): undefined reference to `SRP_Calc_B'
collect2: ld returned 1 exit status
make: *** [bin/turnutils_stunclient] Error 1

What version of the product are you using? On what operating system?
turnserver-4.4.5.1.RedHat Enterprise Linux(RHEL)5.9

Please provide any additional information below.

Original issue reported on code.google.com by ghwil...@gmail.com on 27 May 2015 at 8:28

GoogleCodeExporter commented 9 years ago
4.4.5.1 is a coturn version, this is not rfc5766-turn-server. I'd recommend 
submitting the issues in the coturn page for that. 

I do not think that we support RedHat 5. It is rather old Linux and we do not 
have it for testing. If I'll find one, we can try to fix it.

What version of OpenSSL you are using ?

Original comment by mom040...@gmail.com on 27 May 2015 at 6:12

GoogleCodeExporter commented 9 years ago
I could not find RedHat 5.9, but I got CentOS 5.11 and tried the installation:

I made the following test:

1) Installed CentOS 5.11 Server
2) Installed gcc:
  $ sudo yum install -y gcc
3) Installed openssl-devel:
  $ sudo yum install -y openssl-devel
4) Installed libevent:
  $ wget -k --no-check-certificate https://sourceforge.net/projects/levent/files/libevent/libevent-2.0/libevent-2.0.22-stable.tar.gz
  $ tar xvfz libevent-2.0.22-stable.tar.gz 
  $ cd libevent-2.0.22-stable
  $ ./configure
  $ make
  $ sudo make install
5) Configure coturn without SQLite and SCTP:
  $ cd coturn
  $ TURN_NO_SQLITE=1 TURN_NO_SCTP=1 ./configure
  $ make

Everything went successfully.

Probably you did not install openssl-devel properly, or else, or you have to 
upgrade to RedHat 5.11 (or to RedHat 7, better), or you system is messed up.

I'll find out why SQLite and SCTP supports are not compiling properly.

Original comment by mom040...@gmail.com on 28 May 2015 at 4:09

GoogleCodeExporter commented 9 years ago
@mom040..@gmail.com .The version of OpenSSL I use is 1.0.2a.I have try install 
the 3.2.3.95 version of turnserver again,but it still output the same error.

mkdir -p lib
ar -r lib/libturnclient.a build/obj/ns_turn_ioaddr.o 
build/obj/ns_turn_msg_addr.o build/obj/ns_turn_msg.o
pwd
/u/home/oracle/stun/turnserver-3.2.3.95
mkdir -p bin
cc  -g  -Wall -Wno-deprecated-declarations -Wextra -Wformat-security 
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith 
-Wcast-qual -I/usr/local/include -I/usr/local/include/ -I/usr/local/include  
-D_GNU_SOURCE -DTURN_HAS_DAEMON  -DTURN_NO_DTLS  -DINSTALL_PREFIX=/usr/local 
-Isrc -Isrc/apps/common -Isrc/server -Isrc/client -Isrc/client++ 
-I/usr/local/include/ -I/usr/local/include/  src/apps/stunclient/stunclient.c 
src/apps/common/apputils.c src/apps/common/ns_turn_utils.c 
src/apps/common/stun_buffer.c -o bin/turnutils_stunclient -Llib -lturnclient 
-Llib -L/usr/local/lib/ -L/usr/local/lib/ -L/usr/local/lib64/ 
-L/usr/local/lib64/ -lnsl -ldl -lrt -lcrypto -lssl -levent_core -levent_extra 
-levent_openssl -levent_pthreads  -Wl,-rpath,/usr/local/lib/ 
-Wl,-rpath,/usr/local/lib/ -Wl,-rpath,/usr/local/lib64/ 
-Wl,-rpath,/usr/local/lib64/ -Wl,-rpath,/usr/lib64/pgsql 
-Wl,-rpath,/usr/lib/mysql -Wl,-rpath,/usr/lib64/mysql -Wl,-rpath,/usr/local/lib
/usr/local/lib64//libssl.a(s3_clnt.o): In function `ssl_do_client_cert_cb':
s3_clnt.c:(.text+0x71): undefined reference to `ENGINE_load_ssl_client_cert'
/usr/local/lib64//libssl.a(s3_clnt.o): In function 
`ssl3_send_client_certificate':
s3_clnt.c:(.text+0x4877): undefined reference to `ENGINE_load_ssl_client_cert'
/usr/local/lib64//libssl.a(ssl_sess.o): In function 
`SSL_CTX_set_client_cert_engine':
ssl_sess.c:(.text+0x2e4): undefined reference to 
`ENGINE_get_ssl_client_cert_function'
/usr/local/lib64//libssl.a(tls_srp.o): In function `SRP_Calc_A_param':
tls_srp.c:(.text+0x27a): undefined reference to `SRP_Calc_A'
/usr/local/lib64//libssl.a(tls_srp.o): In function `srp_verify_server_param':
tls_srp.c:(.text+0x34f): undefined reference to `SRP_check_known_gN_param'
/usr/local/lib64//libssl.a(tls_srp.o): In function 
`SRP_generate_client_master_secret':
tls_srp.c:(.text+0x3a9): undefined reference to `SRP_Verify_B_mod_N'
tls_srp.c:(.text+0x3cb): undefined reference to `SRP_Calc_u'
tls_srp.c:(.text+0x415): undefined reference to `SRP_Calc_x'
tls_srp.c:(.text+0x44a): undefined reference to `SRP_Calc_client_key'
/usr/local/lib64//libssl.a(tls_srp.o): In function 
`SRP_generate_server_master_secret':
tls_srp.c:(.text+0x597): undefined reference to `SRP_Verify_A_mod_N'
tls_srp.c:(.text+0x5bc): undefined reference to `SRP_Calc_u'
tls_srp.c:(.text+0x5ec): undefined reference to `SRP_Calc_server_key'
/usr/local/lib64//libssl.a(tls_srp.o): In function 
`SSL_set_srp_server_param_pw':
tls_srp.c:(.text+0xb45): undefined reference to `SRP_get_default_gN'
tls_srp.c:(.text+0xbca): undefined reference to `SRP_create_verifier_BN'
/usr/local/lib64//libssl.a(tls_srp.o): In function 
`SSL_srp_server_param_with_username':
tls_srp.c:(.text+0xcaa): undefined reference to `SRP_Calc_B'
collect2: ld returned 1 exit status
make: *** [bin/turnutils_stunclient] Error 1

By the way,Can RedHat 4 or 5 support the turenserver?
Thank you for your help.

Original comment by ghwil...@gmail.com on 28 May 2015 at 5:17

GoogleCodeExporter commented 9 years ago
Now I see what is happening. The original openssl on your system was 0.9.8, but 
you installed a newer version. I guess that you installed it into 
/usr/local/include directory. You have custom environment. That means that you 
have to take care about the compile-time and runtime libraries resolution, and 
about the include path. 

The main problem that I see is that you are trying to link the turnserver with 
the static libraries. This is probably because you did not install (or did not 
compile) the shared libraries for the OpenSSL. Read the help file for your 
OpenSSL and compile it with the shared libraries, it must help.

Original comment by mom040...@gmail.com on 28 May 2015 at 5:27

GoogleCodeExporter commented 9 years ago
RedHat 5.x support will be available in Coturn 4.4.5.2 version. But you still 
will have to figure out your OpenSSL setup.

Original comment by mom040...@gmail.com on 28 May 2015 at 6:44