From: John Stone (johns_at_ks.uiuc.edu)
Date: Tue Dec 01 2009 - 10:05:01 CST

Hi,
  The standard VMD 'configure' script expects all of the libraries
to be found in vmd/lib rather than in /usr/local or other locations.
We do this because when we build VMD here we have to have strict control
over which versions of the various libraries we are linking against, and
this prevents us from accidentally picking up a bad version of Tcl, Python,
or FLTK from the /usr/local tree on system we're compiling on.

You can redirect the VMD compilation to use whatever directory structure
you like by editing the appropriate lines in the 'configure' script
prior to generating the makefiles etc. Look in the 'configure' script
starting on line 1027 and you'll see where the default Python include
and linkage paths are set. You can simply edit those directory paths
and you should be in business. This is often simpler than manually editing
the makefile that the configure script generates, although that approach
would work equally well if you're more comfortable with it.

For Tcl/Tk we allow overriding default paths with the use of a few
environment variables (see line 22-31 in the 'configure' script).
If people would find it helpful, I could add logic to allow the same
kinds of overrides for Python and other libraries that are often part
of the default OS install.

Let me know if you have more questions.

Cheers,
  John Stone
  vmd_at_ks.uiuc.edu

On Mon, Nov 30, 2009 at 03:49:23PM -0800, Rich Cook wrote:
> Hello,
>
> I am using the below script to install VMD 1.8.7. I'm almost there,
> but the build seems to be unable to find the python library. Can some
> wise person here help me? I find the build instructions to be
> confusing and incomplete. Thanks for any help or pointers to
> additional info.
>
> Here is my machine info:
> rcook_at_zeus287 (src): uname -a
> Linux zeus287 2.6.18-76chaos #1 SMP Fri Aug 14 13:22:06 EDT 2009
> x86_64 x86_64 x86_64 GNU/Linux
>
> Do I need to download and install Python 2.5 in the vmd-1.8.7
> directory to get it in there?
> Here is the installation script:
> # =====================================================================
> # begin installation script for vmd
> #!/usr/bin/env bash
> if ! . $HOME/RC_bash_lib/shellfuncs.sh; then
> echo "need shellfuncs, time to exit, bye bye"
> exit 1
> fi
>
> set -x
> cd /usr/global/tools/vmd/1.8.7
>
> rm -rf $SYS_TYPE/{src,bin,lib}
> mkdir -p $SYS_TYPE/src
> cd $SYS_TYPE
> [ -d Tcl ] || errexit "You must have Tcl installed in $(pwd)/Tcl"
>
> cd src
> tar -xvzf /usr/global/tools/vmd/1.8.7/tarballs/vmd-1.8.7.src.tar.gz
>
> echo "============================================================"
> echo "First the plugins have to be built"
> cd /usr/global/tools/vmd/1.8.7/$SYS_TYPE/src/plugins
> gmake LINUXAMD64 TCLINC=-I/usr/global/tools/vmd/1.8.7/$SYS_TYPE/Tcl/
> include TCLLIB=-L/usr/global/tools/vmd/1.8.7/$SYS_TYPE/Tcl/lib/
> export PLUGINDIR=/usr/global/tools/vmd/1.8.7/$SYS_TYPE/src/vmd-1.8.7/
> plugins
> gmake distrib
>
> echo "============================================================"
> echo "Now build SURF"
> cd /usr/global/tools/vmd/1.8.7/$SYS_TYPE/src/vmd-1.8.7/lib/surf
> uncompress surf.tar.Z -c | tar -xv || errexit "could not untar surf
> library"
> gmake depend
> gmake
> mv surf surf_LINUXAMD64
>
> echo "============================================================"
> echo "Now make Fltk"
> cd /usr/global/tools/vmd/1.8.7/$SYS_TYPE/src/
> tar -xvzf /usr/global/tools/vmd/1.8.7/tarballs/fltk-1.1.10rc3-
> source.tar.gz
> cd fltk-1.1.10rc3 || errexit "cannot cd to fltk directory"
> ./configure --prefix=/usr/global/tools/vmd/1.8.7/$SYS_TYPE
> gmake
> gmake install || errexit "Cannot build Fltk library"
>
> echo "============================================================"
> echo "Now the main thing can be built"
> cd /usr/global/tools/vmd/1.8.7/$SYS_TYPE/src/vmd-1.8.7
> sedfiles -e "s:install_bin_dir=\"/usr/local/bin\":install_bin_dir=\"/
> usr/global/tools/vmd/1.8.7/$SYS_TYPE/bin\":" -e "s:install_library_dir=
> \"/usr/local/lib:install_library_dir=\"/usr/global/tools/vmd/
> 1.8.7/$SYS_TYPE/lib:" configure
> chmod 775 configure
> export TCL_INCLUDE_DIR=/usr/global/tools/vmd/1.8.7/$SYS_TYPE//include
> export TCL_LIBRARY_DIR=/usr/global/tools/vmd/1.8.7/$SYS_TYPE//lib
> export TK_INCLUDE_DIR=/usr/global/tools/vmd/1.8.7/$SYS_TYPE//include
> export TK_LIBRARY_DIR=/usr/global/tools/vmd/1.8.7/$SYS_TYPE//lib
>
> ./configure LINUXAMD64 OPENGL FLTK ACTC NETCDF TK TCL PYTHON NUMPY
> PTHREADS LP64 PTHREADS NOSILENT
> cd src
> gmake # <--------- this fails
> gmake install
>
> # end vmd installation script
> #=============================================================
> Here is the error:
>
> g++ -m64 -fno-for-scope -Wno-deprecated -Wall -O6 -ffast-
> math -DARCH_LINUXAMD64 -DVMDOPENGL -DVMDGRAPHICS -DVMDACTC -
> DVMDPYTHON -DVMDTHREADS -DUSEPOSIXTHREADS -D_REENTRANT -DVMDNUMPY -
> DVMDORBITALS -DVMDWITHORBITALS -DVMDWITHCARBS -DVMDPOLYHEDRA -DVMDSURF
> -DVMDMSMS -DVMDFIELDLINES -DVMDPBCSMOOTH -DVMDTCL -DVMDTK -
> DVMDSTATICPLUGINS -DVMDGUI -DVMDFLTK -I../lib/actc/include -I../lib/
> python/lib_LINUXAMD64/include/python2.5 -I../lib/numpy/lib_LINUXAMD64/
> include -I../lib/python/lib_LINUXAMD64/lib/python2.5/site-packages/
> numpy/core/include -I/usr/global/tools/vmd/1.8.7/chaos_4_x86_64_ib//
> include -I/usr/global/tools/vmd/1.8.7/chaos_4_x86_64_ib//include -I../
> plugins/include -I../plugins/LINUXAMD64/molfile -I../lib/netcdf/
> include -I../lib/fltk/include -I. -c PythonTextInterp.C -o ../
> LINUXAMD64/PythonTextInterp.o
> Compiling PythonTextInterp.C --> PythonTextInterp.o ...
> In file included from PythonTextInterp.C:21:
> py_commands.h:28:20: error: Python.h: No such file or directory
> PythonTextInterp.C:32:21: error: errcode.h: No such file or directory
>
>
>
>
> /* A function that takes a single integer argument and returns
> a pointer to a function that takes two integer arguments and
> returns a floating-point number. */
> float (*func2(int a))(int, int);
> Rich Cook
> rcook_at_llnl.gov
>
>
>

-- 
NIH Resource for Macromolecular Modeling and Bioinformatics
Beckman Institute for Advanced Science and Technology
University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801
Email: johns_at_ks.uiuc.edu                 Phone: 217-244-3349
  WWW: http://www.ks.uiuc.edu/~johns/      Fax: 217-244-6078