View Single Post
  #1  
Old 02-02-2018, 08:09 PM
jdx's Avatar
jdx
Fire Beetle
 
Join Date: Feb 2018
Location: Nektulos Forest
Posts: 6
Default encryption.cpp.o compile failure on Ubuntu 16.04.3 LTS

-SOLVED- Install libsodium 1.0.9


Fresh VM install of Ubuntu 16.04.3 LTS.
Fresh pull of install.sh.

Looks like the crypto constants and functions are not defined where encryption.cpp can use them. But there are no failures to include header files so that's a bit weird.

Code:
vagrant@ubuntu-xenial:/home/eqemu/server_source/Server/build$ make
[ 97%] Built target common
[ 97%] Built target luabind
[ 97%] Built target libuv
[ 97%] Built target fmt
[ 97%] Built target shared_memory
[ 97%] Built target world
[ 97%] Built target zone
[ 97%] Built target ucs
[ 97%] Built target queryserv
[ 97%] Built target eqlaunch
[ 97%] Building CXX object loginserver/CMakeFiles/loginserver.dir/encryption.cpp.o
/home/eqemu/server_source/Server/loginserver/encryption.cpp: In function ‘std::__cxx11::string eqcrypt_argon2(const string&)’:
/home/eqemu/server_source/Server/loginserver/encryption.cpp:78:13: error: ‘crypto_pwhash_STRBYTES’ was not declared in this scope
  ret.resize(crypto_pwhash_STRBYTES);
             ^
/home/eqemu/server_source/Server/loginserver/encryption.cpp:80:56: error: ‘crypto_pwhash_OPSLIMIT_SENSITIVE’ was not declared in this scope
  if (crypto_pwhash_str(&ret[0], &msg[0], msg.length(), crypto_pwhash_OPSLIMIT_SENSITIVE, crypto_pwhash_MEMLIMIT_SENSITIVE) != 0) {
                                                        ^
/home/eqemu/server_source/Server/loginserver/encryption.cpp:80:90: error: ‘crypto_pwhash_MEMLIMIT_SENSITIVE’ was not declared in this scope
  if (crypto_pwhash_str(&ret[0], &msg[0], msg.length(), crypto_pwhash_OPSLIMIT_SENSITIVE, crypto_pwhash_MEMLIMIT_SENSITIVE) != 0) {
                                                                                          ^
/home/eqemu/server_source/Server/loginserver/encryption.cpp:80:122: error: ‘crypto_pwhash_str’ was not declared in this scope
  if (crypto_pwhash_str(&ret[0], &msg[0], msg.length(), crypto_pwhash_OPSLIMIT_SENSITIVE, crypto_pwhash_MEMLIMIT_SENSITIVE) != 0) {
                                                                                                                          ^
/home/eqemu/server_source/Server/loginserver/encryption.cpp: In function ‘bool eqcrypt_verify_hash(const string&, const string&, const string&, int)’:
/home/eqemu/server_source/Server/loginserver/encryption.cpp:147:78: error: ‘crypto_pwhash_str_verify’ was not declared in this scope
   return crypto_pwhash_str_verify(&pwhash[0], &password[0], password.length()) == 0;
                                                                              ^
loginserver/CMakeFiles/loginserver.dir/build.make:182: recipe for target 'loginserver/CMakeFiles/loginserver.dir/encryption.cpp.o' failed
make[2]: *** [loginserver/CMakeFiles/loginserver.dir/encryption.cpp.o] Error 1
CMakeFiles/Makefile2:692: recipe for target 'loginserver/CMakeFiles/loginserver.dir/all' failed
make[1]: *** [loginserver/CMakeFiles/loginserver.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

Last edited by jdx; 02-02-2018 at 09:28 PM.. Reason: Indicate that the build failure has been solved
Reply With Quote