cryos / avogadro

Avogadro 1 is not under active development, the repository was archived in September 2021. Development of Avogadro 2 is being done at https://github.com/openchemistry/avogadrolibs. Avogadro is an advanced molecular editor designed for cross-platform use in computational chemistry, molecular modeling, bioinformatics, materials science, and related areas.
http://avogadro.cc/
GNU General Public License v2.0
332 stars 155 forks source link

Compiling Error on a Manjaro-Machine #942

Open Flackermann opened 3 years ago

Flackermann commented 3 years ago

I encounter the following issue when trying to compile the cloned repository. Since I am not that experienced with this stuff, I hope to get some help here. Thanks in advance!

[ 28%] Linking CXX shared library ../../lib/libavogadro.so /usr/bin/ld: CMakeFiles/avogadro.dir/elementdetail_p.cpp.o: in functionAvogadro::ElementDetail::paint(QPainter, QStyleOptionGraphicsItem const, QWidget)': /home/florians/Downloads/avogadro-git/libavogadro/src/elementdetail_p.cpp:68: undefined reference to OpenBabel::etab' /usr/bin/ld: /home/florians/Downloads/avogadro-git/libavogadro/src/elementdetail_p.cpp:68: undefined reference toOpenBabel::OBElementTable::GetSymbol(int)' /usr/bin/ld: /home/florians/Downloads/avogadro-git/libavogadro/src/elementdetail_p.cpp:70: undefined reference to OpenBabel::OBElementTable::GetMass(int)' /usr/bin/ld: /home/florians/Downloads/avogadro-git/libavogadro/src/elementdetail_p.cpp:72: undefined reference toOpenBabel::OBElementTable::GetRGB(int)' /usr/bin/ld: CMakeFiles/avogadro.dir/elementitem_p.cpp.o: in function Avogadro::ElementItem::ElementItem(int)': /home/florians/Downloads/avogadro-git/libavogadro/src/elementitem_p.cpp:48: undefined reference toOpenBabel::etab' /usr/bin/ld: /home/florians/Downloads/avogadro-git/libavogadro/src/elementitem_p.cpp:48: undefined reference to OpenBabel::OBElementTable::GetSymbol(int)' /usr/bin/ld: /home/florians/Downloads/avogadro-git/libavogadro/src/elementitem_p.cpp:51: undefined reference toOpenBabel::OBElementTable::GetRGB(int)' /usr/bin/ld: CMakeFiles/avogadro.dir/molecule.cpp.o: in function `Avogadro::Molecule::setOBMol(OpenBabel::OBMol)': /home/florians/Downloads/avogadro-git/libavogadro/src/molecule.cpp:1405: undefined reference to OpenBabel::OBMol::SetConformer(int)' /usr/bin/ld: CMakeFiles/avogadro.dir/molecule.cpp.o: in functionAvogadro::Molecule::OBMol() const': /home/florians/Downloads/avogadro-git/libavogadro/src/molecule.cpp:1234: undefined reference to OpenBabel::etab' /usr/bin/ld: /home/florians/Downloads/avogadro-git/libavogadro/src/molecule.cpp:1234: undefined reference toOpenBabel::OBElementTable::GetSymbol(int)' /usr/bin/ld: CMakeFiles/avogadro.dir/periodictableview.cpp.o: in function Avogadro::PeriodicTableView::keyPressEvent(QKeyEvent*)': /home/florians/Downloads/avogadro-git/libavogadro/src/periodictableview.cpp:97: undefined reference toOpenBabel::etab' /usr/bin/ld: /home/florians/Downloads/avogadro-git/libavogadro/src/periodictableview.cpp:97: undefined reference to OpenBabel::OBElementTable::GetAtomicNum(char const*)' /usr/bin/ld: engines/bsdyengine.a(bsdyengine.cpp.o): in functionAvogadro::(anonymous namespace)::radiusVdW(Avogadro::Atom const)': /home/florians/Downloads/avogadro-git/libavogadro/src/engines/bsdyengine.cpp:99: undefined reference to OpenBabel::etab' /usr/bin/ld: engines/bsdyengine.a(bsdyengine.cpp.o): in functionAvogadro::(anonymous namespace)::radiusCovalent(Avogadro::Atom const)': /home/florians/Downloads/avogadro-git/libavogadro/src/engines/bsdyengine.cpp:94: undefined reference to OpenBabel::etab' /usr/bin/ld: engines/bsdyengine.a(bsdyengine.cpp.o): in functionAvogadro::(anonymous namespace)::radiusVdW(Avogadro::Atom const)': /home/florians/Downloads/avogadro-git/libavogadro/src/engines/bsdyengine.cpp:99: undefined reference to OpenBabel::OBElementTable::GetVdwRad(int)' /usr/bin/ld: engines/bsdyengine.a(bsdyengine.cpp.o): in functionAvogadro::(anonymous namespace)::radiusCovalent(Avogadro::Atom const)': /home/florians/Downloads/avogadro-git/libavogadro/src/engines/bsdyengine.cpp:94: undefined reference to OpenBabel::OBElementTable::GetCovalentRad(int)' /usr/bin/ld: colors/elementcolor.a(elementcolor.cpp.o): in functionAvogadro::ElementColor::setFromPrimitive(Avogadro::Primitive const*)': /home/florians/Downloads/avogadro-git/libavogadro/src/colors/elementcolor.cpp:51: undefined reference to OpenBabel::etab' /usr/bin/ld: /home/florians/Downloads/avogadro-git/libavogadro/src/colors/elementcolor.cpp:51: undefined reference toOpenBabel::OBElementTable::GetRGB(int)' collect2: Fehler: ld gab 1 als Ende-Status zurück make[2]: [libavogadro/src/CMakeFiles/avogadro.dir/build.make:1717: lib/libavogadro.so.1.2.0] Fehler 1 make[1]: [CMakeFiles/Makefile2:678: libavogadro/src/CMakeFiles/avogadro.dir/all] Fehler 2 make: *** [Makefile:172: all] Fehler 2

`

ghutchis commented 3 years ago

I think you're trying to compile Avogadro 1.2 with Open Babel 3.x, which broke backward compatibility.