Closed 123mitnik closed 10 years ago
It looks like your gcc is too old (4.0.1, current release is 4.9). This code uses std=c++11, which I don't think had support before 4.7.
Off the top of my head, I think this code uses c++11 both for some libraryfunctions (which generated the error you saw) and for type aliases. Those dependencies could be removed, but I don't have any plans to do that. I think the easiest solution is to upgrade your compiler (which will give you other performance benefits too!).
On Thursday, May 22, 2014, 123mitnik notifications@github.com wrote:
Hello Matthew, i was trying to build pyhsmm on OSX platform Python 2.7.6 |Anaconda 1.9.1 (x86_64) [GCC 4.0.1 (Apple Inc. build 5493)] on darwin
after executing -> python setup.py build_ext --inplace
i stubbled upon the following:
DNDEBUG -fopenmp -DEIGEN_DONT_PARALLELIZE -std=c++11 In file included from internals/hmm_messages_interface.cpp:354: In file included from internals/hmm_messages.h:4: In file included from deps/Eigen3/Eigen/Core:287: deps/Eigen3/Eigen/src/Core/MathFunctions.h:357:18: error: no member named 'log1p' in namespace 'std'; did you mean 'log10'? using std::log1p;
log10 /usr/include/math.h:391:15: note: 'log10' declared here extern double log10(double); ^ In file included from internals/hmm_messages_interface.cpp:354: In file included from internals/hmm_messages.h:4: In file included from deps/Eigen3/Eigen/Core:329: deps/Eigen3/Eigen/src/Core/DenseStorage.h:302:21: error: no member named 'move' in namespace 'std' : m_data(std::move(other.m_data)) ~~~~~^ deps/Eigen3/Eigen/src/Core/DenseStorage.h:303:21: error: no member named 'move' in namespace 'std' , m_rows(std::move(other.m_rows)) ~~~~~^ deps/Eigen3/Eigen/src/Core/DenseStorage.h:304:21: error: no member named 'move' in namespace 'std' , m_cols(std::move(other.m_cols)) ~~~~~^ deps/Eigen3/Eigen/src/Core/DenseStorage.h:373:21: error: no member named 'move' in namespace 'std' : m_data(std::move(other.m_data)) ~~~~~^ deps/Eigen3/Eigen/src/Core/DenseStorage.h:374:21: error: no member named 'move' in namespace 'std' , m_cols(std::move(other.m_cols)) ~~~~~^ deps/Eigen3/Eigen/src/Core/DenseStorage.h:439:21: error: no member named 'move' in namespace 'std' : m_data(std::move(other.m_data)) ~~~~~^ deps/Eigen3/Eigen/src/Core/DenseStorage.h:440:21: error: no member named 'move' in namespace 'std' , m_rows(std::move(other.m_rows)) ~~~~~^ In file included from internals/hmm_messages_interface.cpp:354: In file included from internals/hmm_messages.h:4: In file included from deps/Eigen3/Eigen/Core:334: deps/Eigen3/Eigen/src/Core/PlainObjectBase.h:470:25: error: no member named 'move' in namespace 'std' : m_storage( std::move(other.m_storage) ) ~~~~~^ In file included from internals/hmm_messages_interface.cpp:354: In file included from internals/hmm_messages.h:4: In file included from deps/Eigen3/Eigen/Core:335: deps/Eigen3/Eigen/src/Core/Matrix.h:222:19: error: no member named 'move' in namespace 'std' : Base(std::move(other)) ~~~~~^ In file included from internals/hmm_messages_interface.cpp:354: In file included from internals/hmm_messages.h:4: In file included from deps/Eigen3/Eigen/Core:336: deps/Eigen3/Eigen/src/Core/Array.h:134:19: error: no member named 'move' in namespace 'std' : Base(std::move(other)) ~~~~~^ In file included from internals/hmm_messages_interface.cpp:354: In file included from internals/hmm_messages.h:4: In file included from deps/Eigen3/Eigen/Core:335: deps/Eigen3/Eigen/src/Core/Matrix.h:139:5: error: using declaration refers into 'Base::', which is not a base class of 'Matrix' EIGEN_DENSE_PUBLIC_INTERFACE(Matrix) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ deps/Eigen3/Eigen/src/Core/util/Macros.h:381:9: note: expanded from macro 'EIGEN_DENSE_PUBLIC_INTERFACE' using Base::derived; \ ^~~~~~ internals/hmm_messages.h:185:18: note: in instantiation of template class 'Eigen::Matrix' requested here MatrixXi args(M,T); ^ In file included from internals/hmm_messages_interface.cpp:354: In file included from internals/hmm_messages.h:4: In file included from deps/Eigen3/Eigen/Core:335: deps/Eigen3/Eigen/src/Core/Matrix.h:139:5: error: using declaration refers into 'Base::', which is not a base class of 'Matrix' EIGEN_DENSE_PUBLIC_INTERFACE(Matrix) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ deps/Eigen3/Eigen/src/Core/util/Macros.h:382:9: note: expanded from macro 'EIGEN_DENSE_PUBLIC_INTERFACE' using Base::const_cast_derived; ^~~~~~ In file included from internals/hmm_messages_interface.cpp:354: In file included from internals/hmm_messages.h:4: In file included from deps/Eigen3/Eigen/Core:335: deps/Eigen3/Eigen/src/Core/Matrix.h:143:11: error: using declaration refers into 'Base::', which is not a base class of 'Matrix' using Base::base; ^~~~~~ deps/Eigen3/Eigen/src/Core/Matrix.h:144:11: error: using declaration refers into 'Base::', which is not a base class of 'Matrix' using Base::coeffRef; ^~~~~~ deps/Eigen3/Eigen/src/Core/Matrix.h:381:11: error: using declaration refers into 'Base::', which is not a base class of 'Matrix' using Base::m_storage; ^~~~~~ deps/Eigen3/Eigen/src/Core/Matrix.h:139:5: error: using declaration refers into 'Base::', which is not a base class of 'Matrix' EIGEN_DENSE_PUBLIC_INTERFACE(Matrix) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ deps/Eigen3/Eigen/src/Core/util/Macros.h:381:9: note: expanded from macro 'EIGEN_DENSE_PUBLIC_INTERFACE' using Base::derived; \ ^~~~~~ deps/Eigen3/Eigen/src/Core/Map.h:73:20: note: in instantiation of template class 'Eigen::Matrix' requested here typedef typename PlainObjectType::Index Index; ^ deps/Eigen3/Eigen/src/Core/util/ForwardDeclarations.h:32:31: note: in instantiation of template class 'Eigen::internal::traits, 1, Eigen::Stride > >' requested here enum { has_direct_access = (traits::Flags & DirectAccessBit) ? 1 : 0, ^ deps/Eigen3/Eigen/src/Core/util/ForwardDeclarations.h:109:32: note: in instantiation of template class 'Eigen::internal::accessors_level, 1, Eigen::Stride > >' requested here int Level = internal::accessors_level::has_write_access ? WriteAccessors : ReadOnlyAccessors ^ deps/Eigen3/Eigen/src/Core/Map.h:105:12: note: in instantiation of default argument for 'MapBase -1, -1>, 1, Eigen::Stride > >' required here : public MapBase > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ internals/hmm_messages.h:31:24: note: in instantiation of template class 'Eigen::Map, 1, Eigen::Stride >' requested here NPMatrix eA(A,M,M); ^ internals/hmm_messages.h:221:12: note: in instantiation of function template specialization 'hmm::messages_backwards_log' requested here { hmm::messages_backwards_log(M,T,A,aBl,betal); } ^ internals/hmm_messages_interface.cpp:3511:15: note: in instantiation of member function 'hmmc::messages_backwards_log' requested here __pyx_v_ref.messages_backwards_log((__pyx_v_A.shape[0]), (__pyx_v_aBl.shape[0]), (&(*((float *) ( /* dim=1 */ ((char *) (((float *... ^ In file included from internals/hmm_messages_interface.cpp:354: In file included from internals/hmm_messages.h:4: In file included from deps/Eigen3/Eigen/Core:335: deps/Eigen3/Eigen/src/Core/Matrix.h:139:5: error: using declaration refers into 'Base::', which is not a base class of 'Matrix' EIGEN_DENSE_PUBLIC_INTERFACE(Matrix) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ deps/Eigen3/Eigen/src/Core/util/Macros.h:382:9: note: expanded from macro 'EIGEN_DENSE_PUBLIC_INTERFACE' using Base::const_cast_derived; ^~~~~~ In file included from internals/hmm_messages_interface.cpp:354: In file included from internals/hmm_messages.h:4: In file included from deps/Eigen3/Eigen/Core:335: deps/Eigen3/Eigen/src/Core/Matrix.h:143:11: error: using declaration refers into 'Base::', which is not a base class of 'Matrix' using Base::base; ^~~~~~ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. error: command 'gcc' failed with exit status 1 — Reply to this email directly or view it on GitHub<https://github.com/mattjj/pyhsmm/issues/21> .
Sent from my phone
I'm going to close this because I think it's a compiler issue not specific to pyhsmm, but feel free to reopen it if I'm wrong.
Hello Matthew, i was trying to build pyhsmm on OSX platform Python 2.7.6 |Anaconda 1.9.1 (x86_64) [GCC 4.0.1 (Apple Inc. build 5493)] on darwin
after executing -> python setup.py build_ext --inplace
i stumbled upon the following:
DNDEBUG -fopenmp -DEIGEN_DONT_PARALLELIZE -std=c++11 In file included from internals/hmm_messages_interface.cpp:354: In file included from internals/hmm_messages.h:4: In file included from deps/Eigen3/Eigen/Core:287: deps/Eigen3/Eigen/src/Core/MathFunctions.h:357:18: error: no member named 'log1p' in namespace 'std'; did you mean 'log10'? using std::log1p;