Skip to content
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

Compile fails on Ubuntu & Linux in general #2

Open
kf6kjg opened this issue Nov 15, 2018 · 2 comments
Open

Compile fails on Ubuntu & Linux in general #2

kf6kjg opened this issue Nov 15, 2018 · 2 comments
Labels
bug Something isn't working

Comments

@kf6kjg
Copy link
Contributor

kf6kjg commented Nov 15, 2018

This is due to updating to Boost 1.66.0 from the previously required Boost 1.55.0. The oldest available in Conan is 1.66.0, hence the change, but this is causing breakage - but only on the Ubuntu Linux build.

At the moment the CI is set to ignore failures in the Ubuntu build. I want this reversed, but the Boost change issue needs resolution first.

@kf6kjg kf6kjg added the bug Something isn't working label Nov 15, 2018
@sonjamichelle
Copy link

I get the following error when trying to compile whip from master branch.

/usr/bin/ld: CMakeFiles/whip.dir/whip/Settings.cpp.o: in function `boost::program_options::typed_value<unsigned short, char>::name[abi:cxx11]() const':
/home/sonja/.conan/data/boost/1.66.0/conan/stable/package/df3874189b532ef4ac1dcae1faf442a3e9828c75/include/boost/program_options/detail/value_semantic.hpp:22: undefined reference to `boost::program_options::arg[abi:cxx11]'
/usr/bin/ld: CMakeFiles/whip.dir/whip/Settings.cpp.o: in function `void boost::program_options::validate<int, char>(boost::any&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, int*, long)':
/home/sonja/.conan/data/boost/1.66.0/conan/stable/package/df3874189b532ef4ac1dcae1faf442a3e9828c75/include/boost/program_options/detail/value_semantic.hpp:95: undefined reference to `boost::program_options::invalid_option_value::invalid_option_value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: CMakeFiles/whip.dir/whip/Settings.cpp.o: in function `void boost::program_options::validate<unsigned int, char>(boost::any&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, unsigned int*, long)':
/home/sonja/.conan/data/boost/1.66.0/conan/stable/package/df3874189b532ef4ac1dcae1faf442a3e9828c75/include/boost/program_options/detail/value_semantic.hpp:95: undefined reference to `boost::program_options::invalid_option_value::invalid_option_value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: CMakeFiles/whip.dir/whip/Settings.cpp.o: in function `void boost::program_options::validate<unsigned short, char>(boost::any&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, unsigned short*, long)':
/home/sonja/.conan/data/boost/1.66.0/conan/stable/package/df3874189b532ef4ac1dcae1faf442a3e9828c75/include/boost/program_options/detail/value_semantic.hpp:95: undefined reference to `boost::program_options::invalid_option_value::invalid_option_value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: CMakeFiles/whip.dir/whip/Settings.cpp.o:(.data.rel.ro._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options16validation_errorEEEEE[_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options16validation_errorEEEEE]+0x38): undefined reference to `boost::program_options::error_with_option_name::substitute_placeholders(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
/usr/bin/ld: CMakeFiles/whip.dir/whip/Settings.cpp.o:(.data.rel.ro._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEEE[_ZTVN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEEE]+0x30): undefined reference to `boost::program_options::error_with_option_name::substitute_placeholders(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
/usr/bin/ld: CMakeFiles/whip.dir/whip/Settings.cpp.o:(.data.rel.ro._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE[_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE]+0x38): undefined reference to `boost::program_options::error_with_option_name::substitute_placeholders(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
/usr/bin/ld: CMakeFiles/whip.dir/whip/Settings.cpp.o:(.data.rel.ro._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE[_ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE]+0x30): undefined reference to `boost::program_options::error_with_option_name::substitute_placeholders(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/whip.dir/build.make:852: bin/whip] Error 1
make[2]: Leaving directory '/home/sonja/whip-server-master/build'
make[1]: *** [CMakeFiles/Makefile2:76: CMakeFiles/whip.dir/all] Error 2
make[1]: Leaving directory '/home/sonja/whip-server-master/build'
make: *** [Makefile:87: all] Error 2
cp: cannot stat 'build/bin/whip': No such file or directory

Not sure where to look for the resolution.

@kf6kjg
Copy link
Contributor Author

kf6kjg commented Apr 24, 2019

That's the error I was mentioning. If you manually set up and install Boost 1.55.x correctly, no mean feat on its own, then you can compile successfully. This I've done locally on my computer, but it was... difficult to get right.

The real fix is to modernize the WHIP code to use C++17 and newer versions of Boost. That'll take a bit of effort.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants