Closed VonTalavang closed 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
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.
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)'
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.
This is what I got
libboost-program-options-dev is already the newest version (1.61.0.2).
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:
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
(Also, we're quite sure everything worked on Arch Linux when it was still on boost 1.61.)
I did what Scheirle asks...
undefined reference to
boost::program_options::---`
many times
I think this is my own problem.
Ok, please reopen if you think we can help you with anything! :earth_africa:
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