-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ld: error: undefined symbol: Json::Value::operator=(Json::Value&&) when compiling 5.3.0 on FreeBSD #10289
Comments
|
try with |
|
I had tried that previously, and the program failed to run. So I thought it was a no-go. It turned out that it failed to run because I didn't have minetest_game installed yet. So upon trying it again after installing the game, it does appear that using the system jsoncpp works fine for the server. My only concern is that CMake warns that this, "May cause segfaults and other memory errors!". |
|
That warning text is old and should probably be removed. |
|
I've been doing some testing. Apparently the build failures I was experiencing were resulting from enabling the PostGreSQL or SpatialIndex backends while using the bundled jsoncpp. Enabling either of these feaures will build successfully if using the system jsoncpp. The only other issue I found which I wanted to bring up is that if gettext is enabled for native language support, and only the server is built but not the client, Minetest will build but the installation will fail due to missing minetest.mo files. |
|
Having the same issue on devuan, with postgres installed. trying the UPDATE: the system_jsoncpp thing fixed it for me. the cmake warnings are very annoying, but it works. |
|
Can't reproduce, it builds with |
Minetest version
OS / Hardware
Operating system: FreeBSD 12.1-STABLE r363327
CPU: Dual Intel Xeon X5680
Summary
I had to delete libevent temporarily from my system to circumvent issue #9078 . The only configuration option I passed was:
cmake .. -DCMAKE_EXE_LINKER_FLAGS="-L/usr/local/lib"
so that the build system would bind libintl. I ran make, and I got the following error output:
[100%] Building CXX object src/CMakeFiles/minetest.dir/voxel.cpp.o
[100%] Building CXX object src/CMakeFiles/minetest.dir/voxelalgorithms.cpp.o
[100%] Linking CXX executable ../../bin/minetest
ld: error: undefined symbol: Json::Value::operator=(Json::Value&&)
ld: error: undefined symbol: Json::Value::operator=(Json::Value const&)
ld: error: undefined symbol: Json::StreamWriterBuilder::operator[](std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&)
make[2]: stopped in /usr/home/patrick/work/minetest/minetest-5.3.0/build
1 error
make[2]: stopped in /usr/home/patrick/work/minetest/minetest-5.3.0/build
--- src/CMakeFiles/minetest.dir/all ---
*** [src/CMakeFiles/minetest.dir/all] Error code 2
make[1]: stopped in /usr/home/patrick/work/minetest/minetest-5.3.0/build
1 error
make[1]: stopped in /usr/home/patrick/work/minetest/minetest-5.3.0/build
*** [all] Error code 2
make: stopped in /usr/home/patrick/work/minetest/minetest-5.3.0/build
1 error
make: stopped in /usr/home/patrick/work/minetest/minetest-5.3.0/build
The text was updated successfully, but these errors were encountered: