*** For details on how to be removed from this list visit the ***
*** CCP4 home page http://www.ccp4.ac.uk ***
Just as a followup:
I think the best workaround is to not set LD_LIBRARY_PATH (or
DYLD_LIBRARY_PATH) but instead to use a coot shell script wrapper. I'm
pretty sure coot does this now anyway (the real binary is called
coot-real). If not, something like
#!/bin/sh
LD_LIBRARY_PATH=/path/to/pathological/library
/absolute/path/to/coot-real "$@"
should work.
Coot will hard-code the LD_LIBRARY_PATH into the binary, so as long as you
don't move the library, or you tell it what location you will move the
library to, you can just ignore LD_LIBRARY_PATH
more here:
http://qin.laya.com/tech_coding_help/dylib_linking.html
otool -L
on OS X, or
ldd
on linux, can tell you what those hard-coded paths are.
(Other equivalents here:
http://bhami.com/rosetta.html )
eg:
% ldd coot-real
linux-gate.so.1 => (0xffffe000)
libcoot-ligand.so.0 =>
/usr/local/xtal/coot-0.1/lib/libcoot-ligand.so.0 (0xb7f0c000)
libcoot-isosurface.so.0 =>
/usr/local/xtal/coot-0.1/lib/libcoot-isosurface.so.0 (0xb7efb000)
libcoot-cabuild.so.0 =>
/usr/local/xtal/coot-0.1/lib/libcoot-cabuild.so.0 (0xb7ef0000)
libcoot-skeleton.so.0 =>
/usr/local/xtal/coot-0.1/lib/libcoot-skeleton.so.0 (0xb7eb7000)
libcoot-AngleInfo.so.0 =>
/usr/local/xtal/coot-0.1/lib/libcoot-AngleInfo.so.0 (0xb7e9c000)
<snip>
On Wed, 17 May 2006, Ethan Merritt wrote:
*** For details on how to be removed from this list visit the ***
*** CCP4 home page http://www.ccp4.ac.uk ***
I have found that the problem (and fix) is even simpler on my machines,
now that I know where to look.
The basic problem is that my Coot installation brings in a separate copy
of the library:
.../local/bin/coot-0.1-redhat-8.0/lib/libglut.so.3
and sets up LD_LIBRARY_PATH to point at it.
Unfortunately this copy of libglut is broken, or at least incompatible
with the "true" libglut.so on my machines - the one molscript was linked
against.
molscript -gl < ras_gdp.in # broken
unsetenv LD_LIBRARY_PATH
molscript -gl < ras_gdp.in # works!
So my fix will be to install a wrapper for Coot that defines a
private LD_LIBRARY_PATH before running, removing it from the general
system login environment.
On Wednesday 17 May 2006 05:30 am, Marian Szebenyi wrote:
As Tim says, the problem is in clib/ogl_bitmap_character.c. I have
found that changing this code to use the standard glutBitmapCharacter
routine instead of its own ogl_bitmap_character makes it work (under
Fedora Core 4 Linux, anyway).
Tim Fenn wrote:
Ah, I remember this one now. clib/ogl_bitmap_character.c contains
BitmapFonts, which are deprecated/broken in freeglut.
--
Ethan A Merritt
Biomolecular Structure Center
University of Washington, Seattle WA