genome / joinx

a tool for processing .bed and .vcf files
21 stars 11 forks source link

Build fails on RHEL6.7 #12

Closed fnollet closed 8 years ago

fnollet commented 8 years ago

Hi

I am building on RHEL 6.7, but I get a failure: Linking CXX executable ../../../../bin/TestProcessors ../../../../vendor/boost/boost/lib/libboost_regex.a(instances.o): In functionboost::exception_detail::error_info_injectorstd::invalid_argument::~error_info_injector()': instances.cpp:(.text._ZN5boost16exception_detail19error_info_injectorISt16invalid_argumentED2Ev[_ZN5boost16exception_detail19error_info_injectorISt16invalid_argumentED5Ev]+0x41): undefined reference to std::invalid_argument::~invalid_argument()' ../../../../vendor/boost/boost/lib/libboost_regex.a(instances.o): In functionboost::exception_detail::clone_implboost::exception_detail::error_info_injector::~clone_impl()': instances.cpp:(.text._ZN5boost16exception_detail10clone_implINS0_19error_info_injectorISt16invalid_argumentEEED1Ev[boost::exception_detail::clone_implboost::exception_detail::error_info_injector::~clone_impl()]+0x51): undefined reference to std::invalid_argument::~invalid_argument()' ../../../../vendor/boost/boost/lib/libboost_regex.a(instances.o): In functionboost::exception_detail::error_info_injectorstd::invalid_argument::~error_info_injector()': instances.cpp:(.text._ZN5boost16exception_detail19error_info_injectorISt16invalid_argumentED0Ev[boost::exception_detail::error_info_injectorstd::invalid_argument::~error_info_injector()]+0x40): undefined reference to std::invalid_argument::~invalid_argument()' ../../../../vendor/boost/boost/lib/libboost_regex.a(instances.o): In functionboost::exception_detail::clone_implboost::exception_detail::error_info_injector::~clone_impl()': instances.cpp:(.text._ZN5boost16exception_detail10clone_implINS0_19error_info_injectorISt16invalid_argumentEEED0Ev[boost::exception_detail::clone_implboost::exception_detail::error_info_injector::~clone_impl()]+0x51): undefined reference to std::invalid_argument::~invalid_argument()' ../../../../vendor/boost/boost/lib/libboost_regex.a(instances.o): In functionboost::exception_detail::clone_implboost::exception_detail::error_info_injector::rethrow() const': instances.cpp:(.text._ZNK5boost16exception_detail10clone_implINS0_19error_info_injectorISt16invalid_argumentEEE7rethrowEv[boost::exception_detail::clone_implboost::exception_detail::error_info_injector::rethrow() const]+0xe6): undefined reference to std::invalid_argument::~invalid_argument()' ../../../../vendor/boost/boost/lib/libboost_regex.a(instances.o):instances.cpp:(.text._ZNK5boost16exception_detail10clone_implINS0_19error_info_injectorISt16invalid_argumentEEE5cloneEv[boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::invalid_argument> >::clone() const]+0x1b3): more undefined references tostd::invalid_argument::~invalid_argument()' follow ../../../../vendor/boost/boost/lib/libboost_regex.a(instances.o): In function boost::object_cache<boost::re_detail::cpp_regex_traits_base<char>, boost::re_detail::cpp_regex_traits_implementation<char> >::do_get(boost::re_detail::cpp_regex_traits_base<char> const&, unsigned long)': instances.cpp:(.text._ZN5boost12object_cacheINS_9re_detail21cpp_regex_traits_baseIcEENS1_31cpp_regex_traits_implementationIcEEE6do_getERKS3_m[boost::object_cache<boost::re_detail::cpp_regex_traits_base<char>, boost::re_detail::cpp_regex_traits_implementation<char> >::do_get(boost::re_detail::cpp_regex_traits_base<char> const&, unsigned long)]+0xdf): undefined reference tostd::detail::_List_node_base::_M_transfer(std::detail::_List_nodebase, std::detail::_List_nodebase)' instances.cpp:(.text._ZN5boost12object_cacheINS_9re_detail21cpp_regex_traits_baseIcEENS1_31cpp_regex_traits_implementationIcEEE6do_getERKS3_m[boost::object_cacheboost::re_detail::cpp_regex_traits_base<char, boost::re_detail::cpp_regex_traits_implementation >::do_get(boost::re_detail::cpp_regex_traits_base const&, unsigned long)]+0x100): undefined reference to `std::detail::_List_node_base::_M_transfer(std::detail::_List_node_base, std::__detail::_List_node_base)' instances.cpp:(.text._ZN5boost12object_cacheINS_9re_detail21cpp_regex_traits_baseIcEENS1_31cpp_regex_traits_implementationIcEEE6do_getERKS3_m[boost::object_cache<boost::re_detail::cpp_regex_traits_base, boost::re_detail::cpp_regex_traits_implementation >::do_get(boost::re_detail::cpp_regex_traits_base const&, unsigned long)]+0x330): undefined reference to`std::__detail::_List_node_base::_M_hook(std::detail::_List_nodebase)' instances.cpp:(.text._ZN5boost12object_cacheINS_9re_detail21cpp_regex_traits_baseIcEENS1_31cpp_regex_traits_implementationIcEEE6do_getERKS3_m[boost::object_cacheboost::re_detail::cpp_regex_traits_base<char, boost::re_detail::cpp_regex_traits_implementation >::do_get(boost::re_detail::cpp_regex_traits_base const&, unsigned long)]+0x547): undefined reference to std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base_)' instances.cpp:(.text._ZN5boost12object_cacheINS_9re_detail21cpp_regex_traits_baseIcEENS1_31cpp_regex_traits_implementationIcEEE6do_getERKS3_m[boost::object_cacheboost::re_detail::cpp_regex_traits_base<char, boost::re_detail::cpp_regex_traits_implementation<char> >::do_get(boost::re_detail::cpp_regex_traits_base<char> const&, unsigned long)]+0x5d6): undefined reference tostd::__detail::_List_node_base::_M_unhook()' collect2: ld returned 1 exit status make[2]: [bin/TestProcessors] Error 1 make[1]: [build/test/lib/processors/CMakeFiles/TestProcessors.dir/all] Error 2 make: *** [all] Error 2 `

I have no idea where to start looking at as the boostlib is included in the package. Please advice...

Filip Nollet

ernfrid commented 8 years ago

In looking into this type of error online, it seems that this sometimes happens when different compilers or library versions are linked together. For example, this could happen if boost was compiled with one compiler and then the rest of joinx compiled with a different one. Are you attempting to specify a different compiler than what is installed system-wide for joinx? Any custom flags etc utilized when calling cmake?

fnollet commented 8 years ago

Indeed, this could be the case. Let me verify if I messed up my environment while trying to build joinx.

fnollet commented 8 years ago

Seems that was the case; mix-up between compiler versions indeed. Thanks for the fast feedback!