Ubuntu: How do I install Molsketch?



Question:

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  


Solution:1

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.


Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »