Installation de Visual Molecular Dynamics sous Debian Stretch

Installation à partir des sources

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.

Préparation du système

Toutes les commandes sont à effectuer en root pour cette installation.

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

Préparation des sources et des variables d'environnement

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 :

  • le nom de l'exécutable sera : vmd-1.9.3
  • le dossier d'installation des librairies sera : /opt/vmd-1.9.3
  • l'architecture choisie pour l'installation est LINUXAMD64
  • toute la phase de compilation et d'installation est réalisée par 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

Compilation et installation de greffons

Le dossier de compilation, /tmp/VMD comprend deux dossiers :

  • plugins : les sources des greffons
  • vmd-1.9.3 : les sources de VMD

La 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 ..

Compilation et installation de VMD version standard

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

Installation dans l'environnement Gnome

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

developpement/activites/integration/vmd4stretch.txt · Dernière modification: 2017/05/23 15:43 par equemene