alacarte-maps / alacarte

Renderer for OpenStreetMap tiles.
https://alacarte-maps.github.io/
Other
58 stars 18 forks source link

dependency libboost #86

Closed VonTalavang closed 7 years ago

VonTalavang commented 7 years ago

I need to downgrade the libboost ? because i have the 1.61 and this appeared when iI do the Install

alacarte-maps-server: error while loading shared libraries: libboost_log.so.1.55.0: cannot open shared object file: No such file or directory

thanks

VonTalavang commented 7 years ago

also... doing the step: make -j $(nproc)

the log is huge and the last part says:

...
v2_mt_posix::sinks::basic_text_ostream_backend<char>::consume(boost::log::v2_mt_posix::record_view const&, std::string const&)'
collect2: error: ld returned 1 exit status
CMakeFiles/unitTests_server.dir/build.make:398: recipe for target 'unitTests_server' failed
make[2]: *** [unitTests_server] Error 1
CMakeFiles/Makefile2:1398: recipe for target 'CMakeFiles/unitTests_server.dir/all' failed
make[1]: *** [CMakeFiles/unitTests_server.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
Semoar commented 7 years ago

Have you tried to delete the build directory and start from fresh again since you upgraded your Boost version? On my machine it's compiling, installing and running without problems.

The first error means that alacarte-maps-server was compiled with Boost 1.55 and it looks for this specific version. To fix this you currently have to recompile it. To recompile you also have to delete the build dir and start again to let cmake search again for the current boost version, otherwise it would try to link against the old ones, which no longer exist.

VonTalavang commented 7 years ago

fresh download

ntala@ntala:~/alacarte/alacarte/build$ cmake .. -DCMAKE_BUILD_TYPE=Release
-- Boost version: 1.61.0
-- Found the following Boost libraries:
--   system
--   filesystem
--   thread
--   unit_test_framework
--   program_options
--   serialization
--   regex
--   iostreams
--   log
--   log_setup
--  < 1.12.2: enabling render lock.
-- Enabling debug code: 0
-- Default:  -Werror
-- Debug: -g
-- Profile: -g -O0 -ftest-coverage -fprofile-arcs -fprofile-values -fvpt -pg
-- Release: -O3 -DNDEBUG
-- Sanitize: -g -fsanitize=thread -fno-omit-frame-pointer
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ntala/alacarte/alacarte/build

I have a huge result here but... I found this:

CMakeFiles/alacarte-maps-importer.dir/src/alacarte_importer.cpp.o: In function boost::program_options::typed_value<std::string, char>::xparse(boost::any&, std::vector<std::string, std::allocator<std::string> > const&) const':
alacarte_importer.cpp:(.text._ZNK5boost15program_options11typed_valueISscE6xparseERNS_3anyERKSt6vectorISsSaISsEE[_ZNK5boost15program_options11typed_valueISscE6xparseERNS_3anyERKSt6vectorISsSaISsEE]+0x19): undefined reference to `boost::program_options::validate(boost::any&, std::vector<std::string, std::allocator<std::string> > const&, std::string*, int)'
florianjacob commented 7 years ago

Which distribution are you using?

Some distributions split up boost in separate libraries, in case you did not install something like boost-all, boost-program-options might be a separate library which you are missing.

VonTalavang commented 7 years ago

This is what I got libboost-program-options-dev is already the newest version (1.61.0.2).

florianjacob commented 7 years ago

Can you name the specific distribution you use? Some kind of Ubuntu I guess, as 1.61 is too current for Debian? How did you install this boost version? The strange thing is that the linker error where it can't find boost::programm_options::validate is actually inside boost, in boost::program_options::typed_value, and not in our code.

We test against Debian Jessie (boost 1.55), Ubuntu 16.04 (boost 1.58) and current Arch Linux (boost 1.62), with which we can't reproduce that problem. :disappointed:

Scheirle commented 7 years ago

Can you test if the boost examples work fine for you? http://www.boost.org/doc/libs/1_61_0/libs/program_options/example/ Especially the options_description.cpp and the option_groups.cpp

florianjacob commented 7 years ago

(Also, we're quite sure everything worked on Arch Linux when it was still on boost 1.61.)

VonTalavang commented 7 years ago

I did what Scheirle asks... undefined reference toboost::program_options::---` many times I think this is my own problem.

florianjacob commented 7 years ago

Ok, please reopen if you think we can help you with anything! :earth_africa: