Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

on mac make failed: Undefined symbols for architecture x86_64: #50

Closed
janreyho opened this issue Jul 9, 2016 · 7 comments
Closed

on mac make failed: Undefined symbols for architecture x86_64: #50

janreyho opened this issue Jul 9, 2016 · 7 comments

Comments

@janreyho
Copy link

janreyho commented Jul 9, 2016

➜ coturn git:(master) ✗ make
pwd
/Users/hejiayi/Desktop/yinyueke/coturn
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 -DTURN_HAS_SIN_LEN -DTURN_NO_THREAD_BARRIERS -DTURN_HAS_DAEMON -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/ -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/lib
Undefined symbols for architecture x86_64:
"_DTLSv1_2_client_method", referenced from:
_turn_get_method in apputils-99f2a9.o
"_DTLSv1_2_server_method", referenced from:
_turn_get_method in apputils-99f2a9.o
"_EVP_aes_128_gcm", referenced from:
_get_cipher_type in libturnclient.a(ns_turn_msg.o)
"_EVP_aes_256_gcm", referenced from:
_get_cipher_type in libturnclient.a(ns_turn_msg.o)
"_TLSv1_1_client_method", referenced from:
_turn_get_method in apputils-99f2a9.o
"_TLSv1_1_server_method", referenced from:
_turn_get_method in apputils-99f2a9.o
"_TLSv1_2_client_method", referenced from:
_turn_get_method in apputils-99f2a9.o
"_TLSv1_2_server_method", referenced from:
_turn_get_method in apputils-99f2a9.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [bin/turnutils_stunclient] Error 1

@mom040267
Copy link
Contributor

something is not right with the OpenSSL installation and configuration.

On Sat, Jul 9, 2016 at 2:04 AM, janreyho notifications@github.com wrote:

➜ coturn git:(master) ✗ make
pwd
/Users/hejiayi/Desktop/yinyueke/coturn
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
-DTURN_HAS_SIN_LEN -DTURN_NO_THREAD_BARRIERS -DTURN_HAS_DAEMON
-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/ -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/lib
Undefined symbols for architecture x86_64:
"_DTLSv1_2_client_method", referenced from:
_turn_get_method in apputils-99f2a9.o
"_DTLSv1_2_server_method", referenced from:
_turn_get_method in apputils-99f2a9.o
"_EVP_aes_128_gcm", referenced from:
_get_cipher_type in libturnclient.a(ns_turn_msg.o)
"_EVP_aes_256_gcm", referenced from:
_get_cipher_type in libturnclient.a(ns_turn_msg.o)
"_TLSv1_1_client_method", referenced from:
_turn_get_method in apputils-99f2a9.o
"_TLSv1_1_server_method", referenced from:
_turn_get_method in apputils-99f2a9.o
"_TLSv1_2_client_method", referenced from:
_turn_get_method in apputils-99f2a9.o
"_TLSv1_2_server_method", referenced from:
_turn_get_method in apputils-99f2a9.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
make: *** [bin/turnutils_stunclient] Error 1


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#50, or mute the thread
https://github.com/notifications/unsubscribe/AFq2UFy3esNxbqdVls1f84Tr4d01Qc1wks5qT2Q2gaJpZM4JIlI9
.

@marcosArruda
Copy link

marcosArruda commented Oct 20, 2016

got the same problem compiling on mac. The problem is your openssl headers are not the ones installed by brew (if you used brew to install openssl). The default openssl on mac is 0.9.8. Coturn uses the 1.0+. So, you need to upgrade it. I used brew, but I needed to pass the new */openssl/include and */openssl/lib to the compiler(Makefile) for it to run;

@mom040267
Copy link
Contributor

I am not sure that I understand what is the problem here. I just compiled
and ran successfully coturn on my Mac Book with default OpenSSL 0.9.8:

$ bin/turnserver
1: log file opened: /var/tmp/turn_10732_2016-10-19.log
1:
RFC 3489/5389/5766/5780/6062/6156 STUN/TURN Server
Version Coturn-4.5.0.6 'dan Eider'
1:
Max number of open files/sockets allowed for this process: 8191
1:
Due to the open files/sockets limitation,
max supported number of TURN Sessions possible is: 4000 (approximately)
1:

==== Show him the instruments, Practical Frost: ====

1: TLS supported
1: DTLS supported
1: DTLS 1.2 is not supported
1: TURN/STUN ALPN is not supported
1: Third-party authorization (oAuth) is not supported
1: OpenSSL compile-time version: OpenSSL 0.9.8zc 19 Mar 2015 (0x9081df)
1:
1: SQLite supported, default database location is /usr/local/var/db/turndb
1: Redis is not supported
1: PostgreSQL is not supported
1: MySQL is not supported
1: MongoDB is not supported
1:
1: Default Net Engine version: 1 (UDP listening socket per session)

I have not had a single error or warning, everything worked as-is.

Oleg

On Wed, Oct 19, 2016 at 8:42 PM, Marcos Faria Arruda <
notifications@github.com> wrote:

got the same problem compiling on mac. The problem is your openssl headers
are not the ones installed by brew (if you used brew to install openssl).
The default openssl on mac is 0.9.8. Coturn uses the 1.0+. So, you need to
upgrade it. I used brew, but I needed to pass the new */openssl/include and
*/openssl/lib to the compiler(Makefile) for it do run;


You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
#50 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AFq2UCb9L9j_m9C-ENL_vRkcyKp_A3iJks5q1uMlgaJpZM4JIlI9
.

@stonyz
Copy link

stonyz commented Feb 21, 2017

Saw the same issue. I want to try the solution that @marcosArruda said, but don't know how to do.

How to pass the new */openssl/include and */openssl/lib to the compiler(Makefile)?

@mom040267
Copy link
Contributor

mom040267 commented Feb 21, 2017 via email

@marcosArruda
Copy link

@stonyz Not on my machine. I can't see for real right now, but you need to edit the Makefile and use the paths like @mom040267 said.

@phpisfuture
Copy link

I specified that the latest version of OpensSL still throws the same error.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants