Le téléchargement de VMD exige une inscription préalable.
La version courante, de novembre 2016, est la 1.9.3.
Pour réaliser cette documentation, le lien de Debian Clusters a été instructif.
Les paquets suivants sont indispensables à la compilation et à l'utilisation de VMD
apt-get -y install libc6-dev libfltk1.1-dev libfltk1.1 netcdf-bin libnetcdf-dev libnetcdf11 tk8.6 tk8.6-dev tcl8.6 tcl8.6-dev libglu1-mesa mesa-common-dev libgl1-mesa-dri libglu1-mesa-dev libxi-dev libxi6 python2.7 python2.7-dev python-numpy libtachyon-dev-common libtachyon-mpi-dev tachyon texlive-latex-base latex2html imagemagick
Pour les architectures 32 bits :
apt-get -y install libc6-dev libfltk1.1-dev libfltk1.1 netcdf-bin libnetcdf-dev libnetcdf11 tk8.6 tk8.6-dev tcl8.6 tcl8.6-dev libglu1-mesa mesa-common-dev libgl1-mesa-dri libglu1-mesa-dev libxi-dev libxi6 python2.7 python2.7-dev python-numpy libtachyon-dev-common libtachyon-mpi-dev tachyon texlive-latex-base latex2html imagemagick
La phase de compilation de VMD exige l'utilisation d'un dossier temporaire, par exemple /tmp/VMD
. L'archive de VMD y est alors expansée :
mkdir /tmp/VMD cd /tmp/VMD # Il est suppose que le source de VMD est place dans /root tar xzf /root/vmd-1.9.3.src.tar.gz
Dans la suite, il est supposé que :
vmd-1.9.3
/opt/vmd-1.9.3
LINUXAMD64
root
: en effet, les scripts d'installation se comportent assez mal en sudo
Ces trois réglages font l'objet d'un paramétrage de variables d'environnement que nous allons conserver durant toute la phase d'installation.
Pour une architecture 64 bits :
# Le nom de l'executable export VMDINSTALLNAME="vmd-1.9.3" # Le dossier d'installation des librairies export VMDINSTALLLIBRARYDIR=/opt/$VMDINSTALLNAME # L'architecture choisie pour la compilation export ARCH="LINUXAMD64" # Le dossier d'installation des plugins export PLUGINDIR=/tmp/VMD/$VMDINSTALLNAME/plugins # Creation du dossier mkdir -p $PLUGINDIR
Pour architecture 32 bits
# Le nom de l'executable export VMDINSTALLNAME="vmd-1.9.3" # Le dossier d'installation des librairies export VMDINSTALLLIBRARYDIR=/opt/$VMDINSTALLNAME # L'architecture choisie pour la compilation export ARCH="LINUX" # Le dossier d'installation des plugins export PLUGINDIR=/tmp/VMD/$VMDINSTALLNAME/plugins # Creation du dossier mkdir -p $PLUGINDIR
Le dossier de compilation, /tmp/VMD
comprend deux dossiers :
plugins
: les sources des greffons vmd-1.9.3
: les sources de VMDLa compilation des greffons demande les commandes suivantes :
Pour du 64 bits :
# passage dans le dossier des greffons cd plugins # compilation en precisant l'architecture et le positionnement des librairies TCL export TCLINC="-I/usr/include/tcl8.6" export TCLLIB="-L/usr/lib/x86_64-linux-gnu" find . -exec sed -i "s/tcl8\.5/tcl8\.6/g" {} \; make $ARCH # installation des greffons make distrib # retour à la racine de l'archive de VMD cd ..
Pour du 32 bits :
# passage dans le dossier des greffons cd plugins # compilation en precisant l'architecture et le positionnement des librairies TCL export TCLINC="-I/usr/include/tcl8.6" export TCLLIB="-L/usr/lib/i386-linux-gnu" find . -exec sed -i "s/tcl8\.5/tcl8\.6/g" {} \; make $ARCH # installation des greffons make distrib # retour à la racine de l'archive de VMD cd ..
Le fichier configure
de VMD n'est pas traditionnel : il n'est pas possible de paramétrer les variables à l'appel de la commande.
Pour positionner les chemins des différentes librairies, voici quelques commandes :
cd $VMDINSTALLNAME export PYTHON_INCLUDE_DIR=/usr/include/python2.7 export PYTHON_LIBRARY_DIR=/usr/lib/python2.7 export NUMPY_LIBRARY_DIR=/usr/share/pyshared/numpy/core export TCL_INCLUDE_DIR=/usr/include/tcl8.6 export TCL_LIBRARY_DIR=/usr/lib/tcl8.6 export TK_LIBRARY_DIR=/usr/lib/tk8.6 export TK_INCLUDE_DIR=/usr/include/tcl8.6
Génération du Makefile
, compilation et installation :
# Compilation et paramétrage des paquets externes # Lien pour Tachyon (inutile de le recompiler) cd lib/tachyon ln -s /usr/bin/tachyon tachyon_LINUXAMD64 # Compilation de Surf cd ../surf tar xzf surf.tar.Z mv Makefile Makefile.orig cat Makefile.orig | sed -e 's/\/usr\/include\/sgidefs.h//g' > Makefile sed -i 's/\/sys\/time/\/time/g' Makefile make clean && make mv surf surf_LINUXAMD64 cd ../stride # Compilation de stride wget http://webclu.bio.wzw.tum.de/stride/stride.tar.gz tar xzf stride.tar.gz make mv strideLINUXAMD64 stride_LINUXAMD64 cd ../.. # Changement de la version de librairie pour Python sed -i "s/python2\.5/python2\.7/g" configure # Changement des versions de Tcl/Tk sed -i "s/tcl8\.5/tcl8\.6/g" configure sed -i "s/tk8\.5/tk8\.6/g" configure sed -i "s/tk8\.5/tk8\.6/g" src/Makefile sed -i "s/tcl8\.5/tcl8\.6/g" src/Makefile # Generation du Makefile ./configure $ARCH OPENGL FLTK TK XINPUT NETCDF CONTRIB TCL PYTHON PTHREADS NUMPY cd src # Compilation make veryclean make # installation du programme make install
Pour architecture 32 bits :
# Compilation et paramétrage des paquets externes # Lien pour Tachyon (inutile de le recompiler) cd lib/tachyon ln -s /usr/bin/tachyon tachyon_LINUX # Compilation de Surf cd ../surf tar xzf surf.tar.Z mv Makefile Makefile.orig cat Makefile.orig | sed -e 's/\/usr\/include\/sgidefs.h//g' > Makefile sed -i 's/\/sys\/time/\/time/g' Makefile make clean && make mv surf surf_LINUX cd ../stride # Compilation de stride wget http://webclu.bio.wzw.tum.de/stride/stride.tar.gz tar xzf stride.tar.gz make mv strideLINUX stride_LINUX cd ../.. # Changement de la version de librairie pour Python sed -i "s/python2\.5/python2\.7/g" configure sed -i "s/tcl8\.5/tcl8\.6/g" configure sed -i "s/tk8\.5/tk8\.6/g" configure sed -i "s/tk8\.5/tk8\.6/g" src/Makefile sed -i "s/tcl8\.5/tcl8\.6/g" src/Makefile # Generation du Makefile ./configure $ARCH OPENGL FLTK TK XINPUT NETCDF CONTRIB TCL PYTHON PTHREADS NUMPY cd src # Compilation make veryclean make # installation du programme make install
Quelques commandes cosmétiques supplémentaires :
cd /opt ln -s $VMDINSTALLNAME vmd cd vmd chown -R root.root * cd /usr/local/bin ln -s $VMDINSTALLNAME vmd
Une commande utile, dans l'environnement SIDUS, pour que VMD soit fonctionnel :
sed -i "s/-b(){}\[\],&^%#;|\\\\\\\//g" /usr/local/bin/$VMDINSTALLNAME
Par défaut, la Debian Wheezy propose Gnome Unity.
Pour installer une icône directement dans le dossier Science, voici la commande pour créer manuellement cette entrée :
tee /usr/share/applications/VMD.desktop <<EOF [Desktop Entry] Version=1.0 Encoding=UTF-8 Name=VMD GenericName=VMD Comment=Visual Molecular Dynamics (not Open Source one :-( ) Exec=/usr/local/bin/vmd Icon=/opt/vmd/plugins/noarch/tcl/molefacture1.3/lib/nucleic_acids/dna_dihedrals.gif Type=Application Terminal=true Categories=Science;Education;Chemistry,Biology; EOF
— Emmanuel Quemener 2017/05/23 15:25