mapsme / omim

🗺️ MAPS.ME — Offline OpenStreetMap maps for iOS and Android
Apache License 2.0
4.57k stars 1.15k forks source link

Compilation error for OSRM backend #3178

Open jav974 opened 8 years ago

jav974 commented 8 years ago

Hi guys,

i'm having a hard time trying to compile the OSRM backend ( Android compilation runs just fine ). Here is what i got as error :

Linking CXX executable osrm-mapsme CMakeFiles/osrm-mapsme.dir/mapsme/converter.cpp.o: dans la fonction « mapsme::GenerateRoutingIndex(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)::{lambda(bool)#2}::operator()(bool) const »: converter.cpp:(.text+0x2281): référence indéfinie vers « my::OnAssertFailed[abi:cxx11] » converter.cpp:(.text+0x2413): référence indéfinie vers « my::OnAssertFailed[abi:cxx11] » converter.cpp:(.text+0x2543): référence indéfinie vers « my::LogMessage[abi:cxx11] » converter.cpp:(.text+0x262b): référence indéfinie vers « my::OnAssertFailed[abi:cxx11] » CMakeFiles/osrm-mapsme.dir/mapsme/converter.cpp.o: dans la fonction « mapsme::GenerateRoutingIndex(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&) »: converter.cpp:(.text+0x3441): référence indéfinie vers « my::LogMessage[abi:cxx11] » converter.cpp:(.text+0x550c): référence indéfinie vers « my::OnAssertFailed[abi:cxx11] » converter.cpp:(.text+0x56a8): référence indéfinie vers « my::OnAssertFailed[abi:cxx11] » converter.cpp:(.text+0x629c): référence indéfinie vers « my::LogMessage[abi:cxx11] » converter.cpp:(.text+0x6651): référence indéfinie vers « my::LogMessage[abi:cxx11] » converter.cpp:(.text+0x6e6a): référence indéfinie vers « my::LogMessage[abi:cxx11] » collect2: error: ld returned 1 exit status CMakeFiles/osrm-mapsme.dir/build.make:151: recipe for target 'osrm-mapsme' failed make[2]: * [osrm-mapsme] Error 1 CMakeFiles/Makefile2:569: recipe for target 'CMakeFiles/osrm-mapsme.dir/all' failed make[1]: * [CMakeFiles/osrm-mapsme.dir/all] Error 2 Makefile:116: recipe for target 'all' failed make: *\ [all] Error 2

Sorry it is in french ( well frenglish but overall understandable, i guess, hope.. )

I have all dependencies required for the compilation as stated in your INSTALL.md

Here is the command i use to compile it :

CONFIG=gtool omim/tools/unix/build_omim.sh -ro

Thanks in advance,

jav974

Zverik commented 8 years ago

What OS are you compiling it on? Mac OSX or Linux? Which linux? Could you add set -x to the top of build_omim.sh and rebuild osrm?

jav974 commented 8 years ago

I'm on Ubuntu 15.04 x64. I tried to add set -x to the top of build_omim.sh and it didn't work neither :(

Zverik commented 8 years ago

-x would print all commands executed, and I would need to know the command line for qmake for omim in both cases.

fijemax commented 8 years ago

Hi,

I have launch : CONFIG=gtool omim/tools/unix/build_omim.sh -ro

And i have exactly the same problem with same log error, have you solved it ?

I'm on Ubuntu 16.04 x64

Thanks in advance.

fijemax

rinigus commented 8 years ago

Have the same issue on Ubuntu 16.04 x64:

[ 78%] Linking CXX executable osrm-mapsme CMakeFiles/osrm-mapsme.dir/mapsme/converter.cpp.o: In function mapsme::GenerateRoutingIndex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(bool)#2}::operator()(bool) const': converter.cpp:(.text+0x2291): undefined reference tomy::OnAssertFailed[abi:cxx11]' converter.cpp:(.text+0x2423): undefined reference to my::OnAssertFailed[abi:cxx11]' converter.cpp:(.text+0x2553): undefined reference tomy::LogMessage[abi:cxx11]' converter.cpp:(.text+0x263b): undefined reference to my::OnAssertFailed[abi:cxx11]' CMakeFiles/osrm-mapsme.dir/mapsme/converter.cpp.o: In functionmapsme::GenerateRoutingIndex(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)': converter.cpp:(.text+0x34b9): undefined reference to my::LogMessage[abi:cxx11]' converter.cpp:(.text+0x5410): undefined reference tomy::OnAssertFailed[abi:cxx11]' converter.cpp:(.text+0x55ac): undefined reference to my::OnAssertFailed[abi:cxx11]' converter.cpp:(.text+0x6194): undefined reference tomy::LogMessage[abi:cxx11]' converter.cpp:(.text+0x6551): undefined reference to my::LogMessage[abi:cxx11]' converter.cpp:(.text+0x6d77): undefined reference tomy::LogMessage[abi:cxx11]' collect2: error: ld returned 1 exit status CMakeFiles/osrm-mapsme.dir/build.make:164: recipe for target 'osrm-mapsme' failed make[2]: * [osrm-mapsme] Error 1 CMakeFiles/Makefile2:530: recipe for target 'CMakeFiles/osrm-mapsme.dir/all' failed make[1]: * [CMakeFiles/osrm-mapsme.dir/all] Error 2 Makefile:127: recipe for target 'all' failed make: *\ [all] Error 2

rinigus commented 8 years ago

Any success of bypassing this one? Or any success on getting it compile on Ubuntu 16.04?

jav974 commented 8 years ago

Hi,

i did not manage to compile it, i gave up sorry. But it seems to be related with ABI incompatibility accross compilers and compiled libs (boost or whatever else) that is included in the project. I'm sure everything would run just fine on pretty old ubuntu version with older compilers / libs.

Too bad, mapsme is just THE best software for offline mapping as regard to me... I ended up using skobbler scout... but it is far less good quality, although the documentation is good.

Sorry again

2016-09-04 20:26 GMT+02:00 rinigus notifications@github.com:

Any success of bypassing this one? Or any success on getting it compile on Ubuntu 16.04?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/mapsme/omim/issues/3178#issuecomment-244620460, or mute the thread https://github.com/notifications/unsubscribe-auth/ACZBe0CuB8wM11eggmARzZgRyYVSgg-aks5qmw1EgaJpZM4IcNdu .

rinigus commented 8 years ago

Thank you for reply. I managed to compile it on Gentoo, so this is not an issue for me anymore.. Although , I presume that instructions for newer Ubuntu LTS should be given

fijemax commented 8 years ago

Hi, I haven't solved the problem but i passed him by commenting the log lines and assert lines in the 3party. It's not the solution but provisionally you can do that.

jav974 commented 8 years ago

Hi,

did you get the map generation tool to work normally after doing that ? Thanks for this solution anyway :)

2016-09-06 16:50 GMT+02:00 Jean-Maxime Fillau notifications@github.com:

Hi, I haven't solved the problem but i passed him by commenting the log lines and assert lines in the 3party. It's not the solution but provisionally you can do that.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/mapsme/omim/issues/3178#issuecomment-244975305, or mute the thread https://github.com/notifications/unsubscribe-auth/ACZBe4VDfEkxMWbItYGapbBvMRWiRDCxks5qnX3HgaJpZM4IcNdu .

fijemax commented 8 years ago

I have generated the ".mwm" map file with routing informations for Andorra region. The routing calculator and the rendering carto worked normally on sony xperia and the android studio emulator.