Link error when linking CXX shared module _hdf5.so

23 views
Skip to first unread message

Ikyo Coyan

unread,
Apr 15, 2018, 9:27:19 AM4/15/18
to opengm
When I install opengm and run make command(I want the QPBO and PYTHON part in opengm):

I encountered this:
[ 35%] Linking CXX shared module _hdf5.so

 

Undefined symbols for architecture x86_64:

 
"_PyEval_InitThreads", referenced from:

      init_module__hdf5
() in hdf5.cpp.o

 
"_Py_Initialize", referenced from:

      init_module__hdf5
() in hdf5.cpp.o

 
"__Py_NoneStruct", referenced from:

      __GLOBAL__sub_I_hdf5
.cpp in hdf5.cpp.o

      boost
::python::detail::caller_arity<3u>::impl<void (*)(opengm::GraphicalModel<double, opengm::Adder, opengm::meta::TypeList<opengm::ExplicitFunction<double, unsigned long, unsigned long>, opengm::meta::TypeList<opengm::PottsFunction<double, unsigned long, unsigned long>, opengm::meta::TypeList<opengm::PottsNFunction<double, unsigned long, unsigned long>, opengm::meta::TypeList<opengm::PottsGFunction<double, unsigned long, unsigned long>, opengm::meta::TypeList<opengm::TruncatedAbsoluteDifferenceFunction<double, unsigned long, unsigned long>, opengm::meta::TypeList<opengm::TruncatedSquaredDifferenceFunction<double, unsigned long, unsigned long>, opengm::meta::TypeList<opengm::SparseFunction<double, unsigned long, unsigned long, std::__1::map<unsigned long, double, std::__1::less<unsigned long>, std::__1::allocator<std::__1::pair<unsigned long const, double> > > >, opengm::meta::TypeList<opengm::functions::learnable::LPotts<double, unsigned long, unsigned long>, opengm::meta::TypeList<opengm::functions::learnable::LUnary<double, unsigned long, unsigned long>, opengm::meta::ListEnd> > > > > > > > >, opengm::DiscreteSpace<unsigned long, unsigned long> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&), boost::python::default_call_policies, boost::mpl::vector4<void, opengm::GraphicalModel<double, opengm::Adder, opengm::meta::TypeList<opengm::ExplicitFunction<double, unsigned long, unsigned long>, opengm::meta::TypeList<opengm::PottsFunction<double, unsigned long, unsigned long>, opengm::meta::TypeList<opengm::PottsNFunction<double, unsigned long, unsigned long>, opengm::meta::TypeList<opengm::PottsGFunction<double, unsigned long, unsigned long>, opengm::meta::TypeList<opengm::TruncatedAbsoluteDifferenceFunction<double, unsigned long, unsigned long>, opengm::meta::TypeList<opengm::TruncatedSquaredDifferenceFunction<double, unsigned long, unsigned long>, opengm::meta::TypeList<opengm::SparseFunction<double, unsigned long, unsigned long, std::__1::map<unsigned long, double, std::__1::less<unsigned long>, std::__1::allocator<std::__1::pair<unsigned long const, double> > > >, opengm::meta::TypeList<opengm::functions::learnable::LPotts<double, unsigned long, unsigned long>, opengm::meta::TypeList<opengm::functions::learnable::LUnary<double, unsigned long, unsigned long>, opengm::meta::ListEnd> > > > > > > > >, opengm::DiscreteSpace<unsigned long, unsigned long> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&> >::operator()(_object*, _object*) in pyHdf5.cxx.o

      boost
::python::detail::caller_arity<3u>::impl<void (*)(opengm::GraphicalModel<double, opengm::Adder, opengm::meta::TypeList<opengm::ExplicitFunction<double, unsigned long, unsigned long>, opengm::meta::TypeList<opengm::PottsFunction<double, unsigned long, unsigned long>, opengm::meta::TypeList<opengm::PottsNFunction<double, unsigned long, unsigned long>, opengm::meta::TypeList<opengm::PottsGFunction<double, unsigned long, unsigned long>, opengm::meta::TypeList<opengm::TruncatedAbsoluteDifferenceFunction<double, unsigned long, unsigned long>, opengm::meta::TypeList<opengm::TruncatedSquaredDifferenceFunction<double, unsigned long, unsigned long>, opengm::meta::TypeList<opengm::SparseFunction<double, unsigned long, unsigned long, std::__1::map<unsigned long, double, std::__1::less<unsigned long>, std::__1::allocator<std::__1::pair<unsigned long const, double> > > >, opengm::meta::TypeList<opengm::functions::learnable::LPotts<double, unsigned long, unsigned long>, opengm::meta::TypeList<opengm::functions::learnable::LUnary<double, unsigned long, unsigned long>, opengm::meta::ListEnd> > > > > > > > >, opengm::DiscreteSpace<unsigned long, unsigned long> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&), boost::python::default_call_policies, boost::mpl::vector4<void, opengm::GraphicalModel<double, opengm::Adder, opengm::meta::TypeList<opengm::ExplicitFunction<double, unsigned long, unsigned long>, opengm::meta::TypeList<opengm::PottsFunction<double, unsigned long, unsigned long>, opengm::meta::TypeList<opengm::PottsNFunction<double, unsigned long, unsigned long>, opengm::meta::TypeList<opengm::PottsGFunction<double, unsigned long, unsigned long>, opengm::meta::TypeList<opengm::TruncatedAbsoluteDifferenceFunction<double, unsigned long, unsigned long>, opengm::meta::TypeList<opengm::TruncatedSquaredDifferenceFunction<double, unsigned long, unsigned long>, opengm::meta::TypeList<opengm::SparseFunction<double, unsigned long, unsigned long, std::__1::map<unsigned long, double, std::__1::less<unsigned long>, std::__1::allocator<std::__1::pair<unsigned long const, double> > > >, opengm::meta::TypeList<opengm::functions::learnable::LPotts<double, unsigned long, unsigned long>, opengm::meta::TypeList<opengm::functions::learnable::LUnary<double, unsigned long, unsigned long>, opengm::meta::ListEnd> > > > > > > > >, opengm::DiscreteSpace<unsigned long, unsigned long> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&> >::operator()(_object*, _object*) in pyHdf5.cxx.o

      __GLOBAL__sub_I_pyHdf5
.cxx in pyHdf5.cxx.o

ld
: symbol(s) not found for architecture x86_64

clang
: error: linker command failed with exit code 1 (use -v to see invocation)

make
[2]: *** [src/interfaces/python/opengm/hdf5/_hdf5.so] Error 1

make
[1]: *** [src/interfaces/python/opengm/hdf5/CMakeFiles/_hdf5.dir/all] Error 2


I searched a lot while it seems nobody had met this before.... Is there any one can help? 

Best wishes.

Reply all
Reply to author
Forward
0 new messages