nwnxee / unified

Binaries available under the Releases tab on Github
https://nwnxee.github.io/unified
GNU General Public License v3.0
130 stars 92 forks source link

NWNX compilation problem #626

Closed Mataniac closed 4 years ago

Mataniac commented 5 years ago

~/download/nwnxee/build-nwnx ~/download/nwnxee /home/lukas/download/nwnxee/NWNXLib/API/Linux -- Found LuaJIT library: /usr/lib/x86_64-linux-gnu/libluajit-5.1.so -- Configuring done -- Generating done -- Build files have been written to: /home/lukas/download/nwnxee/build-nwnx [ 1%] Built target BeaEngine [ 1%] Building CXX object NWNXLib/CMakeFiles/NWNXLib.dir/Assert.cpp.o In file included from /home/lukas/download/nwnxee/NWNXLib/API/Types.hpp:3, from /home/lukas/download/nwnxee/NWNXLib/Utils.hpp:3, from /home/lukas/download/nwnxee/NWNXLib/Assert.hpp:3, from /home/lukas/download/nwnxee/NWNXLib/Assert.cpp:1: /usr/include/c++/9/cstdint:38:10: fatal error: bits/c++config.h: No such file or directory 38 | #include <bits/c++config.h> | ^~~~~~ compilation terminated.

What i am doing wrong?

jd28 commented 5 years ago

it looks like you're compiling in 64bit mode, nwnx:ee in the main branch doesn't support that yet. i think more people could help if you give more details on what distro you're using and how you tried building it.

Mataniac commented 4 years ago

I installed the x86 server and am now trying to run the script ./Scripts/buildnwnx.sh. Now there is a new error

lukas@ubuntu:~/nwnx$ ./Scripts/buildnwnx.sh ~/nwnx/build-nwnx ~/nwnx -- The CXX compiler identification is unknown CMake Error at CMakeLists.txt:2 (project): No CMAKE_CXX_COMPILER could be found.

Tell CMake where to find the compiler by setting either the environment variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path to the compiler, or to the compiler name if it is in the PATH.

-- Configuring incomplete, errors occurred! See also "/home/lukas/nwnx/build-nwnx/CMakeFiles/CMakeOutput.log". See also "/home/lukas/nwnx/build-nwnx/CMakeFiles/CMakeError.log". make: *** No rule to make target 'all'. Stop.

And I tried to follow this instruction https://github.com/mtijanic/nwn-misc/blob/master/nwnx-server-setup/nwnx-setup.sh But also ran into an error on row 31 (make -j6).

[ 38%] Linking CXX shared library ../../Binaries/NWNX_Core.so /usr/bin/ld: i386 architecture of input file `../NWNXLib/External/funchook/libfunchook.a(funchook_syscall.S.o)' is incompatible with i386:x86-64 output collect2: error: ld returned 1 exit status Core/CMakeFiles/Core.dir/build.make:123: recipe for target '../Binaries/NWNX_Core.so' failed make[2]: [../Binaries/NWNX_Core.so] Error 1 CMakeFiles/Makefile2:548: recipe for target 'Core/CMakeFiles/Core.dir/all' failed make[1]: [Core/CMakeFiles/Core.dir/all] Error 2 Makefile:129: recipe for target 'all' failed make: *** [all] Error 2

Also attach information about the previous operation:

lukas@ubuntu:~/nwnx/build$ CC="gcc-7 -m32" CXX="g++-7 -m32" cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ../ -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) -- Could NOT find Lua (missing: LUAJIT_LIBRARY LUAJIT_INCLUDE_DIR) -- Could NOT find Lua (missing: LUA_LIBRARIES LUA_INCLUDE_DIR) -- Found Ruby: /usr/bin/ruby (found version "2.5.1") CMake Warning at Plugins/SQL/CMakeLists.txt:21 (message): Not compiling with PostgreSQL support, not found

CMake Warning at Plugins/SQL/CMakeLists.txt:30 (message): Not compiling with SQLite3 support, not found

-- Could NOT find HUNSPELL (missing: HUNSPELL_LIBRARIES HUNSPELL_INCLUDE_DIR) -- Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY OPENSSL_INCLUDE_DIR) -- Configuring done -- Generating done

mtijanic commented 4 years ago

Ouch. I swear this is not a joke:

In the three weeks since you made your original issue, we've switched over to 64bit on the main branch. At the moment the master branch is not usable for stable NWN. You need to use nwnx-x86-lts branch. If you're using a zip download of nwnx, you should use this link: https://github.com/nwnxee/unified/archive/nwnx-x86-lts.zip

and if you've cloned the repo with git clone, you need to do git checkout nwnx-x86-lts to switch over to 32bit.

Mataniac commented 4 years ago

All done and working, THANKS.