Jump to content
TrinityCore
eskfop

CMake trouble with Linux

Recommended Posts

I am compiling on Linux, trying to make a 1.12 private server on Manjaro Linux. I'm having some issues with Cmake.

To run Cmake succesfully, I used the following command, since Cmake found openssl 1.1:

 cmake .. -DPREFIX=/home/wow/bin -DOPENSSL_LIBRARIES=/usr/lib/libssl.so.1.0.0 -DOPENSSL_INCLUDE_DIR=/usr/include/openssl-1.0/

 

Configuration worked. After running 'make' I got into trouble. Here's the output of my Terminal:

 make
(....)
[ 20%] Linking CXX executable bnetserver
CMakeFiles/bnetserver.dir/Main.cpp.o: In function `main::{lambda()#3}::operator()() const':
Main.cpp:(.text+0x53d): undefined reference to `SSLeay_version'
CMakeFiles/bnetserver.dir/Main.cpp.o: In function `boost::asio::ssl::detail::openssl_init_base::do_init::do_init()':
Main.cpp:(.text._ZN5boost4asio3ssl6detail17openssl_init_base7do_initC2Ev[_ZN5boost4asio3ssl6detail17openssl_init_base7do_initC5Ev]+0x1c): undefined reference to `SSL_library_init'
Main.cpp:(.text._ZN5boost4asio3ssl6detail17openssl_init_base7do_initC2Ev[_ZN5boost4asio3ssl6detail17openssl_init_base7do_initC5Ev]+0x21): undefined reference to `SSL_load_error_strings'
Main.cpp:(.text._ZN5boost4asio3ssl6detail17openssl_init_base7do_initC2Ev[_ZN5boost4asio3ssl6detail17openssl_init_base7do_initC5Ev]+0x26): undefined reference to `OPENSSL_add_all_algorithms_noconf'
Main.cpp:(.text._ZN5boost4asio3ssl6detail17openssl_init_base7do_initC2Ev[_ZN5boost4asio3ssl6detail17openssl_init_base7do_initC5Ev]+0x2f): undefined reference to `CRYPTO_num_locks'
Main.cpp:(.text._ZN5boost4asio3ssl6detail17openssl_init_base7do_initC2Ev[_ZN5boost4asio3ssl6detail17openssl_init_base7do_initC5Ev]+0xa2): undefined reference to `CRYPTO_set_locking_callback'
CMakeFiles/bnetserver.dir/Main.cpp.o: In function `boost::asio::ssl::detail::openssl_init_base::do_init::~do_init()':
Main.cpp:(.text._ZN5boost4asio3ssl6detail17openssl_init_base7do_initD2Ev[_ZN5boost4asio3ssl6detail17openssl_init_base7do_initD5Ev]+0x12): undefined reference to `CRYPTO_set_locking_callback'
Main.cpp:(.text._ZN5boost4asio3ssl6detail17openssl_init_base7do_initD2Ev[_ZN5boost4asio3ssl6detail17openssl_init_base7do_initD5Ev]+0x17): undefined reference to `ERR_free_strings'
Main.cpp:(.text._ZN5boost4asio3ssl6detail17openssl_init_base7do_initD2Ev[_ZN5boost4asio3ssl6detail17openssl_init_base7do_initD5Ev]+0x1c): undefined reference to `EVP_cleanup'
Main.cpp:(.text._ZN5boost4asio3ssl6detail17openssl_init_base7do_initD2Ev[_ZN5boost4asio3ssl6detail17openssl_init_base7do_initD5Ev]+0x21): undefined reference to `CRYPTO_cleanup_all_ex_data'
Main.cpp:(.text._ZN5boost4asio3ssl6detail17openssl_init_base7do_initD2Ev[_ZN5boost4asio3ssl6detail17openssl_init_base7do_initD5Ev]+0x3a): undefined reference to `ENGINE_cleanup'
CMakeFiles/bnetserver.dir/Server/SslContext.cpp.o: In function `boost::asio::ssl::context::context(boost::asio::ssl::context_base::method)':
SslContext.cpp:(.text._ZN5boost4asio3ssl7contextC2ENS1_12context_base6methodE[_ZN5boost4asio3ssl7contextC5ENS1_12context_base6methodE]+0x1a9): undefined reference to `SSLv23_method'
SslContext.cpp:(.text._ZN5boost4asio3ssl7contextC2ENS1_12context_base6methodE[_ZN5boost4asio3ssl7contextC5ENS1_12context_base6methodE]+0x1c5): undefined reference to `SSLv23_client_method'
SslContext.cpp:(.text._ZN5boost4asio3ssl7contextC2ENS1_12context_base6methodE[_ZN5boost4asio3ssl7contextC5ENS1_12context_base6methodE]+0x1e1): undefined reference to `SSLv23_server_method'
SslContext.cpp:(.text._ZN5boost4asio3ssl7contextC2ENS1_12context_base6methodE[_ZN5boost4asio3ssl7contextC5ENS1_12context_base6methodE]+0x1fd): undefined reference to `SSLv23_method'
SslContext.cpp:(.text._ZN5boost4asio3ssl7contextC2ENS1_12context_base6methodE[_ZN5boost4asio3ssl7contextC5ENS1_12context_base6methodE]+0x247): undefined reference to `SSLv23_client_method'
SslContext.cpp:(.text._ZN5boost4asio3ssl7contextC2ENS1_12context_base6methodE[_ZN5boost4asio3ssl7contextC5ENS1_12context_base6methodE]+0x28a): undefined reference to `SSLv23_server_method'
../../../dep/gsoap/libgsoap.a(stdsoap2.cpp.o): In function `soap_ssl_init':
stdsoap2.cpp:(.text+0x6752): undefined reference to `SSL_library_init'
stdsoap2.cpp:(.text+0x6757): undefined reference to `OPENSSL_add_all_algorithms_noconf'
stdsoap2.cpp:(.text+0x675c): undefined reference to `SSL_load_error_strings'
../../../dep/gsoap/libgsoap.a(stdsoap2.cpp.o): In function `ssl_auth_init':
stdsoap2.cpp:(.text+0x69d7): undefined reference to `SSLv23_method'
../../../dep/gsoap/libgsoap.a(stdsoap2.cpp.o): In function `tcp_connect':
stdsoap2.cpp:(.text+0x8ffd): undefined reference to `SSL_state'
stdsoap2.cpp:(.text+0x91d0): undefined reference to `sk_pop_free'
stdsoap2.cpp:(.text+0x91f9): undefined reference to `sk_num'
stdsoap2.cpp:(.text+0x9225): undefined reference to `sk_value'
stdsoap2.cpp:(.text+0x92c1): undefined reference to `sk_pop_free'
collect2: fout: ld gaf exit-status 1 terug
make[2]: *** [src/server/bnetserver/CMakeFiles/bnetserver.dir/build.make:348: src/server/bnetserver/bnetserver] Fout 1
make[1]: *** [CMakeFiles/Makefile2:1256: src/server/bnetserver/CMakeFiles/bnetserver.dir/all] Fout 2
make: *** [Makefile:130: all] Fout 2

 

I presume I'm having trouble because of OpenSSL and Boost, but I'm not entirely sure. At least I dont know how to solve this problem. Could anyone help me with this problem?

Many thanks in advance!

Share this post


Link to post
Share on other sites

--- Canned message start --- This help request is in no way related to the official codebase of TrinityCore and/or TrinityDatabase and does not belong on these boards. --- Canned message end

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Ramboknife
      So I'm trying to set up a debugging process where I can see what functions are being called when I do certain things in game, that way I can hopefully locate exactly which functions in which cpp files might possibly be involved with the bug I'm trying to fix.  Is something like this possible?  I can get VS Code to launch my worldserver or attach to the worldserver process but beyond that I'm not getting any other information out of the Call Stack or anything when I make certain actions in-game.
      Thanks
    • By Chuck
      https://pastebin.com/WxBuZkFH
      Windows 10 Computer, following the TrinityCore guide for 7.3.
      CMake always seems to be the trickiest part for me, but this time I can't find any useful info about the CheckPlatform file it can't find. I don't even know if that is the important error or if just fixing the MYSQL error is my problem. Unfortunately the instructions "Note: If MySQL is not found by CMake it is required to set MYSQL_INCLUDE_DIR = C:/mysql_libs/include and MYSQL_LIBRARY= C:/mysql_libs/lib_XX/libmysql.lib." don't seem to apply as I can't find anyplace in cmake asking for MYSQL_LIBRARY or MYSQL_INCLUDE_DIR, so I assume I need to fix the CheckPlatform problem first.
       
      Thanks in advance. 
    • By labaouici
      Hello!
      I was checking my DB but I didn't find any table that could tell "this is when it will happen"
      I wonder how it work, I activated it but is there a table to put the unix time? (like to do : every wednesday, at 15:25:30 there will be the distribution)
      Thanks!
    • By belziere
      Hi guys, i compiled my server under linux and i saw the thing about needing a connection patcher for my client (that needs to be compiled under windows) so i compiled my project on windows too but i can't find the connection patcher, it is nowhere to be seen !
    • By grandmst20
      So I'm trying to do something and I'm sure there is a more effective way since I'm not very familiar with Git or CMake. I can compile my own binaries from sources, etc, but that's about the extent of my knowledge.
      I have about 10 different sources (git repos) that I use to compile binaries. Ultimately what I'm trying to do is pull all of these repos and update them, have CMake make new project files with the updated repos, and then build them and output into a directory structure like this:
      X:\Builds\repo 1\<git commit number>
      X:\Builds\repo 2\<git commit number>
      etc...
      Most of this I can do manually, with the exception of building to a new directory with the name being the git commit. I have the git pulls covered, I use a batch file to update all of the repos. But automating the process past this is beyond my knowledge.
      Can anyone help shed some light on what I'm trying to accomplish?
×
×
  • Create New...