mattjj / pyhsmm

MIT License
546 stars 173 forks source link

Failed to install pyhsmm on Mac #52

Closed DanqingZ closed 8 years ago

DanqingZ commented 8 years ago

Below is my problem, I tried all the methods of installing pyhsmm, but still cannot install it on my Mac.

danqing0703@Danqings-MacBook-Pro:~/pyhsmm/examples$ pip install pyhsmm Collecting pyhsmm Using cached pyhsmm-0.1.4.tar.gz Requirement already satisfied (use --upgrade to upgrade): Cython>=0.20.1 in /Users/danqing0703/anaconda/lib/python2.7/site-packages (from pyhsmm) Requirement already satisfied (use --upgrade to upgrade): numpy in /Users/danqing0703/anaconda/lib/python2.7/site-packages (from pyhsmm) Requirement already satisfied (use --upgrade to upgrade): scipy in /Users/danqing0703/anaconda/lib/python2.7/site-packages (from pyhsmm) Requirement already satisfied (use --upgrade to upgrade): matplotlib in /Users/danqing0703/anaconda/lib/python2.7/site-packages (from pyhsmm) Requirement already satisfied (use --upgrade to upgrade): nose in /Users/danqing0703/anaconda/lib/python2.7/site-packages (from pyhsmm) Requirement already satisfied (use --upgrade to upgrade): pybasicbayes>=0.1.3 in /Users/danqing0703/anaconda/lib/python2.7/site-packages (from pyhsmm) Requirement already satisfied (use --upgrade to upgrade): six>=1.4 in /Users/danqing0703/anaconda/lib/python2.7/site-packages (from matplotlib->pyhsmm) Requirement already satisfied (use --upgrade to upgrade): python-dateutil in /Users/danqing0703/anaconda/lib/python2.7/site-packages (from matplotlib->pyhsmm) Requirement already satisfied (use --upgrade to upgrade): pytz in /Users/danqing0703/anaconda/lib/python2.7/site-packages (from matplotlib->pyhsmm) Requirement already satisfied (use --upgrade to upgrade): pyparsing>=1.5.6 in /Users/danqing0703/anaconda/lib/python2.7/site-packages (from matplotlib->pyhsmm) Requirement already satisfied (use --upgrade to upgrade): mock in /Users/danqing0703/anaconda/lib/python2.7/site-packages (from matplotlib->pyhsmm) Requirement already satisfied (use --upgrade to upgrade): future in /Users/danqing0703/anaconda/lib/python2.7/site-packages (from pybasicbayes>=0.1.3->pyhsmm) Requirement already satisfied (use --upgrade to upgrade): pbr>=0.11 in /Users/danqing0703/anaconda/lib/python2.7/site-packages (from mock->matplotlib->pyhsmm) Requirement already satisfied (use --upgrade to upgrade): funcsigs in /Users/danqing0703/anaconda/lib/python2.7/site-packages (from mock->matplotlib->pyhsmm) Building wheels for collected packages: pyhsmm Running setup.py bdist_wheel for pyhsmm Complete output from command /Users/danqing0703/anaconda/bin/python -c "import setuptools;file='/private/var/folders/3h/t2d82x_163d9sh0rph_wgrw00000gn/T/pip-build-QaUnW3/pyhsmm/setup.py';exec(compile(open(file).read().replace('\r\n', '\n'), file, 'exec'))" bdist_wheel -d /var/folders/3h/t2d82x_163d9sh0rph_wgrw00000gn/T/tmpsYliUapip-wheel-: running bdist_wheel running build running build_py creating build creating build/lib.macosx-10.5-x86_64-2.7 creating build/lib.macosx-10.5-x86_64-2.7/pyhsmm copying pyhsmm/init.py -> build/lib.macosx-10.5-x86_64-2.7/pyhsmm copying pyhsmm/models.py -> build/lib.macosx-10.5-x86_64-2.7/pyhsmm copying pyhsmm/parallel.py -> build/lib.macosx-10.5-x86_64-2.7/pyhsmm creating build/lib.macosx-10.5-x86_64-2.7/pyhsmm/basic copying pyhsmm/basic/init.py -> build/lib.macosx-10.5-x86_64-2.7/pyhsmm/basic copying pyhsmm/basic/abstractions.py -> build/lib.macosx-10.5-x86_64-2.7/pyhsmm/basic copying pyhsmm/basic/distributions.py -> build/lib.macosx-10.5-x86_64-2.7/pyhsmm/basic copying pyhsmm/basic/models.py -> build/lib.macosx-10.5-x86_64-2.7/pyhsmm/basic creating build/lib.macosx-10.5-x86_64-2.7/pyhsmm/internals copying pyhsmm/internals/init.py -> build/lib.macosx-10.5-x86_64-2.7/pyhsmm/internals copying pyhsmm/internals/hmm_states.py -> build/lib.macosx-10.5-x86_64-2.7/pyhsmm/internals copying pyhsmm/internals/hsmm_inb_states.py -> build/lib.macosx-10.5-x86_64-2.7/pyhsmm/internals copying pyhsmm/internals/hsmm_states.py -> build/lib.macosx-10.5-x86_64-2.7/pyhsmm/internals copying pyhsmm/internals/initial_state.py -> build/lib.macosx-10.5-x86_64-2.7/pyhsmm/internals copying pyhsmm/internals/transitions.py -> build/lib.macosx-10.5-x86_64-2.7/pyhsmm/internals creating build/lib.macosx-10.5-x86_64-2.7/pyhsmm/plugins copying pyhsmm/plugins/init.py -> build/lib.macosx-10.5-x86_64-2.7/pyhsmm/plugins creating build/lib.macosx-10.5-x86_64-2.7/pyhsmm/util copying pyhsmm/util/init.py -> build/lib.macosx-10.5-x86_64-2.7/pyhsmm/util copying pyhsmm/util/general.py -> build/lib.macosx-10.5-x86_64-2.7/pyhsmm/util copying pyhsmm/util/plot.py -> build/lib.macosx-10.5-x86_64-2.7/pyhsmm/util copying pyhsmm/util/profiling.py -> build/lib.macosx-10.5-x86_64-2.7/pyhsmm/util copying pyhsmm/util/stats.py -> build/lib.macosx-10.5-x86_64-2.7/pyhsmm/util copying pyhsmm/util/testing.py -> build/lib.macosx-10.5-x86_64-2.7/pyhsmm/util copying pyhsmm/util/text.py -> build/lib.macosx-10.5-x86_64-2.7/pyhsmm/util running build_ext building 'pyhsmm/internals.hmm_messages_interface' extension creating build/temp.macosx-10.5-x86_64-2.7 creating build/temp.macosx-10.5-x86_64-2.7/pyhsmm creating build/temp.macosx-10.5-x86_64-2.7/pyhsmm/internals gcc -fno-strict-aliasing -I/Users/danqing0703/anaconda/include -arch x86_64 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Ipyhsmm/deps/Eigen3 -I/Users/danqing0703/anaconda/lib/python2.7/site-packages/numpy/core/include -I/Users/danqing0703/anaconda/include/python2.7 -c pyhsmm/internals/hmm_messages_interface.cpp -o build/temp.macosx-10.5-x86_64-2.7/pyhsmm/internals/hmm_messages_interface.o -O3 -std=c++11 -DNDEBUG -w -DHMM_TEMPS_ON_HEAP In file included from pyhsmm/internals/hmm_messages_interface.cpp:279: In file included from pyhsmm/internals/hmm_messages.h:4: In file included from pyhsmm/deps/Eigen3/Eigen/Core:276: pyhsmm/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 pyhsmm/internals/hmm_messages_interface.cpp:279:
  In file included from pyhsmm/internals/hmm_messages.h:4:
  In file included from pyhsmm/deps/Eigen3/Eigen/Core:324:
  pyhsmm/deps/Eigen3/Eigen/src/Core/DenseStorage.h:302:21: error: no member named 'move' in namespace 'std'
        : m_data(std::move(other.m_data))
                 ~~~~~^
  pyhsmm/deps/Eigen3/Eigen/src/Core/DenseStorage.h:303:21: error: no member named 'move' in namespace 'std'
        , m_rows(std::move(other.m_rows))
                 ~~~~~^
  pyhsmm/deps/Eigen3/Eigen/src/Core/DenseStorage.h:304:21: error: no member named 'move' in namespace 'std'
        , m_cols(std::move(other.m_cols))
                 ~~~~~^
  pyhsmm/deps/Eigen3/Eigen/src/Core/DenseStorage.h:373:21: error: no member named 'move' in namespace 'std'
        : m_data(std::move(other.m_data))
                 ~~~~~^
  pyhsmm/deps/Eigen3/Eigen/src/Core/DenseStorage.h:374:21: error: no member named 'move' in namespace 'std'
        , m_cols(std::move(other.m_cols))
                 ~~~~~^
  pyhsmm/deps/Eigen3/Eigen/src/Core/DenseStorage.h:439:21: error: no member named 'move' in namespace 'std'
        : m_data(std::move(other.m_data))
                 ~~~~~^
  pyhsmm/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 pyhsmm/internals/hmm_messages_interface.cpp:279:
  In file included from pyhsmm/internals/hmm_messages.h:4:
  In file included from pyhsmm/deps/Eigen3/Eigen/Core:329:
  pyhsmm/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 pyhsmm/internals/hmm_messages_interface.cpp:279:
  In file included from pyhsmm/internals/hmm_messages.h:4:
  In file included from pyhsmm/deps/Eigen3/Eigen/Core:330:
  pyhsmm/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 pyhsmm/internals/hmm_messages_interface.cpp:279:
  In file included from pyhsmm/internals/hmm_messages.h:4:
  In file included from pyhsmm/deps/Eigen3/Eigen/Core:331:
  pyhsmm/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 pyhsmm/internals/hmm_messages_interface.cpp:279:
  In file included from pyhsmm/internals/hmm_messages.h:4:
  In file included from pyhsmm/deps/Eigen3/Eigen/Core:330:
  pyhsmm/deps/Eigen3/Eigen/src/Core/Matrix.h:139:5: error: using declaration refers into 'Base::', which is not a base class of 'Matrix<int, -1, -1, 0, -1, -1>'
      EIGEN_DENSE_PUBLIC_INTERFACE(Matrix)
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  pyhsmm/deps/Eigen3/Eigen/src/Core/util/Macros.h:403:9: note: expanded from macro 'EIGEN_DENSE_PUBLIC_INTERFACE'
    using Base::derived; \
          ^~~~~~
  pyhsmm/internals/hmm_messages.h:224:18: note: in instantiation of template class 'Eigen::Matrix<int, -1, -1, 0, -1, -1>' requested here
          MatrixXi args(M,T);
                   ^
  In file included from pyhsmm/internals/hmm_messages_interface.cpp:279:
  In file included from pyhsmm/internals/hmm_messages.h:4:
  In file included from pyhsmm/deps/Eigen3/Eigen/Core:330:
  pyhsmm/deps/Eigen3/Eigen/src/Core/Matrix.h:139:5: error: using declaration refers into 'Base::', which is not a base class of 'Matrix<int, -1, -1, 0, -1, -1>'
      EIGEN_DENSE_PUBLIC_INTERFACE(Matrix)
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  pyhsmm/deps/Eigen3/Eigen/src/Core/util/Macros.h:404:9: note: expanded from macro 'EIGEN_DENSE_PUBLIC_INTERFACE'
    using Base::const_cast_derived;
          ^~~~~~
  In file included from pyhsmm/internals/hmm_messages_interface.cpp:279:
  In file included from pyhsmm/internals/hmm_messages.h:4:
  In file included from pyhsmm/deps/Eigen3/Eigen/Core:330:
  pyhsmm/deps/Eigen3/Eigen/src/Core/Matrix.h:143:11: error: using declaration refers into 'Base::', which is not a base class of 'Matrix<int, -1, -1, 0, -1, -1>'
      using Base::base;
            ^~~~~~
  pyhsmm/deps/Eigen3/Eigen/src/Core/Matrix.h:144:11: error: using declaration refers into 'Base::', which is not a base class of 'Matrix<int, -1, -1, 0, -1, -1>'
      using Base::coeffRef;
            ^~~~~~
  pyhsmm/deps/Eigen3/Eigen/src/Core/Matrix.h:378:11: error: using declaration refers into 'Base::', which is not a base class of 'Matrix<int, -1, -1, 0, -1, -1>'
      using Base::m_storage;
            ^~~~~~
  pyhsmm/deps/Eigen3/Eigen/src/Core/Matrix.h:139:5: error: using declaration refers into 'Base::', which is not a base class of 'Matrix<float, -1, -1, 1, -1, -1>'
      EIGEN_DENSE_PUBLIC_INTERFACE(Matrix)
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  pyhsmm/deps/Eigen3/Eigen/src/Core/util/Macros.h:403:9: note: expanded from macro 'EIGEN_DENSE_PUBLIC_INTERFACE'
    using Base::derived; \
          ^~~~~~
  pyhsmm/deps/Eigen3/Eigen/src/Core/Map.h:73:20: note: in instantiation of template class 'Eigen::Matrix<float, -1, -1, 1, -1, -1>' requested here
    typedef typename PlainObjectType::Index Index;
                     ^
  pyhsmm/deps/Eigen3/Eigen/src/Core/util/ForwardDeclarations.h:32:31: note: in instantiation of template class 'Eigen::internal::traits<Eigen::Map<Eigen::Matrix<float, -1, -1, 1, -1, -1>, 1, Eigen::Stride<0, 0> > >' requested here
    enum { has_direct_access = (traits<Derived>::Flags & DirectAccessBit) ? 1 : 0,
                                ^
  pyhsmm/deps/Eigen3/Eigen/src/Core/util/ForwardDeclarations.h:109:32: note: in instantiation of template class 'Eigen::internal::accessors_level<Eigen::Map<Eigen::Matrix<float, -1, -1, 1, -1, -1>, 1, Eigen::Stride<0, 0> > >' requested here
           int Level = internal::accessors_level<Derived>::has_write_access ? WriteAccessors : ReadOnlyAccessors
                                 ^
  pyhsmm/deps/Eigen3/Eigen/src/Core/Map.h:105:12: note: in instantiation of default argument for 'MapBase<Eigen::Map<Eigen::Matrix<float, -1, -1, 1, -1, -1>, 1, Eigen::Stride<0, 0> > >' required here
    : public MapBase<Map<PlainObjectType, MapOptions, StrideType> >
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  pyhsmm/internals/hmm_messages.h:31:24: note: in instantiation of template class 'Eigen::Map<Eigen::Matrix<float, -1, -1, 1, -1, -1>, 1, Eigen::Stride<0, 0> >' requested here
          NPMatrix<Type> eA(A,M,M);
                         ^
  pyhsmm/internals/hmm_messages.h:260:12: note: in instantiation of function template specialization 'hmm::messages_backwards_log<float>' requested here
      { hmm::messages_backwards_log(M,T,A,aBl,betal); }
             ^
  pyhsmm/internals/hmm_messages_interface.cpp:2961:15: note: in instantiation of member function 'hmmc<float, int>::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 *) ( /_ dim=0 _/ (__pyx_v_A.data + __pyx_t_1 \* __pyx_v_A.strides[0]) )) + __pyx_t_2)) )))), (&(_((float _) ( /_ dim=1 _/ ((char *) (((float *) ( /_ dim=0 _/ (__pyx_v_aBl.data + __pyx_t_3 \* __pyx_v_aBl.strides[0]) )) + __pyx_t_4)) )))), (&(___Pyx_BufPtrCContig2d(float *, __pyx_pybuffernd_betal.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_betal.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_betal.diminfo[1].strides))));
                ^
  In file included from pyhsmm/internals/hmm_messages_interface.cpp:279:
  In file included from pyhsmm/internals/hmm_messages.h:4:
  In file included from pyhsmm/deps/Eigen3/Eigen/Core:330:
  pyhsmm/deps/Eigen3/Eigen/src/Core/Matrix.h:139:5: error: using declaration refers into 'Base::', which is not a base class of 'Matrix<float, -1, -1, 1, -1, -1>'
      EIGEN_DENSE_PUBLIC_INTERFACE(Matrix)
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  pyhsmm/deps/Eigen3/Eigen/src/Core/util/Macros.h:404:9: note: expanded from macro 'EIGEN_DENSE_PUBLIC_INTERFACE'
    using Base::const_cast_derived;
          ^~~~~~
  In file included from pyhsmm/internals/hmm_messages_interface.cpp:279:
  In file included from pyhsmm/internals/hmm_messages.h:4:
  In file included from pyhsmm/deps/Eigen3/Eigen/Core:330:
  pyhsmm/deps/Eigen3/Eigen/src/Core/Matrix.h:143:11: error: using declaration refers into 'Base::', which is not a base class of 'Matrix<float, -1, -1, 1, -1, -1>'
      using Base::base;
            ^~~~~~
  fatal error: too many errors emitted, stopping now [-ferror-limit=]
  20 errors generated.
  error: command 'gcc' failed with exit status 1

---

  Failed building wheel for pyhsmm
Failed to build pyhsmm
Installing collected packages: pyhsmm
  Running setup.py install for pyhsmm
    Complete output from command /Users/danqing0703/anaconda/bin/python -c "import setuptools, tokenize;**file**='/private/var/folders/3h/t2d82x_163d9sh0rph_wgrw00000gn/T/pip-build-QaUnW3/pyhsmm/setup.py';exec(compile(getattr(tokenize, 'open', open)(**file**).read().replace('\r\n', '\n'), **file**, 'exec'))" install --record /var/folders/3h/t2d82x_163d9sh0rph_wgrw00000gn/T/pip-5FdwS0-record/install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    running build_ext
    building 'pyhsmm/internals.hmm_messages_interface' extension
    gcc -fno-strict-aliasing -I/Users/danqing0703/anaconda/include -arch x86_64 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Ipyhsmm/deps/Eigen3 -I/Users/danqing0703/anaconda/lib/python2.7/site-packages/numpy/core/include -I/Users/danqing0703/anaconda/include/python2.7 -c pyhsmm/internals/hmm_messages_interface.cpp -o build/temp.macosx-10.5-x86_64-2.7/pyhsmm/internals/hmm_messages_interface.o -O3 -std=c++11 -DNDEBUG -w -DHMM_TEMPS_ON_HEAP
    In file included from pyhsmm/internals/hmm_messages_interface.cpp:279:
    In file included from pyhsmm/internals/hmm_messages.h:4:
    In file included from pyhsmm/deps/Eigen3/Eigen/Core:276:
    pyhsmm/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 pyhsmm/internals/hmm_messages_interface.cpp:279:
    In file included from pyhsmm/internals/hmm_messages.h:4:
    In file included from pyhsmm/deps/Eigen3/Eigen/Core:324:
    pyhsmm/deps/Eigen3/Eigen/src/Core/DenseStorage.h:302:21: error: no member named 'move' in namespace 'std'
          : m_data(std::move(other.m_data))
                   ~~~~~^
    pyhsmm/deps/Eigen3/Eigen/src/Core/DenseStorage.h:303:21: error: no member named 'move' in namespace 'std'
          , m_rows(std::move(other.m_rows))
                   ~~~~~^
    pyhsmm/deps/Eigen3/Eigen/src/Core/DenseStorage.h:304:21: error: no member named 'move' in namespace 'std'
          , m_cols(std::move(other.m_cols))
                   ~~~~~^
    pyhsmm/deps/Eigen3/Eigen/src/Core/DenseStorage.h:373:21: error: no member named 'move' in namespace 'std'
          : m_data(std::move(other.m_data))
                   ~~~~~^
    pyhsmm/deps/Eigen3/Eigen/src/Core/DenseStorage.h:374:21: error: no member named 'move' in namespace 'std'
          , m_cols(std::move(other.m_cols))
                   ~~~~~^
    pyhsmm/deps/Eigen3/Eigen/src/Core/DenseStorage.h:439:21: error: no member named 'move' in namespace 'std'
          : m_data(std::move(other.m_data))
                   ~~~~~^
    pyhsmm/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 pyhsmm/internals/hmm_messages_interface.cpp:279:
    In file included from pyhsmm/internals/hmm_messages.h:4:
    In file included from pyhsmm/deps/Eigen3/Eigen/Core:329:
    pyhsmm/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 pyhsmm/internals/hmm_messages_interface.cpp:279:
    In file included from pyhsmm/internals/hmm_messages.h:4:
    In file included from pyhsmm/deps/Eigen3/Eigen/Core:330:
    pyhsmm/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 pyhsmm/internals/hmm_messages_interface.cpp:279:
    In file included from pyhsmm/internals/hmm_messages.h:4:
    In file included from pyhsmm/deps/Eigen3/Eigen/Core:331:
    pyhsmm/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 pyhsmm/internals/hmm_messages_interface.cpp:279:
    In file included from pyhsmm/internals/hmm_messages.h:4:
    In file included from pyhsmm/deps/Eigen3/Eigen/Core:330:
    pyhsmm/deps/Eigen3/Eigen/src/Core/Matrix.h:139:5: error: using declaration refers into 'Base::', which is not a base class of 'Matrix<int, -1, -1, 0, -1, -1>'
        EIGEN_DENSE_PUBLIC_INTERFACE(Matrix)
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    pyhsmm/deps/Eigen3/Eigen/src/Core/util/Macros.h:403:9: note: expanded from macro 'EIGEN_DENSE_PUBLIC_INTERFACE'
      using Base::derived; \
            ^~~~~~
    pyhsmm/internals/hmm_messages.h:224:18: note: in instantiation of template class 'Eigen::Matrix<int, -1, -1, 0, -1, -1>' requested here
            MatrixXi args(M,T);
                     ^
    In file included from pyhsmm/internals/hmm_messages_interface.cpp:279:
    In file included from pyhsmm/internals/hmm_messages.h:4:
    In file included from pyhsmm/deps/Eigen3/Eigen/Core:330:
    pyhsmm/deps/Eigen3/Eigen/src/Core/Matrix.h:139:5: error: using declaration refers into 'Base::', which is not a base class of 'Matrix<int, -1, -1, 0, -1, -1>'
        EIGEN_DENSE_PUBLIC_INTERFACE(Matrix)
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    pyhsmm/deps/Eigen3/Eigen/src/Core/util/Macros.h:404:9: note: expanded from macro 'EIGEN_DENSE_PUBLIC_INTERFACE'
      using Base::const_cast_derived;
            ^~~~~~
    In file included from pyhsmm/internals/hmm_messages_interface.cpp:279:
    In file included from pyhsmm/internals/hmm_messages.h:4:
    In file included from pyhsmm/deps/Eigen3/Eigen/Core:330:
    pyhsmm/deps/Eigen3/Eigen/src/Core/Matrix.h:143:11: error: using declaration refers into 'Base::', which is not a base class of 'Matrix<int, -1, -1, 0, -1, -1>'
        using Base::base;
              ^~~~~~
    pyhsmm/deps/Eigen3/Eigen/src/Core/Matrix.h:144:11: error: using declaration refers into 'Base::', which is not a base class of 'Matrix<int, -1, -1, 0, -1, -1>'
        using Base::coeffRef;
              ^~~~~~
    pyhsmm/deps/Eigen3/Eigen/src/Core/Matrix.h:378:11: error: using declaration refers into 'Base::', which is not a base class of 'Matrix<int, -1, -1, 0, -1, -1>'
        using Base::m_storage;
              ^~~~~~
    pyhsmm/deps/Eigen3/Eigen/src/Core/Matrix.h:139:5: error: using declaration refers into 'Base::', which is not a base class of 'Matrix<float, -1, -1, 1, -1, -1>'
        EIGEN_DENSE_PUBLIC_INTERFACE(Matrix)
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    pyhsmm/deps/Eigen3/Eigen/src/Core/util/Macros.h:403:9: note: expanded from macro 'EIGEN_DENSE_PUBLIC_INTERFACE'
      using Base::derived; \
            ^~~~~~
    pyhsmm/deps/Eigen3/Eigen/src/Core/Map.h:73:20: note: in instantiation of template class 'Eigen::Matrix<float, -1, -1, 1, -1, -1>' requested here
      typedef typename PlainObjectType::Index Index;
                       ^
    pyhsmm/deps/Eigen3/Eigen/src/Core/util/ForwardDeclarations.h:32:31: note: in instantiation of template class 'Eigen::internal::traits<Eigen::Map<Eigen::Matrix<float, -1, -1, 1, -1, -1>, 1, Eigen::Stride<0, 0> > >' requested here
      enum { has_direct_access = (traits<Derived>::Flags & DirectAccessBit) ? 1 : 0,
                                  ^
    pyhsmm/deps/Eigen3/Eigen/src/Core/util/ForwardDeclarations.h:109:32: note: in instantiation of template class 'Eigen::internal::accessors_level<Eigen::Map<Eigen::Matrix<float, -1, -1, 1, -1, -1>, 1, Eigen::Stride<0, 0> > >' requested here
             int Level = internal::accessors_level<Derived>::has_write_access ? WriteAccessors : ReadOnlyAccessors
                                   ^
    pyhsmm/deps/Eigen3/Eigen/src/Core/Map.h:105:12: note: in instantiation of default argument for 'MapBase<Eigen::Map<Eigen::Matrix<float, -1, -1, 1, -1, -1>, 1, Eigen::Stride<0, 0> > >' required here
      : public MapBase<Map<PlainObjectType, MapOptions, StrideType> >
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    pyhsmm/internals/hmm_messages.h:31:24: note: in instantiation of template class 'Eigen::Map<Eigen::Matrix<float, -1, -1, 1, -1, -1>, 1, Eigen::Stride<0, 0> >' requested here
            NPMatrix<Type> eA(A,M,M);
                           ^
    pyhsmm/internals/hmm_messages.h:260:12: note: in instantiation of function template specialization 'hmm::messages_backwards_log<float>' requested here
        { hmm::messages_backwards_log(M,T,A,aBl,betal); }
               ^
    pyhsmm/internals/hmm_messages_interface.cpp:2961:15: note: in instantiation of member function 'hmmc<float, int>::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 *) ( /_ dim=0 _/ (__pyx_v_A.data + __pyx_t_1 \* __pyx_v_A.strides[0]) )) + __pyx_t_2)) )))), (&(_((float _) ( /_ dim=1 _/ ((char *) (((float *) ( /_ dim=0 _/ (__pyx_v_aBl.data + __pyx_t_3 \* __pyx_v_aBl.strides[0]) )) + __pyx_t_4)) )))), (&(___Pyx_BufPtrCContig2d(float *, __pyx_pybuffernd_betal.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_betal.diminfo[0].strides, __pyx_t_6, __pyx_pybuffernd_betal.diminfo[1].strides))));
                  ^
    In file included from pyhsmm/internals/hmm_messages_interface.cpp:279:
    In file included from pyhsmm/internals/hmm_messages.h:4:
    In file included from pyhsmm/deps/Eigen3/Eigen/Core:330:
    pyhsmm/deps/Eigen3/Eigen/src/Core/Matrix.h:139:5: error: using declaration refers into 'Base::', which is not a base class of 'Matrix<float, -1, -1, 1, -1, -1>'
        EIGEN_DENSE_PUBLIC_INTERFACE(Matrix)
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    pyhsmm/deps/Eigen3/Eigen/src/Core/util/Macros.h:404:9: note: expanded from macro 'EIGEN_DENSE_PUBLIC_INTERFACE'
      using Base::const_cast_derived;
            ^~~~~~
    In file included from pyhsmm/internals/hmm_messages_interface.cpp:279:
    In file included from pyhsmm/internals/hmm_messages.h:4:
    In file included from pyhsmm/deps/Eigen3/Eigen/Core:330:
    pyhsmm/deps/Eigen3/Eigen/src/Core/Matrix.h:143:11: error: using declaration refers into 'Base::', which is not a base class of 'Matrix<float, -1, -1, 1, -1, -1>'
        using Base::base;
              ^~~~~~
    fatal error: too many errors emitted, stopping now [-ferror-limit=]
    20 errors generated.
    error: command 'gcc' failed with exit status 1

```
----------------------------------------
```

Command "/Users/danqing0703/anaconda/bin/python -c "import setuptools, tokenize;**file**='/private/var/folders/3h/t2d82x_163d9sh0rph_wgrw00000gn/T/pip-build-QaUnW3/pyhsmm/setup.py';exec(compile(getattr(tokenize, 'open', open)(**file**).read().replace('\r\n', '\n'), **file**, 'exec'))" install --record /var/folders/3h/t2d82x_163d9sh0rph_wgrw00000gn/T/pip-5FdwS0-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/3h/t2d82x_163d9sh0rph_wgrw00000gn/T/pip-build-QaUnW3/pyhsmm
DanqingZ commented 8 years ago

My gcc and g++ version

danqing0703@Danqings-MacBook-Pro:~/pyhsmm/examples$ gcc --version Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn) Target: x86_64-apple-darwin14.0.0 Thread model: posix

danqing0703@Danqings-MacBook-Pro:~/pyhsmm/examples$ g++ --version Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn) Target: x86_64-apple-darwin14.0.0 Thread model: posix

mattjj commented 8 years ago

That g++ isn't really g++, it's actually symlinked to Clang. Try passing --with-old-clang when you run the setup.py script (or equivalently adding '-stdlib=libc++' to CXXFLAGS and LDFLAGS) or installing g++.

mattjj commented 8 years ago

This is really a problem with compiling Eigen against a non-C++11 standard library (as came up e.g. here). It looks like the current version of Eigen might check if log1p is available in the standard library being compiled against. Maybe I can update Eigen (or, even better, have setup.py download the latest version) and some of these compilation issues will go away (since other people have gotten stuck here too).

DanqingZ commented 8 years ago

Hi thanks for the reply. But I am wondering what do you mean by passing "--with-old-lang"?? I tried python setup.py build_ext --inplace --with-cython --with-old-clang.But got the followings:

danqing0703@airbears2-10-142-147-19:~/Desktop/pyhsmm$ python setup.py build_ext --inplace --with-cython --with-old-clang Compiling pyhsmm/internals/hmm_messages_interface.pyx because it changed. Compiling pyhsmm/internals/hsmm_messages_interface.pyx because it changed. Compiling pyhsmm/util/cstats.pyx because it changed. Cythonizing pyhsmm/internals/hmm_messages_interface.pyx Cythonizing pyhsmm/internals/hsmm_messages_interface.pyx Cythonizing pyhsmm/util/cstats.pyx /Users/danqing0703/anaconda/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'install_requires' warnings.warn(msg) running build_ext building 'pyhsmm.internals.hmm_messages_interface' extension creating build creating build/temp.macosx-10.5-x86_64-2.7 creating build/temp.macosx-10.5-x86_64-2.7/pyhsmm creating build/temp.macosx-10.5-x86_64-2.7/pyhsmm/internals gcc -fno-strict-aliasing -I/Users/danqing0703/anaconda/include -arch x86_64 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Ipyhsmm/deps/Eigen3/ -I/Users/danqing0703/anaconda/lib/python2.7/site-packages/numpy/core/include -I/Users/danqing0703/anaconda/include/python2.7 -c pyhsmm/internals/hmm_messages_interface.cpp -o build/temp.macosx-10.5-x86_64-2.7/pyhsmm/internals/hmm_messages_interface.o -std=c++11 -O3 -w -DNDEBUG -DHMM_TEMPS_ON_HEAP -stdlib=libc++ clang: error: invalid deployment target for -stdlib=libc++ (requires OS X 10.7 or later) error: command 'gcc' failed with exit status 1

DanqingZ commented 8 years ago

I tried to install pyhsmm many times on my Mac, but these compiling problems always occur...

mattjj commented 8 years ago

Like I said, the problem is really with compiling Eigen and isn't specific to pyhsmm, and those problems are in turn stemming from Clang having problems compiling C++11 with the correct C++11 standard library. As you can see, your most recent error is about Clang trying to build for legacy OS X versions.

The easiest solution would be to stop using Clang and use g++.

Btw check out #23 and #30 for other times this issue has come up. A comment in #23 mentions passing the -mmacosx-version-min=10.7 flag to fix your current error, but if it were me I'd avoid all these challenges by using g++!

DanqingZ commented 8 years ago

Hi I used "brew install gcc48" to install g++: danqing0703@airbears2-10-142-147-19:~/Desktop/pyhsmm$ gcc-4.8 --version gcc-4.8 (Homebrew gcc48 4.8.4) 4.8.4 Copyright (C) 2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

But I still have the same error: command 'gcc' failed with exit status 1

mattjj commented 8 years ago

Is the compilation using the gcc version you just installed? My guess is it's not. Two ways to remedy that: either symlink the gcc-4.8 binary onto your PATH as gcc (before the current gcc symlink or replacing it) or just prefix the setup.py command with CXX=gcc-4.8, something like

CXX=gcc-4.8 setup.py build_ext install --with-cython

(assuming you're using bash or zsh and not fish).

DanqingZ commented 8 years ago

Hi , thanks! I tried your command line: ~/Desktop/pyhsmm$ CXX=gcc-4.8 python setup.py build_ext install --with-cython

But still have the same problems..

/Users/danqing0703/anaconda/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'install_requires' warnings.warn(msg) running build_ext building 'pyhsmm.internals.hmm_messages_interface' extension gcc -fno-strict-aliasing -I/Users/danqing0703/anaconda/include -arch x86_64 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Ipyhsmm/deps/Eigen3/ -I/Users/danqing0703/anaconda/lib/python2.7/site-packages/numpy/core/include -I/Users/danqing0703/anaconda/include/python2.7 -c pyhsmm/internals/hmm_messages_interface.cpp -o build/temp.macosx-10.5-x86_64-2.7/pyhsmm/internals/hmm_messages_interface.o -std=c++11 -O3 -w -DNDEBUG -DHMM_TEMPS_ON_HEAP In file included from pyhsmm/internals/hmm_messages_interface.cpp:286: In file included from pyhsmm/internals/hmm_messages.h:4: In file included from pyhsmm/deps/Eigen3/Eigen/Core:276: pyhsmm/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 pyhsmm/internals/hmm_messages_interface.cpp:286:
In file included from pyhsmm/internals/hmm_messages.h:4:
In file included from pyhsmm/deps/Eigen3/Eigen/Core:324:
pyhsmm/deps/Eigen3/Eigen/src/Core/DenseStorage.h:302:21: error: no member named 'move' in namespace 'std'
      : m_data(std::move(other.m_data))
               ~~~~~^
pyhsmm/deps/Eigen3/Eigen/src/Core/DenseStorage.h:303:21: error: no member named 'move' in namespace 'std'
      , m_rows(std::move(other.m_rows))
               ~~~~~^
pyhsmm/deps/Eigen3/Eigen/src/Core/DenseStorage.h:304:21: error: no member named 'move' in namespace 'std'
      , m_cols(std::move(other.m_cols))
               ~~~~~^
pyhsmm/deps/Eigen3/Eigen/src/Core/DenseStorage.h:373:21: error: no member named 'move' in namespace 'std'
      : m_data(std::move(other.m_data))
               ~~~~~^
pyhsmm/deps/Eigen3/Eigen/src/Core/DenseStorage.h:374:21: error: no member named 'move' in namespace 'std'
      , m_cols(std::move(other.m_cols))
               ~~~~~^
pyhsmm/deps/Eigen3/Eigen/src/Core/DenseStorage.h:439:21: error: no member named 'move' in namespace 'std'
      : m_data(std::move(other.m_data))
               ~~~~~^
pyhsmm/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 pyhsmm/internals/hmm_messages_interface.cpp:286:
In file included from pyhsmm/internals/hmm_messages.h:4:
In file included from pyhsmm/deps/Eigen3/Eigen/Core:329:
pyhsmm/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 pyhsmm/internals/hmm_messages_interface.cpp:286:
In file included from pyhsmm/internals/hmm_messages.h:4:
In file included from pyhsmm/deps/Eigen3/Eigen/Core:330:
pyhsmm/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 pyhsmm/internals/hmm_messages_interface.cpp:286:
In file included from pyhsmm/internals/hmm_messages.h:4:
In file included from pyhsmm/deps/Eigen3/Eigen/Core:331:
pyhsmm/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 pyhsmm/internals/hmm_messages_interface.cpp:286:
In file included from pyhsmm/internals/hmm_messages.h:4:
In file included from pyhsmm/deps/Eigen3/Eigen/Core:330:
pyhsmm/deps/Eigen3/Eigen/src/Core/Matrix.h:139:5: error: using declaration refers into 'Base::', which is not a base class of
      'Matrix<int, -1, -1, 0, -1, -1>'
    EIGEN_DENSE_PUBLIC_INTERFACE(Matrix)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pyhsmm/deps/Eigen3/Eigen/src/Core/util/Macros.h:403:9: note: expanded from macro 'EIGEN_DENSE_PUBLIC_INTERFACE'
  using Base::derived; \
        ^~~~~~
pyhsmm/internals/hmm_messages.h:224:18: note: in instantiation of template class 'Eigen::Matrix<int, -1, -1, 0, -1, -1>' requested here
        MatrixXi args(M,T);
                 ^
In file included from pyhsmm/internals/hmm_messages_interface.cpp:286:
In file included from pyhsmm/internals/hmm_messages.h:4:
In file included from pyhsmm/deps/Eigen3/Eigen/Core:330:
pyhsmm/deps/Eigen3/Eigen/src/Core/Matrix.h:139:5: error: using declaration refers into 'Base::', which is not a base class of
      'Matrix<int, -1, -1, 0, -1, -1>'
    EIGEN_DENSE_PUBLIC_INTERFACE(Matrix)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pyhsmm/deps/Eigen3/Eigen/src/Core/util/Macros.h:404:9: note: expanded from macro 'EIGEN_DENSE_PUBLIC_INTERFACE'
  using Base::const_cast_derived;
        ^~~~~~
In file included from pyhsmm/internals/hmm_messages_interface.cpp:286:
In file included from pyhsmm/internals/hmm_messages.h:4:
In file included from pyhsmm/deps/Eigen3/Eigen/Core:330:
pyhsmm/deps/Eigen3/Eigen/src/Core/Matrix.h:143:11: error: using declaration refers into 'Base::', which is not a base class of
      'Matrix<int, -1, -1, 0, -1, -1>'
    using Base::base;
          ^~~~~~
pyhsmm/deps/Eigen3/Eigen/src/Core/Matrix.h:144:11: error: using declaration refers into 'Base::', which is not a base class of
      'Matrix<int, -1, -1, 0, -1, -1>'
    using Base::coeffRef;
          ^~~~~~
pyhsmm/deps/Eigen3/Eigen/src/Core/Matrix.h:378:11: error: using declaration refers into 'Base::', which is not a base class of
      'Matrix<int, -1, -1, 0, -1, -1>'
    using Base::m_storage;
          ^~~~~~
pyhsmm/deps/Eigen3/Eigen/src/Core/Matrix.h:139:5: error: using declaration refers into 'Base::', which is not a base class of
      'Matrix<float, -1, -1, 1, -1, -1>'
    EIGEN_DENSE_PUBLIC_INTERFACE(Matrix)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pyhsmm/deps/Eigen3/Eigen/src/Core/util/Macros.h:403:9: note: expanded from macro 'EIGEN_DENSE_PUBLIC_INTERFACE'
  using Base::derived; \
        ^~~~~~
pyhsmm/deps/Eigen3/Eigen/src/Core/Map.h:73:20: note: in instantiation of template class 'Eigen::Matrix<float, -1, -1, 1, -1, -1>' requested here
  typedef typename PlainObjectType::Index Index;
                   ^
pyhsmm/deps/Eigen3/Eigen/src/Core/util/ForwardDeclarations.h:32:31: note: in instantiation of template class
      'Eigen::internal::traits<Eigen::Map<Eigen::Matrix<float, -1, -1, 1, -1, -1>, 1, Eigen::Stride<0, 0> > >' requested here
  enum { has_direct_access = (traits<Derived>::Flags & DirectAccessBit) ? 1 : 0,
                              ^
pyhsmm/deps/Eigen3/Eigen/src/Core/util/ForwardDeclarations.h:109:32: note: in instantiation of template class
      'Eigen::internal::accessors_level<Eigen::Map<Eigen::Matrix<float, -1, -1, 1, -1, -1>, 1, Eigen::Stride<0, 0> > >' requested here
         int Level = internal::accessors_level<Derived>::has_write_access ? WriteAccessors : ReadOnlyAccessors
                               ^
pyhsmm/deps/Eigen3/Eigen/src/Core/Map.h:105:12: note: in instantiation of default argument for 'MapBase<Eigen::Map<Eigen::Matrix<float, -1, -1,
      1, -1, -1>, 1, Eigen::Stride<0, 0> > >' required here
  : public MapBase<Map<PlainObjectType, MapOptions, StrideType> >
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pyhsmm/internals/hmm_messages.h:31:24: note: in instantiation of template class 'Eigen::Map<Eigen::Matrix<float, -1, -1, 1, -1, -1>, 1,
      Eigen::Stride<0, 0> >' requested here
        NPMatrix<Type> eA(A,M,M);
                       ^
pyhsmm/internals/hmm_messages.h:260:12: note: in instantiation of function template specialization 'hmm::messages_backwards_log<float>' requested
      here
    { hmm::messages_backwards_log(M,T,A,aBl,betal); }
           ^
pyhsmm/internals/hmm_messages_interface.cpp:2977:15: note: in instantiation of member function 'hmmc<float, int>::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 pyhsmm/internals/hmm_messages_interface.cpp:286:
In file included from pyhsmm/internals/hmm_messages.h:4:
In file included from pyhsmm/deps/Eigen3/Eigen/Core:330:
pyhsmm/deps/Eigen3/Eigen/src/Core/Matrix.h:139:5: error: using declaration refers into 'Base::', which is not a base class of
      'Matrix<float, -1, -1, 1, -1, -1>'
    EIGEN_DENSE_PUBLIC_INTERFACE(Matrix)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pyhsmm/deps/Eigen3/Eigen/src/Core/util/Macros.h:404:9: note: expanded from macro 'EIGEN_DENSE_PUBLIC_INTERFACE'
  using Base::const_cast_derived;
        ^~~~~~
In file included from pyhsmm/internals/hmm_messages_interface.cpp:286:
In file included from pyhsmm/internals/hmm_messages.h:4:
In file included from pyhsmm/deps/Eigen3/Eigen/Core:330:
pyhsmm/deps/Eigen3/Eigen/src/Core/Matrix.h:143:11: error: using declaration refers into 'Base::', which is not a base class of
      'Matrix<float, -1, -1, 1, -1, -1>'
    using Base::base;
          ^~~~~~
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
error: command 'gcc' failed with exit status 1
mattjj commented 8 years ago

It's still calling 'gcc'. Try doing this instead:

CC=gcc-4.8 setup.py build_ext install --with-cython

You may need to iterate on this to get the command right. It's nothing pyhsmm-specific; it's just about using the compiler you installed. (There may even be a way to get brew to select which compiler to use by default; that's how macports does it.)

DanqingZ commented 8 years ago

Sorry I am quite new to compiling issues and only encounter this problem when installing pyhsmm...could you provide some more hints on how to get this work? Like how to choose the right compiler? I think "CXX='g++-4.8'" and "CC=gcc-4.8" seems to be calling the 'gcc', but there are other new bugs that I do not know what to do...

danqing0703@airbears2-10-142-147-19:~/Desktop/pyhsmm$ CXX='g++-4.8' python setup.py build_ext install --with-cython /Users/danqing0703/anaconda/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'install_requires' warnings.warn(msg) running build_ext building 'pyhsmm.internals.hmm_messages_interface' extension gcc-4.8 -fno-strict-aliasing -I/Users/danqing0703/anaconda/include -arch x86_64 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Ipyhsmm/deps/Eigen3/ -I/Users/danqing0703/anaconda/lib/python2.7/site-packages/numpy/core/include -I/Users/danqing0703/anaconda/include/python2.7 -c pyhsmm/internals/hmm_messages_interface.cpp -o build/temp.macosx-10.5-x86_64-2.7/pyhsmm/internals/hmm_messages_interface.o -std=c++11 -O3 -w -DNDEBUG -DHMM_TEMPS_ON_HEAP cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default] /var/folders/3h/t2d82x_163d9sh0rph_wgrw00000gn/T//cchczRJe.s:121426:expecting string instruction after rep' /var/folders/3h/t2d82x_163d9sh0rph_wgrw00000gn/T//cchczRJe.s:121451:expecting string instruction afterrep' /var/folders/3h/t2d82x_163d9sh0rph_wgrw00000gn/T//cchczRJe.s:121501:expecting string instruction after rep' /var/folders/3h/t2d82x_163d9sh0rph_wgrw00000gn/T//cchczRJe.s:121838:expecting string instruction afterrep' /var/folders/3h/t2d82x_163d9sh0rph_wgrw00000gn/T//cchczRJe.s:121863:expecting string instruction after rep' /var/folders/3h/t2d82x_163d9sh0rph_wgrw00000gn/T//cchczRJe.s:121913:expecting string instruction afterrep' error: command 'gcc-4.8' failed with exit status 1

mattjj commented 8 years ago

I haven't seen that error before. Maybe your binutils is old. Can you verify that you can build binaries with this new gcc-4.8 using -O3, or perhaps try updating your binutils (if brew didn't do that for you)?

You probably only run into these problems in pyhsmm because I used C++11 when I wrote it. A lot of friendlier software supports older compilers and toolchains, but this is just research code :).

mattjj commented 8 years ago

Btw, I just pushed to master a new setup.py which attempts to download Eigen automatically. Since it's a newer Eigen version, it might solve some compilation problems, but since I changed several things it might break more than it fixes. I'll try to test things with Clang and sort them out when I get a chance, but I'm not sure when that will be.

mattjj commented 8 years ago

I was able to build pyhsmm using clang on the current master (5524043). My clang version is

○ clang++ -v
Apple LLVM version 7.0.0 (clang-700.1.76)
Target: x86_64-apple-darwin15.0.0
Thread model: posix

and I built it with my shell's equivalent of

CC=clang++ python setup.py build_ext --inplace

Maybe the new version of Eigen that the new setup.py file downloads solves these compilation issues, or maybe it just works on El Capitan. Let me know if you give it a shot.

DanqingZ commented 8 years ago

It works!! Thanks so much!!

mattjj commented 8 years ago

No problem :) sorry my code gave you a headache for a while.

mathDR commented 8 years ago

Pretty baller fix bro. And timely!!!

Sent from my iPhone

On Nov 2, 2015, at 19:29, Matthew Johnson notifications@github.com wrote:

Closed #52.

— Reply to this email directly or view it on GitHub.

mattjj commented 8 years ago

Thanks, @mathDR !