Page 1 of 1

[SOLVED] Error on trying to install minetest in server

PostPosted: Tue Jun 06, 2017 09:24
by muhdnurhidayat
Looks like this is thrown after a while waiting to set up on Debian server (over SSH), I was using the 1-line script.
Code: Select all
CMakeFiles/minetest.dir/convert_json.cpp.o: In function `fetchJsonValue(std::string const&, std::vector<std::string, std::allocator<std::string> >*)':
convert_json.cpp:(.text+0x3cfe): undefined reference to `Json::Value::Value(Json::Value&&)'
CMakeFiles/minetest.dir/serverlist.cpp.o: In function `ServerList::deleteEntry(Json::Value const&)':
serverlist.cpp:(.text+0x22c7): undefined reference to `Json::Value::Value(Json::Value&&)'
serverlist.cpp:(.text+0x230d): undefined reference to `Json::Value::Value(Json::Value&&)'
serverlist.cpp:(.text+0x2339): undefined reference to `Json::Value::Value(Json::Value&&)'
serverlist.cpp:(.text+0x2365): undefined reference to `Json::Value::Value(Json::Value&&)'
CMakeFiles/minetest.dir/serverlist.cpp.o:serverlist.cpp:(.text+0x239d): more undefined references to `Json::Value::Value(Json::Value&&)' follow
collect2: error: ld returned 1 exit status
src/CMakeFiles/minetest.dir/build.make:5699: recipe for target 'bin/minetest' failed
make[2]: *** [bin/minetest] Error 1
CMakeFiles/Makefile2:266: recipe for target 'src/CMakeFiles/minetest.dir/all' failed
make[1]: *** [src/CMakeFiles/minetest.dir/all] Error 2
Makefile:137: recipe for target 'all' failed
make: *** [all] Error 2

Anyone know how to fix this?

This is result of " cmake . " :
Code: Select all
-- Detecting GMP from system failed.
-- Using bundled mini-gmp library.
-- Using bundled JSONCPP library.
-- Using LuaJIT provided by system.
-- cURL support enabled.
-- GetText enabled; locales found: lt;ko;hu;ru;pt_BR;ca;be;zh_TW;ro;zh_CN;sl;it;tr;dv;ms;sw;fr;de;pl;nl;nb;sv;id;ky;uk;da;he;ja;et;jbo;cs;eo;pt;es;sr_Cyrl
-- Sound enabled.
-- Freetype enabled.
-- Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH)
-- ncurses not found!
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
-- Could NOT find PostgreSQL (missing:  PostgreSQL_LIBRARY PostgreSQL_INCLUDE_DIR PostgreSQL_TYPE_INCLUDE_DIR)
-- PostgreSQL not found!
-- LevelDB backend enabled.
-- Redis not found!
-- SpatialIndex not found!
-- Locale blacklist applied; Locales used: lt;hu;ru;pt_BR;ca;ro;sl;it;tr;dv;ms;sw;fr;de;pl;nl;nb;sv;id;uk;da;ja;et;jbo;cs;eo;pt;es;sr_Cyrl
-- Configuring done
-- Generating done
-- Build files have been written to: /root/minetest

Re: [Debian] Error on trying to install minetest in server

PostPosted: Tue Jun 06, 2017 10:32
by muhdnurhidayat
SOLVED!

Following sfan5 advice via IRC ( http://irc.minetest.net/minetest/2017-06-06#i_4962137 )
installing libjsoncpp-dev and pass -DENABLE_SYSTEM_JSONCPP=1 to cmake works.

Re: [Debian] Error on trying to install minetest in server

PostPosted: Tue Jun 06, 2017 11:02
by ExeterDad
muhdnurhidayat wrote:SOLVED!

Following sfan5 advice via IRC ( http://irc.minetest.net/minetest/2017-06-06#i_4962137 )
installing libjsoncpp-dev and pass -DENABLE_SYSTEM_JSONCPP=1 to cmake works.

Glad you figured it out :)
I didn't have issues building 0.4.16 on Debian8. But my script uses all system files so I wasn't affected by the error.
One day I'll clean my script up and release it. It's quite robust. It would be interesting to see if it works for Ubuntu as well.

Re: [SOLVED] Error on trying to install minetest in server

PostPosted: Tue Sep 19, 2017 12:58
by mystik
I just wanted to also add this approach also solved my issue on my Debian 8 (jessie) 64-bit system

Code: Select all
Linux roast 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2 (2017-04-30) x86_64 GNU/Linux

mystik@roast:~/minetest_src$ c++ -v
Using built-in specs.
COLLECT_GCC=c++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.9/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.9.2-10' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --with-arch-32=i586 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.9.2 (Debian 4.9.2-10)


Thanks!

Re: [SOLVED] Error on trying to install minetest in server

PostPosted: Sat Mar 17, 2018 10:41
by goat-avenger
I had found this thread when trying build Minetest 0.4.16 on my Devuan Jessie system.

None of the solutions in this thread worked and I had pretty much given up. I was considering installing a more up-to-date distribution so I could get a successful build; but, I gave it one more try.

Here is a messy explanation of my solution (should work for Debian Jessie/Devuan Jessie).

I followed all of the original build instructions except I did not install (or rather removed) "libjsoncpp-dev" for/from my system

I downloaded the source for jsoncpp at https://github.com/open-source-parsers/jsoncpp which required a newer version of cmake than Devuan/Debian Jessie had. I downloaded the latest binary here... https://cmake.org/download/

Using cmake-gui and following the instructions here https://github.com/open-source-parsers/jsoncpp/wiki/Building I built libjsoncpp-dev with cmake. Then, I ran "make install" as root to get the local installation.

After that, AFAICT I just built minetest as per the instructions (ENABLE_SYSTEM_GMP and ENABLE_SYSTEM_JSONCPP were disabled).

So, basically, I just compiled the latest version of "jsoncpp" and used that instead of whatever is supplied with the minetest source or Devuan/Debian Jessie's repos. So far everything seems okay! Good luck!