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

Can't compile on Ubuntu 20.04 LTS with boost 1.65.1 compiled from source #2181

Open
Vyrgyl opened this issue Nov 12, 2023 · 1 comment
Open

Comments

@Vyrgyl
Copy link

Vyrgyl commented Nov 12, 2023

Hi,

I've been trying to compile feelpp from this source repository using boost 1.65.1 that I compiled with GCC (shared and statically). The first error I have is:

[ 60%] Building CXX object feelpp/contrib/ginac/tools/CMakeFiles/viewgar.dir/viewgar.cpp.o
[ 61%] Linking CXX executable viewgar
/bin/ld: ../ginac/libfeelpp_ginac.so.6.0.1: undefined reference to `boost::mpi::communicator::operator int() const'
collect2: error: ld returned 1 exit status
make[2]: *** [feelpp/contrib/ginac/tools/CMakeFiles/viewgar.dir/build.make:108: feelpp/contrib/ginac/tools/viewgar] Error 1
make[1]: *** [CMakeFiles/Makefile2:4167: feelpp/contrib/ginac/tools/CMakeFiles/viewgar.dir/all] Error 2
make: *** [Makefile:166: all] Error 2

When I utilize the command 'nm -C libboost_mpi.so | grep "operator"'

00000000000233f0 T boost::mpi::threading::operator<<(std::ostream&, boost::mpi::threading::level)
00000000000232b0 T boost::mpi::threading::operator>>(std::istream&, boost::mpi::threading::level&)
000000000001a4ac t boost::mpi::threading::operator>>(std::istream&, boost::mpi::threading::level&) [clone .cold.42]
0000000000025050 T boost::mpi::operator&(boost::mpi::group const&, boost::mpi::group const&)
000000000001a822 t boost::mpi::operator&(boost::mpi::group const&, boost::mpi::group const&) [clone .cold.50]
00000000000213d0 T boost::mpi::operator==(boost::mpi::communicator const&, boost::mpi::communicator const&)
000000000001a2b0 t boost::mpi::operator==(boost::mpi::communicator const&, boost::mpi::communicator const&) [clone .cold.110]
0000000000024c30 T boost::mpi::operator==(boost::mpi::group const&, boost::mpi::group const&)
000000000001a716 t boost::mpi::operator==(boost::mpi::group const&, boost::mpi::group const&) [clone .cold.46]
0000000000025120 T boost::mpi::operator-(boost::mpi::group const&, boost::mpi::group const&)
000000000001a832 t boost::mpi::operator-(boost::mpi::group const&, boost::mpi::group const&) [clone .cold.51]
0000000000024f80 T boost::mpi::operator|(boost::mpi::group const&, boost::mpi::group const&)
000000000001a812 t boost::mpi::operator|(boost::mpi::group const&, boost::mpi::group const&) [clone .cold.49]
000000000001a2c0 t boost::mpi::communicator::comm_free::operator()(ompi_communicator_t**) const [clone .constprop.87]
0000000000020400 T boost::mpi::communicator::operator ompi_communicator_t*() const
U std::ostream::operator<<(int)@@GLIBCXX_3.4
U std::basic_istream<char, std::char_traits >& std::operator>><char, std::char_traits, std::allocator >(std::basic_istream<char, std::char_traits >&, std::__cxx11::basic_string<char, std::char_traits, std::allocator >&)@@GLIBCXX_3.4.21
U operator delete@@GLIBCXX_3.4
U operator delete(void*)@@GLIBCXX_3.4
U operator delete(void*, unsigned long)@@CXXABI_1.3.9
U operator new[](unsigned long)@@GLIBCXX_3.4
U operator new(unsigned long)@@GLIBCXX_3.4

So obviously there is no "boost::mpi::communicator::operator int()"

Even tho 'nm -C libboost_mpi.a | grep "boost::mpi::communicator::operator"'

             U boost::mpi::communicator::operator ompi_communicator_t*() const

00000000000000f0 T boost::mpi::communicator::operator ompi_communicator_t*() const
U boost::mpi::communicator::operator ompi_communicator_t*() const
U boost::mpi::communicator::operator ompi_communicator_t*() const

Is there an incompatibility issue with that particular version of Boost?

Thank you

@prudhomm
Copy link
Member

prudhomm commented Nov 13, 2023

Hello @Vyrgyl thank you for your report. We do compile feelpp on 20.04 have you installed libboost-all-dev ? it is actually boost 1.71 and not 1.65.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants