***  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

Reply via email to