-
Notifications
You must be signed in to change notification settings - Fork 3.4k
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
Build issue on Fedora 23 #1942
Comments
Please post the output of CMake here. And if you want to be a step ahead, follow the debug steps outlined in #1925 and #1510 (comment) and post their output, too. |
I added the display of some LUA variables in the CMakeLists.txt. Output from cmake: @build]$ cmake .. Verified luajit was installed: more on LUA packages installed: compat-lua-devel.x86_64 5.1.5-3.fc23 @fedora checking the libua.so for lua_rotate: lua -v |
(Could you fix the issue or did you accidentally close this ticket?) The following looks suspicious to me:
it seems like CMake picks up the Lua 5.2 libraries, but uses the default include path. I assume the headers for Lua 5.3 are at If this is the case then our CMake Lua detection script is to blame here, and I think (untested) you could quickfix it until we figured it out by invoking CMake like this:
Just for the record, could you run
|
I did not mean to close the ticket.... must have hit the wrong comment button... I tried cmake .. -DLUA_INCLUDE_DIR="/usr/include/lua5.3" No difference in final error. ls /usr/include/lua5.3 ldd /lib64/libluabind.so | grep lua I found /usr/share/lua/5.3 and tried cmake -DLUA_INCLUDE_DIR="/usr/share/lua/5.3" No difference in final error. NOTE: I do not have any .i686 LUA components installed.... only .x86_64 |
Could you show us which Lua versions are installed globally on your system?
Your luabind is linked against Lua 5.3, so OSRM has also to link against Lua 5.3. From what I see so far it seems like the libraries match, but the include path is wrong. |
Results from find /usr/include -type d -iname 'lua' NOTE : Installed LUA packages (dnf list installed | grep lua): compat-lua-devel.x86_64 5.1.5-3.fc23 @fedora |
Okay, perfect. This is all the information we need to pin-point this issue:
OSRM's Lua detection is done in cmake/FindLua5.2.cmake, and hardcodes Lua 5.2. Unfortunately I don't have the required system here to debug it at the moment. You could try carefully replacing Lua 5.2 with Lua 5.3, that hopefully should do the trick. /cc @TheMarex your Arch setup comes with Lua 5.3, correct? Care to look into this? |
Hm actually I'm surprised that luabind works with |
Ended up in a mixed environment and cmake that cmake for OSRM was not happy with. After removing luabind and luabind-devel from Fedora 23 I am left with effectively lua 5.1. Output from building luabind from https://github.com/mapbox/luabind : cd build -- Detecting CXX compile features - done make results from cmake .. -DLUA_INCLUDE_DIR="/usr/local/include/luabind" FYI: I am building on Fedora 23 which is a VM running in VirtualBox (no bearing to our issues but offers another way for others to test) |
You link libluabind against Lua 5.1
But then OSRM's CMake links against Lua 5.2
Could you build and install luabind again this time linked against Lua 5.2? I think you have to set |
Thanks!! I got it to build though it was a bit of trial and error. Ultimately I had to remove compat-lua-devel and compat-lua-libs. Compiled luabind with
and compiled OSRM with
I'll begin working with the libraries now and verify everything works. Thanks again for your assistance! |
Phew, that was probably the hardest case of installation troubles during the last weeks :) Glad it works now! I will add some notes to the Wiki based on what we learned here. If you see other issues during running the osrm pipeline, feel free to open a new ticket. |
On Fedora 22, I have same issue. I could not remove compat thing as it is showing below error |
Please build a more recent luabind locally (from https://github.com/mapbox/luabind). Make sure to build it against the Lua version OSRM is picking up in its buildsystem (during |
I am getting the following error while building on Fedora 23 following the instructions from https://github.com/Project-OSRM/osrm-backend/wiki/Building\ OSRM (substituting dnf for yum):
As root :
dnf install git cmake gcc-c++
dnf install libxml2-devel boost-devel boost-regex bzip2-devel
libzip-devel stxxl-devel
lua.x86_64 lua-devel.x86_64 luajit.x86_64 luajit-devel.x86_64
luabind.x86_64 luabind-devel.x86_64 expat expat-devel tbb tbb-devel
git clone https://github.com/DennisOSRM/Project-OSRM.git
mkdir –p Project-OSRM/build
cd Project-OSRM/build
cmake ..
make
[ 2%] Built target CONTRACTOR
[ 15%] Built target ENGINE
[ 38%] Built target EXTRACTOR
[ 40%] Configuring revision fingerprint
-- Fingerprint unchanged, not regenerating
[ 40%] Built target FingerPrintConfigure
[ 50%] Built target SERVER
[ 52%] Built target STORAGE
[ 70%] Built target UTIL
[ 75%] Built target osrm
[ 77%] Built target osrm_store
[ 81%] Built target osrm-datastore
[ 84%] Built target osrm_extract
[ 86%] Linking CXX executable osrm-extract
/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/5.3.1/../../../../lib64/libluabind.so: undefined reference to symbol 'lua_rotate'
/usr/lib64/liblua-5.3.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
CMakeFiles/osrm-extract.dir/build.make:127: recipe for target 'osrm-extract' failed
make[2]: *** [osrm-extract] Error 1
CMakeFiles/Makefile2:532: recipe for target 'CMakeFiles/osrm-extract.dir/all' failed
make[1]: *** [CMakeFiles/osrm-extract.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
Any suggestions on how to proceed would be greatly appreciated.
V/R,
Paul
The text was updated successfully, but these errors were encountered: