Skip to content

NWNX Ubuntu 16.04 Issues

I've gone through probably 4 different tutorials from people, trying to get my linux nwnx setup on a Vultr server, and every single tutorial breaks down halfway through, either with inactive links to script packages (server.startup.sh etc), or leaves out important dependancies meaning I can't compile things properly.

I've tried https://forum.neverwintervault.org/t/migrating-server-to-neverwinter-ee/420, but the compiles fail

I've tried https://steamcommunity.com/sharedfiles/filedetails/?id=1351453024, but again, issues

Cmake always fails with
-- Could NOT find PkgConfig (missing:  PKG_CONFIG_EXECUTABLE)
-- Could NOT find JNI (missing:  JAVA_AWT_LIBRARY JAVA_JVM_LIBRARY JAVA_INCLUDE_                                                                                                                                                             PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH)
-- Could NOT find Java (missing:  Java_JAVA_EXECUTABLE Java_JAR_EXECUTABLE Java_                                                                                                                                                             JAVAC_EXECUTABLE Java_JAVAH_EXECUTABLE Java_JAVADOC_EXECUTABLE)
-- Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the sys                                                                                                                                                             tem variable OPENSSL_ROOT_DIR (missing:  OPENSSL_LIBRARIES OPENSSL_INCLUDE_DIR)
-- Could NOT find HUNSPELL (missing:  HUNSPELL_LIBRARIES HUNSPELL_INCLUDE_DIR)
-- Could NOT find Lua (missing:  LUAJIT_LIBRARY LUAJIT_INCLUDE_DIR)
-- Could NOT find Lua (missing:  LUA_LIBRARIES LUA_INCLUDE_DIR)
-- Could NOT find Ruby (missing:  RUBY_EXECUTABLE RUBY_INCLUDE_DIR RUBY_LIBRARY)

And make j6 or j8 fails with
[  4%] Building CXX object NWNXLib/CMakeFiles/NWNXLib.dir/Assert.cpp.o
In file included from /root/nwnx/NWNXLib/Assert.hpp:3:0,
                 from /root/nwnx/NWNXLib/Assert.cpp:1:
/root/nwnx/NWNXLib/Utils.hpp: In function ‘T NWNXLib::Utils::PeekMessage(NWNXLib                                                                                                                                                             ::API::CNWSMessage*, int32_t)’:
/root/nwnx/NWNXLib/Utils.hpp:59:40: error: expected ‘,’ before ‘)’ token
     static_assert(std::is_pod<T>::value);
                                        ^
/root/nwnx/NWNXLib/Utils.hpp:59:40: error: expected string-literal before ‘)’ to                                                                                                                                                             ken
NWNXLib/CMakeFiles/NWNXLib.dir/build.make:62: recipe for target 'NWNXLib/CMakeFi                                                                                                                                                             les/NWNXLib.dir/Assert.cpp.o' failed
make[2]: *** [NWNXLib/CMakeFiles/NWNXLib.dir/Assert.cpp.o] Error 1
CMakeFiles/Makefile2:99: recipe for target 'NWNXLib/CMakeFiles/NWNXLib.dir/all'                                                                                                                                                              failed
make[1]: *** [NWNXLib/CMakeFiles/NWNXLib.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

and then again at 12% with
[ 12%] Building CXX object Plugins/Redis/cpp_redis/tacopie/CMakeFiles/tacopie.di                                                                                                                                                             r/sources/network/unix/self_pipe.cpp.o
/root/nwnx/Plugins/Redis/cpp_redis/tacopie/sources/network/unix/self_pipe.cpp: I                                                                                                                                                             n member function ‘void tacopie::self_pipe::notify()’:
/root/nwnx/Plugins/Redis/cpp_redis/tacopie/sources/network/unix/self_pipe.cpp:62                                                                                                                                                             :33: warning: ignoring return value of ‘ssize_t write(int, const void*, size_t)’                                                                                                                                                             , declared with attribute warn_unused_result [-Wunused-result]
   (void) write(m_fds[1], "a", 1);
                                 ^
/root/nwnx/Plugins/Redis/cpp_redis/tacopie/sources/network/unix/self_pipe.cpp: I                                                                                                                                                             n member function ‘void tacopie::self_pipe::clr_buffer()’:
/root/nwnx/Plugins/Redis/cpp_redis/tacopie/sources/network/unix/self_pipe.cpp:71                                                                                                                                                             :35: warning: ignoring return value of ‘ssize_t read(int, void*, size_t)’, decla                                                                                                                                                             red with attribute warn_unused_result [-Wunused-result]
   (void) read(m_fds[0], buf, 1024);
                                   ^
[ 13%] Linking CXX static library ../../../../lib/libtacopie.a
[ 13%] Built target tacopie
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2



So here's the thing. I have everything else set up. I can get nwserver-linux running no problem with my mod/haks, all configured fine. However, since I cannot compile my own .so files, I've been using the precompiled ones. I can get nwnx_core.so to run fine with a bash script, but I'm curious if I'm just setting myself up for disaster by not having compiled all of this myself?


Any guidance / and updated guide for use with Ubuntu 16.04 would be great.

Comments

  • orthorth Member Posts: 3
    Hiya, if you don't need the Java or Redis plugins I suggest you instead run this command before building. (I don't need any of the ones below, configure to your liking.
    export NWNX_SKIP_PLUGINS="JVM;Lua;Mono;Ruby;Redis"
    

    It's best to build your own because nwnx is constantly being updated with fixes and new additions and the released binaries aren't as up to date.

    Additionally if you want more help with nwnx related things, try dropping by the discord, it's a very helpful community. Here's an invite link: https://discord.gg/mFFaFeU
  • orthorth Member Posts: 3
    Additionally you may wish to follow these instructions to get your build working: https://github.com/mtijanic/nwn-misc/blob/master/nwnx-server-setup/nwnx-setup.sh
  • EzRemakeEzRemake Member Posts: 15
    I'll try the above tutorial, but it appears very very similar to the first guide I tried which produced the above errors. However, the cmake command is different so who knows, I'll give it a try and get back to you.

    A question I have is, are the contents of the NWNX folder neccessary to run the compiled .so files, or are the contents pretty much only for compiling?
  • EzRemakeEzRemake Member Posts: 15
    edited June 2019
    I ended up trying the latest tutorial, and while everything worked I exhausted my machines memory trying to get through the compile, it only made it to 55%. And thats on a 4GB plan which seems a little excessive. Is there something I can do here to prevent the compile from going crazy?
  • orthorth Member Posts: 3
    As discussed in discord, don't use make -j6 or such, just run it with make
  • angstonangston Member Posts: 1
    I know this old, but I had the same errors with Hunspell and Lua. These are the commands that resolved both for me:

    sudo apt install libluajit-5.1-dev
    sudo apt install lua5.1
    sudo apt-get install hunspell
    sudo apt install libhunspell-dev

Sign In or Register to comment.