Ubuntu – Avagadro 1.2 ubuntu 16 installation error. CMAKE make

compilingmakesoftware installation

I have been trying to install Avogadro 1.2 in ubuntu 16.4 I followed all the steps and installed all missing dependencies and finally end up with this error while compiling: cmake ../ and make command step according to the installation file instruction.

I have tried different versions of avogadro from their own site from github all endup same error. I have also removed eigen3 and installed eigen2 version but same problem.

But it works fine in ubuntu bionic bcoz it is default package.
https://launchpad.net/ubuntu/+source/avogadro/1.2.0-4build1

So if anyone guide me with installing from the above link or fix the below error then im happy.

surya@surya-Inspiron-N5010:~/avogadro-master/build$ make
[  0%] Generating moc_elementcolor.cxx
Scanning dependencies of target elementcolor
[  0%] Building CXX object libavogadro/src/colors/CMakeFiles/elementcolor.dir/elementcolor.cpp.o
In file included from /usr/local/include/openbabel-2.0/openbabel/atom.h:33:0,
                 from /usr/local/include/openbabel-2.0/openbabel/mol.h:42,
                 from /home/surya/avogadro-master/libavogadro/src/colors/elementcolor.cpp:31:
/usr/local/include/openbabel-2.0/openbabel/base.h:287:68: warning: unused parameter ‘replaceNewlines’ [-Wunused-parameter]
       virtual const char  *GetTitle(bool UNUSED(replaceNewlines) = true) const { return "";}
                                                                    ^
[  1%] Building CXX object libavogadro/src/colors/CMakeFiles/elementcolor.dir/moc_elementcolor.cxx.o
[  1%] Linking CXX static library elementcolor.a
[  1%] Built target elementcolor
[  1%] Generating ui_bsdysettingswidget.h
[  1%] Generating moc_bsdyengine.cxx
Scanning dependencies of target bsdyengine
[  1%] Building CXX object libavogadro/src/engines/CMakeFiles/bsdyengine.dir/bsdyengine.cpp.o
In file included from /usr/local/include/openbabel-2.0/openbabel/atom.h:33:0,
                 from /usr/local/include/openbabel-2.0/openbabel/mol.h:42,
                 from /home/surya/avogadro-master/libavogadro/src/engines/bsdyengine.cpp:39:
/usr/local/include/openbabel-2.0/openbabel/base.h:287:68: warning: unused parameter ‘replaceNewlines’ [-Wunused-parameter]
       virtual const char  *GetTitle(bool UNUSED(replaceNewlines) = true) const { return "";}
                                                                    ^
[  1%] Building CXX object libavogadro/src/engines/CMakeFiles/bsdyengine.dir/moc_bsdyengine.cxx.o
In file included from /home/surya/avogadro-master/build/libavogadro/include/avogadro/primitivelist.h:29:0,
                 from /home/surya/avogadro-master/build/libavogadro/include/avogadro/engine.h:37,
                 from /home/surya/avogadro-master/build/libavogadro/src/engines/../../../../libavogadro/src/engines/bsdyengine.h:29,
                 from /home/surya/avogadro-master/build/libavogadro/src/engines/moc_bsdyengine.cxx:9:
/home/surya/avogadro-master/build/libavogadro/include/avogadro/primitive.h:42:23: warning: ‘Avogadro::FALSE_ID’ defined but not used [-Wunused-variable]
   const unsigned long FALSE_ID = std::numeric_limits<unsigned long>::max();
                       ^
[  1%] Linking CXX static library bsdyengine.a
[  1%] Built target bsdyengine
[  1%] Generating qrc_navigatetool.cxx
[  1%] Generating moc_navigatetool.cxx
[  1%] Generating ui_navigatesettingswidget.h
Scanning dependencies of target navigatetool
[  2%] Building CXX object libavogadro/src/tools/CMakeFiles/navigatetool.dir/navigatetool.cpp.o
[  2%] Building CXX object libavogadro/src/tools/CMakeFiles/navigatetool.dir/eyecandy.cpp.o
In file included from /home/surya/avogadro-master/build/libavogadro/include/avogadro/painter.h:33:0,
                 from /home/surya/avogadro-master/libavogadro/src/tools/eyecandy.cpp:30:
/home/surya/avogadro-master/build/libavogadro/include/avogadro/primitive.h:42:23: warning: ‘Avogadro::FALSE_ID’ defined but not used [-Wunused-variable]
   const unsigned long FALSE_ID = std::numeric_limits<unsigned long>::max();
                       ^
[  2%] Building CXX object libavogadro/src/tools/CMakeFiles/navigatetool.dir/moc_navigatetool.cxx.o
[  2%] Building CXX object libavogadro/src/tools/CMakeFiles/navigatetool.dir/qrc_navigatetool.cxx.o
[  2%] Linking CXX static library navigatetool.a
[  2%] Built target navigatetool
[  2%] Generating libavogadro_sv.qm
lconvert: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/lconvert': No such file or directory
libavogadro/src/CMakeFiles/avogadro.dir/build.make:486: recipe for target 'libavogadro/src/libavogadro_sv.qm' failed
make[2]: *** [libavogadro/src/libavogadro_sv.qm] Error 1
CMakeFiles/Makefile2:148: recipe for target 'libavogadro/src/CMakeFiles/avogadro.dir/all' failed
make[1]: *** [libavogadro/src/CMakeFiles/avogadro.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2

Best Answer

You can see revisions of this answer to get confirmation that 1.2 version does not compile on Ubuntu 16.04 LTS because of problems with OpenBabel functions and related dependencies.

So we consider to use schroot mechanism. It will create small 18.04 LTS system inside your existing 16.04 LTS system. Both will use the same filesystem.

To setup schroot you need to execute the following commands (just copy and paste them):

sudo apt-get install schroot debootstrap -y

cat <<EOF | sudo tee /etc/schroot/chroot.d/bionic.conf
[bionic]
description=Ubuntu 18.04
directory=/srv/chroot/bionic
root-users=$USER
type=directory
users=$USER
EOF

sudo mkdir -p /srv/chroot/bionic
sudo debootstrap bionic /srv/chroot/bionic

cat <<EOF | sudo tee /srv/chroot/bionic/etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu bionic main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu bionic-security main restricted universe multiverse
EOF

schroot -c bionic -u root apt-get update
schroot -c bionic -u root apt-get install avogadro

To run Avogardo 1.2 from terminal you need to run:

schroot -c bionic env DISPLAY=:0.0 avogadro

Optionally you can create Avogadro.desktop file for it and place it on Desktop:

cat <<EOF > ~/Desktop/Avogadro.desktop
[Desktop Entry]
Version=1.2
Name=Avogadro
GenericName=Advanced molecular editor
Comment=Molecular Graphics and Modelling System
Exec=schroot -c bionic env DISPLAY=:0.0 avogadro
Icon=/srv/chroot/bionic/usr/share/pixmaps/avogadro-icon.png
Terminal=false
Type=Application
Categories=Qt;Science;Chemistry;Physics;Education;
StartupNotify=true
MimeType=chemical/x-cif;chemical/x-cml;chemical/x-daylight-smiles;chemical/x-gamess-input;chemical/x-gamess-output;chemical/x-gaussian-log;chemical/x-mopac-out;chemical/x-pdb;chemical/x-xyz;chemical/x-gaussian-checkpoint;chemical/x-gaussian-cube;chemical/x-qchem-output;
EOF

chmod +x ~/Desktop/Avogadro.desktop

And enjoy the application:

Avogadro 1.2 on 16.04 LTS

Related Question