I just built Pymol on a Mandriva 2006 system that uses
the nvidia driver for its Nvidia Quadro FX1400 card.
There was one link error in the build that wasn't
evident until pymol ran. The command that
makes _cmd.so is:
cc -shared -o modules/pymol/_cmd.so */*.o ov/src/*.o
-march=i486 -D__i686__ -ffast-math -Wall -ansi
-Wmissing-prototypes -g -I/usr/include
-D_HAVE_LIBPNG -D_PYMOL_MODULE -D_PYMOL_NUMPY
-D_PYMOL_INLINE -D_DRI_WORKAROUND -L/usr/lib
-L/usr/X11R6/lib -lglut -lGL -lGLU -ldl -lpng -lXmu
It must also have an -lXi on that line. Without it
when Pymol starts _cmd can't resolve the symbol
XGetExtensionVersion. All of the other places where
-lglut occurs already had -lXi. So the bug is
somewhere in the build routines that generated the
cc line above.
In case anybody else is interested this is all I had
to do to build pymol on this Mandriva machine
(aside from running the above command at the
end with an extra -lXi argument). libglut was already
installed and various other stereo enabled
programs (O for instance) were already working:
1. Download and unpack pymol source, ln -s
that directory to /usr/local/src/pymol
2. cp setup/Rules.linux ./Rules.make
3. nedit Rules.make
get rid of all the places /ext/ appeared, putting
in the appropriate path, also setting PYMOL_PATH
4. urpmi python=devel
5. urpmi python-numeric-devel
6. urpmi Pmw #CASE SENSITIVE, pmw is different!
6.* (other *devel* packages had been previously
loaded that were probably also required. If the
build stops at a missing .h file then install
the right -devel rpm or make sure the include
paths are correct)
8. python $PYMOL_PATH/modules/pymol/__init__.py
and it ran.
Log in to post a comment.