EMAN2 Compilation Frequent Asked Questions

Q: I am trying to compile''' PyQt4 '''on my Linux, after I type "python configure.py", I got the error "Error: Failed to create ./qtdirs using platform linux-g++. Make sure your compiler is installed correctly and you have a working make on your PATH." How should I do?

A: That means you don't have a working qt4 qmake in your PATH. If you compiled and installed Qt4/x11 to its default path, /usr/local, it will be installed in /usr/local/Trolltech/Qt-4.3.1(if your Qt version is 4.3.1), so you need set your PATH to include /usr/local/Trolltech/Qt-4.3.1/bin, and LD_LIBRARY_PATH to include /usr/local/Trolltech/Qt-4.3.1/lib.


Q: I got compilation error when I try to compile EMAN2 on SUSE 11.0:

* Scanning dependencies of target pyAligner2
[ 80%] Building CXX object libpyEM/CMakeFiles/pyAligner2.dir/libpyAligner2.o
In file included from /usr/include/boost/python/class.hpp:29,
                 from /usr/include/boost/python.hpp:18,
                 from /home/gtang/EMAN2/src/eman2/libpyEM/libpyAligner2.cpp:3:
/usr/include/boost/python/detail/def_helper.hpp:192: error: declaration of 'typename boost::python::detail::keyword_extract<boost::tuples::tuple<const T1&, const T2&, const T3&, const T4&, boost::python::default_call_policies, boost::python::detail::keywords<0u>, const char*, void (boost::python::detail::not_specified::*)(), boost::tuples::null_type, boost::tuples::null_type> >::result_type boost::python::detail::def_helper<T1, T2, T3, T4>::keywords() const'
/usr/include/boost/python/args_fwd.hpp:35: error: changes meaning of 'keywords' from 'struct boost::python::detail::keywords<0u>'
make[2]: *** [libpyEM/CMakeFiles/pyAligner2.dir/libpyAligner2.o] Error 1
make[1]: *** [libpyEM/CMakeFiles/pyAligner2.dir/all] Error 2
make: *** [all] Error 2 

A: The boost.python 1.34.1 package installed by SUSE 11.0's yast has problem. This has been fixed by later boost-devel package (boost-devel-1.34.1-42.2.i586). Please do a yast update for your SUSE 11.0.