I attempted to install molsketch by running make after running cmake at which point I received the output:
[ 1%] Building CXX object libmolsketch/src/CMakeFiles/molsketch_LIB.dir/stereocenteritem.cpp.o /home/brentonhorne/Downloads/Molsketch-0.2.0-Source/libmolsketch/src/stereocenteritem.cpp: In member function ‘virtual void Molsketch::StereoCenterItem::paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*)’: /home/brentonhorne/Downloads/Molsketch-0.2.0-Source/libmolsketch/src/stereocenteritem.cpp:66:17: error: ‘StereogenicUnit’ is not a member of ‘OpenBabel’ /home/brentonhorne/Downloads/Molsketch-0.2.0-Source/libmolsketch/src/stereocenteritem.cpp:66:17: error: ‘StereogenicUnit’ is not a member of ‘OpenBabel’ /home/brentonhorne/Downloads/Molsketch-0.2.0-Source/libmolsketch/src/stereocenteritem.cpp:66:43: error: template argument 1 is invalid /home/brentonhorne/Downloads/Molsketch-0.2.0-Source/libmolsketch/src/stereocenteritem.cpp:66:43: error: template argument 2 is invalid /home/brentonhorne/Downloads/Molsketch-0.2.0-Source/libmolsketch/src/stereocenteritem.cpp:66:51: error: invalid type in declaration before ‘=’ token /home/brentonhorne/Downloads/Molsketch-0.2.0-Source/libmolsketch/src/stereocenteritem.cpp:66:97: error: cannot convert ‘OpenBabel::OBStereoUnitSet {aka std::vector<OpenBabel::OBStereoUnit>}’ to ‘int’ in initialization /home/brentonhorne/Downloads/Molsketch-0.2.0-Source/libmolsketch/src/stereocenteritem.cpp:68:40: error: request for member ‘size’ in ‘units’, which is of non-class type ‘int’ /home/brentonhorne/Downloads/Molsketch-0.2.0-Source/libmolsketch/src/stereocenteritem.cpp:69:17: error: request for member ‘at’ in ‘units’, which is of non-class type ‘int’ /home/brentonhorne/Downloads/Molsketch-0.2.0-Source/libmolsketch/src/stereocenteritem.cpp:70:62: error: request for member ‘at’ in ‘units’, which is of non-class type ‘int’ /home/brentonhorne/Downloads/Molsketch-0.2.0-Source/libmolsketch/src/stereocenteritem.cpp:73:17: error: request for member ‘at’ in ‘units’, which is of non-class type ‘int’ /home/brentonhorne/Downloads/Molsketch-0.2.0-Source/libmolsketch/src/stereocenteritem.cpp:74:62: error: request for member ‘at’ in ‘units’, which is of non-class type ‘int’ make[2]: *** [libmolsketch/src/CMakeFiles/molsketch_LIB.dir/stereocenteritem.cpp.o] Error 1 make[1]: *** [libmolsketch/src/CMakeFiles/molsketch_LIB.dir/all] Error 2 make: *** [all] Error 2 The output of cmake was:
-- Unit testing enabled, run make test to run them -- Found OpenBabel Trunk with graphsym.h Qt QTASSISTANT library not found. creating /home/brentonhorne/Downloads/Molsketch_build/libmolsketch/src/include/molsketch UIS = /home/brentonhorne/Downloads/Molsketch-0.2.0-Source/libmolsketch/src/mechanismarrowdialog.ui;/home/brentonhorne/Downloads/Molsketch-0.2.0-Source/libmolsketch/src/reactionarrowdialog.ui Qt QTASSISTANT library not found. UIS = /home/brentonhorne/Downloads/Molsketch-0.2.0-Source/molsketch/src/settings.ui;/home/brentonhorne/Downloads/Molsketch-0.2.0-Source/molsketch/src/drawwidget.ui -- Test: valence -- Configuring done -- Generating done -- Build files have been written to: /home/brentonhorne/Downloads/Molsketch_build 1 Answer
Durning make,I meet the same problem as yours at the point of 48%.
You need to change
Molsketch-0.2.0-Source/libmolsketch/src/stereocenteritem.cpp line 66 as: std::vector<OpenBabel::OBStereoUnit> units = FindStereogenicUnits(obmol, symmetry_classes);
When compile reach 90%,I meet another problem:
Molsketch-0.2.0-Source/molsketch/src/mainwindow.cpp:22:28: fatal error: QAssistantClient: No such file or directory
My Qt version is 4.8.5.Qt remove QAssistantClient after 4.7+.My solution is,comment every line related to QAssistantClient in mainwindow.cpp and mainwindow.h.