EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::Linux Servers (https://www.eqemulator.org/forums/forumdisplay.php?f=588)
-   -   Make Error with Servertalk_client_connection.cpp (https://www.eqemulator.org/forums/showthread.php?t=41936)

Riklin 06-10-2018 05:20 PM

Make Error with Servertalk_client_connection.cpp
 
Server is latest version of Debian Linux and worked perfectly the last time I compiled (8ish months ago).

I decided to start over. did a git pull, then ran cmake (no errors), then make.

I'm getting this error when running make. Any help appreciated:

[ 23%] Building CXX object common/CMakeFiles/common.dir/net/servertalk_client_connection.cpp.o
/home/eq/eqemu/common/net/servertalk_client_connection.cpp: In member function ‘void EQ::Net::ServertalkClient::Send(uint16_t, EQ::Net::Packet&)’:
/home/eq/eqemu/common/net/servertalk_client_connection.cpp:36:103: error: ‘crypto_box_easy_afternm’ was not declared in this scope
crypto_box_easy_afternm(&cipher[0], (unsigned char*)p.Data(), p.Length(), m_nonce_ours, m_shared_key);
^
/home/eq/eqemu/common/net/servertalk_client_connection.cpp: In member function ‘void EQ::Net::ServertalkClient::ProcessMessage(EQ::Net: :Packet&)’:
/home/eq/eqemu/common/net/servertalk_client_connection.cpp:276:120: error: ‘crypto_box_open_easy_afternm’ was not declared in this scope
if (crypto_box_open_easy_afternm(&decrypted_text[0], (unsigned char*)&data[0], length, m_nonce_theirs, m_shared_key))
^
/home/eq/eqemu/common/net/servertalk_client_connection.cpp: In member function ‘void EQ::Net::ServertalkClient::SendHandshake(bool)’:
/home/eq/eqemu/common/net/servertalk_client_connection.cpp:357:102: error: ‘crypto_box_easy_afternm’ was not declared in this scope
crypto_box_easy_afternm(&signed_buffer[0], &data_buffer[0], data_length, m_nonce_ours, m_shared_key);
^
common/CMakeFiles/common.dir/build.make:1871: recipe for target 'common/CMakeFiles/common.dir/net/servertalk_client_connection.cpp.o' failed
make[2]: *** [common/CMakeFiles/common.dir/net/servertalk_client_connection.cpp.o] Error 1
CMakeFiles/Makefile2:75: recipe for target 'common/CMakeFiles/common.dir/all' failed
make[1]: *** [common/CMakeFiles/common.dir/all] Error 2
Makefile:117: recipe for target 'all' failed
make: *** [all] Error 2

Akkadius 06-10-2018 05:52 PM

Hey Riklin!

You ran into a crypto dependency of the loginserver with the netcode overhaul

You can see here where we would install this in a new setup:

https://github.com/EQEmu/Server/blob...nstall.sh#L120

Try

Code:

apt-get install libsodium-dev libsodium18
And then re-running cmake and `make clean`

That should get you sorted out

Riklin 06-10-2018 06:27 PM

the apt-get command gives me a "unable to locate package" error.

I tried installing using this:
<code>
apt-get install libsodium-dev
</code>

it works but appears to be an older version of libsodium 1.0.0-1.

I'm going to guess I have to do this the hard way? Download the lobsodium tar file and compile it?

Akkadius 06-10-2018 06:28 PM

Quote:

Originally Posted by Riklin (Post 259024)
the apt-get command gives me a "unable to locate package" error.

I tried installing using this:
<code>
apt-get install libsodium-dev
</code>

it works but appears to be an older version of libsodium 1.0.0-1.

I'm going to guess I have to do this the hard way? Download the lobsodium tar file and compile it?

You should be able to manually pull down the package as well

Code:

        # Install libsodium
        wget http://ftp.us.debian.org/debian/pool/main/libs/libsodium/libsodium-dev_1.0.11-1~bpo8+1_amd64.deb -O /home/eqemu/libsodium-dev.deb
        wget http://ftp.us.debian.org/debian/pool/main/libs/libsodium/libsodium18_1.0.11-1~bpo8+1_amd64.deb -O /home/eqemu/libsodium18.deb
        dpkg -i /home/eqemu/libsodium*.deb
        # Cleanup after ourselves
        rm -f /home/eqemu/libsodium-dev.deb
        rm -f /home/eqemu/libsodium18.deb


Riklin 06-10-2018 08:04 PM

Thanks so far. That fixed that issue. I looked at the script you linked and installed all that was under debian. Most were already installed but a few weren't. I am now getting an error on skill_caps.cpp.o. Here is the error for that:
[ 51%] Building CXX object shared_memory/CMakeFiles/shared_memory.dir/skill_caps.cpp.o
make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libmysqlclient_r.so', needed by 'bin/shared_memory'. Stop.
CMakeFiles/Makefile2:367: recipe for target 'shared_memory/CMakeFiles/shared_memory.dir/all' failed
make[1]: *** [shared_memory/CMakeFiles/shared_memory.dir/all] Error 2
Makefile:117: recipe for target 'all' failed
make: *** [all] Error 2


Thanks again for all your assistance... It appears that the linux server install guide is getting pretty out of date...

Akkadius 06-10-2018 08:08 PM

The manual install guide is very out of date, use the one on Github. I need to go through and purge everything in the very near future

It looks like you need to just remove your entire build folder, make another one from scratch and make from scratch to be sure if make clean didn’t do the trick


All times are GMT -4. The time now is 10:37 AM.

Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.