Hi Pio, I'm cc'ing this to the XtalOpt and Avogadro mailing lists in case anyone else comes across this problem.
On Mon, Aug 1, 2011 at 10:51 AM, Pio Baettig <[email protected]> wrote: > I was recompiling ob/avogadro/xtalopt and the xtalopt compilation > broke, I am not sure where these libraries should come from: > > <snip> > /usr/bin/ld: cannot find -lbsdyengine > /usr/bin/ld: cannot find -lnavigatetool > /usr/bin/ld: cannot find -lelementcolor > <snip> What's happening: There is a problem in Avogadro that is causing this. Some of the essential plugins are now compiled into the avogadro executable, instead of being plugins that are loaded at runtime. These are the ball-and-stick engine (bsdyengine), the navigation tool, and a element-type based color mapping. However, the build files that are used to build external avogadro plugins are telling the linker to try to link these essential plugins into the new plugin, even though they are no longer separate objects. To fix: You'll need to edit /usr/lib/avogadro/1_1/AvogadroLibraryDeps.cmake to fix this problem (note: The file may be located in another path, but the name should be the same). There are two lines that need to be changed: SET("avogadro_LIB_DEPENDS" "general;openbabel;general;/usr/lib/libQtOpenGL.so;general;/usr/lib/libQtGui.so;general;/usr/lib/libQtCore.so;general;/usr/lib/libGLU.so;general;/usr/lib/libGL.so;general;/usr/lib/libSM.so;general;/usr/lib/libICE.so;general;/usr/lib/libX11.so;general;/usr/lib/libXext.so;general;bsdyengine;general;navigatetool;general;elementcolor;") and SET("avogadro_LIB_DEPENDS" "openbabel;/usr/lib/libQtOpenGL.so;/usr/lib/libQtGui.so;/usr/lib/libQtCore.so;/usr/lib/libGLU.so;/usr/lib/libGL.so;/usr/lib/libSM.so;/usr/lib/libICE.so;/usr/lib/libX11.so;/usr/lib/libXext.so;bsdyengine;navigatetool;elementcolor;") Change them to: SET("avogadro_LIB_DEPENDS" "general;openbabel;general;/usr/lib/libQtOpenGL.so;general;/usr/lib/libQtGui.so;general;/usr/lib/libQtCore.so;general;/usr/lib/libGLU.so;general;/usr/lib/libGL.so;general;/usr/lib/libSM.so;general;/usr/lib/libICE.so;general;/usr/lib/libX11.so;general;/usr/lib/libXext.so;") and SET("avogadro_LIB_DEPENDS" "openbabel;/usr/lib/libQtOpenGL.so;/usr/lib/libQtGui.so;/usr/lib/libQtCore.so;/usr/lib/libGLU.so;/usr/lib/libGL.so;/usr/lib/libSM.so;/usr/lib/libICE.so;/usr/lib/libX11.so;/usr/lib/libXext.so;") e.g. remove the references to bsdyengine, navigatetool, and elementcolor from the avogadro_LIB_DEPENDS specifications. After changing this, try recompiling the plugin. Note that until this bug is fixed, this will need to be done every time Avogadro is (re)installed, as the installation will regenerate and overwrite these files. Dave ------------------------------------------------------------------------------ Got Input? Slashdot Needs You. Take our quick survey online. Come on, we don't ask for help often. Plus, you'll get a chance to win $100 to spend on ThinkGeek. http://p.sf.net/sfu/slashdot-survey _______________________________________________ Avogadro-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/avogadro-devel
