Dear Friends,
I am trying to install rosetta on centos 6.9 as a non-root user. Python version is 2.7. OPenmpi is installed too. But, when I run this below command I get this error: (it's the end section of the error)
./scons.py -j 20 mode=release extras=mpi bin
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_iterator.h: In member function '__gnu_cxx::__normal_iterator<_Iterator, _Container>& __gnu_cxx::__normal_iterator<_Iterator, _Container>::operator++() [with _Iterator = core::pose::signals::EnergyEvent*, _Container = std::vector<core::pose::signals::EnergyEvent, std::allocator<core::pose::signals::EnergyEvent> >]':
src/utility/signals/BufferedSignalHub.hh:155: instantiated from 'void utility::signals::BufferedSignalHub<ResultType, Signal>::release_buffer() [with ReturnType = void, Signal = core::pose::signals::EnergyEvent]'
src/utility/signals/BufferedSignalHub.hh:124: instantiated from 'void utility::signals::BufferedSignalHub<ResultType, Signal>::unblock() [with ReturnType = void, Signal = core::pose::signals::EnergyEvent]'
src/protocols/enzdes/RemoveLigandFilter.cc:213: instantiated from here
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_iterator.h:708: error: cannot increment a pointer to incomplete type 'core::pose::signals::EnergyEvent'
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_iterator.h: In member function '__gnu_cxx::__normal_iterator<_Iterator, _Container>& __gnu_cxx::__normal_iterator<_Iterator, _Container>::operator++() [with _Iterator = core::pose::signals::GeneralEvent*, _Container = std::vector<core::pose::signals::GeneralEvent, std::allocator<core::pose::signals::GeneralEvent> >]':
src/utility/signals/BufferedSignalHub.hh:155: instantiated from 'void utility::signals::BufferedSignalHub<ResultType, Signal>::release_buffer() [with ReturnType = void, Signal = core::pose::signals::GeneralEvent]'
src/utility/signals/BufferedSignalHub.hh:124: instantiated from 'void utility::signals::BufferedSignalHub<ResultType, Signal>::unblock() [with ReturnType = void, Signal = core::pose::signals::GeneralEvent]'
src/protocols/enzdes/RemoveLigandFilter.cc:213: instantiated from here
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_iterator.h:708: error: cannot increment a pointer to incomplete type 'core::pose::signals::GeneralEvent'
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_iterator.h: In member function '__gnu_cxx::__normal_iterator<_Iterator, _Container>& __gnu_cxx::__normal_iterator<_Iterator, _Container>::operator++() [with _Iterator = core::pose::signals::DestructionEvent*, _Container = std::vector<core::pose::signals::DestructionEvent, std::allocator<core::pose::signals::DestructionEvent> >]':
src/utility/signals/BufferedSignalHub.hh:155: instantiated from 'void utility::signals::BufferedSignalHub<ResultType, Signal>::release_buffer() [with ReturnType = void, Signal = core::pose::signals::DestructionEvent]'
src/utility/signals/BufferedSignalHub.hh:124: instantiated from 'void utility::signals::BufferedSignalHub<ResultType, Signal>::unblock() [with ReturnType = void, Signal = core::pose::signals::DestructionEvent]'
src/protocols/enzdes/RemoveLigandFilter.cc:213: instantiated from here
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_iterator.h:708: error: cannot increment a pointer to incomplete type 'core::pose::signals::DestructionEvent'
scons: *** [build/src/release/linux/2.6/64/x86/gcc/4.4/mpi/protocols/enzdes/RemoveLigandFilter.os] Error 1
scons: building terminated because of errors.
Could you please let me know how to solve this issue? Thanks
Category:
Post Situation:
It looks like you're using GCC 4.4.7 to compile. Rosetta needs a C++11 compiler, which effectively means a GCC version of 4.8 or later. See https://www.rosettacommons.org/docs/wiki/build_documentation/Cxx11Support for more information.
Talk to your computer administrator to see if there's a newer compiler available (GC 4.8+ or Clang 3.3+) that works with MPI. If there isn't (and they won't install one), you can always install one yourself in your home directory, and then point the Rosetta compile to that version, though hooking that up to work with MPI might be a bit tricky.