Xtalopt compilation problem

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 baettig@gmail.com wrote:

I was recompiling ob/avogadro/xtalopt and the xtalopt compilation
broke, I am not sure where these libraries should come from:

/usr/bin/ld: cannot find -lbsdyengine /usr/bin/ld: cannot find -lnavigatetool /usr/bin/ld: cannot find -lelementcolor

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