Chargement...
 

DCT installation

Intro


Installation du logiciel sur un compte à l'ESRF. Il s'agit principalement de suivre la démarche du README du logiciel de DCT, dispo sur le serveur depuis http://sourceforge.net/projects/dct/

Dépendances nécessaires

Installation

à l'ESRF

  1. télécharger dct-install.zip en local depuis http://sourceforge.net/projects/dct/
  2. l'envoyer sur le compte ESRF
    scp -P 5022 dct-install.zip LOGIN@firewall.esrf.fr:dct-install.zip
  3. dézipper l'application dans le dossier temporaire de l'ESRF
    unzip dct-install.zip -d /tmp_14_days
  4. passer en mode rnice7
    ssh -X LOGIN@rnice7
  5. vérifier les options disponibles :
    python dct_setup.py -h
  6. compiler l'application :
    python dct_setup.py -b master -d ~/dct_master -m 2013a -mp /sware/com/matlab_2013a/

    avec ici comme argument :
    * -b choix de la branche master
    * -d destination de la compilation ~/dct_master
    * -m matlab version 2013a
    * -mp matlab path /sware/com/matlab_2013a/
    le dossier destination ne doit pas exister


compilation sur une machine locale à l'INSA

  • outil de dévelopement (compilateur and Co...)
    sudo yum groupinstall development
  • matlab nécessite gcc >4.9.x
    matlab dépendance
    pour gcc https://gist.github.com/craigminihan/b23c06afd9073ec32e0c
    sudo yum install libmpc-devel mpfr-devel gmp-devel
    
    cd ~/Downloads
    curl ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-4.9.2/gcc-4.9.2.tar.bz2 -O
    tar xvfj gcc-4.9.2.tar.bz2
    
    cd gcc-4.9.2
    ./configure --disable-multilib --enable-languages=c,c++
    make -j 4
    make install
  • pgsql (nécessaire pour OAR)
    https://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-centos-7
    sudo yum install postgresql-server postgresql-contrib
    sudo postgresql-setup initdb
    systemctl start postgresql
    systemctl enable postgresql
    
    sudo -i -u postgres
    
    createuser --interactive
    > Saisir le nom du rôle à ajouter : OAR
    > Le nouveau rôle est-il super-utilisateur ? (o/n) n
    > Le nouveau rôle est-il autorisé à créer des bases de données ? (o/n) o
    > Le nouveau rôle est-il autorisé à créer de nouveaux rôles ? (o/n) n

    https://stackoverflow.com/questions/12720967/how-to-change-postgresql-user-password
    passer l'identification de posgresql en mode password
    sudo vi /var/lib/pgsql/data/pg_hba.conf
    remplacer ident par "password" et redémarer le service
  • OAR system
    http://oar.imag.fr/docs/latest/admin/installation.html
    http://oar.imag.fr/download#rpms
    pour ajouter le dépots
    $ DISTRO="cento6" # or DISTRO="centos7"
    $ cat <<EOF > /etc/yum.repos.d/OAR.repo
    [OAR]
    name=OAR
    baseurl=http://oar-ftp.imag.fr/oar/2.5/rpm/$DISTRO/stable/
    gpgcheck=1
    gpgkey=http://oar-ftp.imag.fr/oar/oarmaster.asc
    enabled=0
    EOF

    sudo yum --enablerepo=OAR install oar-node
    sudo yum install gcc make tar python-docutils
    sudo yum install perl openssh
    
    sudo yum --enablerepo=OAR install oar-server oar-server-pgsql
    sudo oar-database --create --db-is-local

    Disabling SELinux ici
    Configure SELINUX=disabled in the /etc/selinux/config file
    getenforce
    >>> Disabled


    pour ajouter un noeud
    sudo oarnodesetting -a -h 127.0.0.1


    pour démarer les services
    sudo service oar-node start
    sudo service oar-server start


    si oarnodes indique un node suspected alors le réactivier avec la commande
    sudo oarnodesetting -r 1 -s Alive


    oar-frontend
    sudo yum --enablerepo=OAR install oar-user oar-user-pgsql
  • mysql (nécessaire pour la DCT)
    -> mysql.h
    yum install MySQL-zrm.noarch

    n'a servis à rien
    installer mysql sur centos 7 https://www.linode.com/docs/databases/mysql/how-to-install-mysql-on-centos-7
    wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
    sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
    yum update
    
    sudo yum install mysql-server
    sudo systemctl start mysqld

    sudo mysql_secure_installation

    pour inclure mysql.h
    sudo yum install mysql-community-devel.x86_64

    connection à mysql
    mysql -u root -p

    configuration du user gtadmin (https://www.digitalocean.com/community/tutorials/how-to-create-a-new-user-and-grant-permissions-in-mysql)
    CREATE USER 'gtadmin'@'localhost' IDENTIFIED BY 'gtadmin';
    GRANT ALL PRIVILEGES ON * . * TO 'gtadmin'@'localhost';
    FLUSH PRIVILEGES;

    connection en tant que gtadmin et création de la database graintracking (https://www.w3schools.com/SQl/sql_create_db.asp)
    >>> mysql -u gtadmin -p
    CREATE DATABASE graintracking;
  • divers (nécessaire pour la DCT)
    -> yaml
    yum install yaml-cpp-devel.x86_64
    yum install PyYAML.x86_64
python dct_setup.py -b master -d /home/clebourlot/bin/software/DCT/dct-master/ -m 2017b -mp /usr/local/MATLAB/R2017b/
  1. dependances
    pas sur que ça marche...
    sudo apt install g++ libxslt-dev
    yum install pyqt4
    pip install lxml

Mise à jour

Update du code DCT

dct_launch.py update


Compilation matlab

dct_launch.py compile_matlab -h
 Options:
  -h | --help : to show this help
  -v | --verbose : to show more detailed output
  -mp <matlab_dir> : to specify matlab's directory
  -c <filename> : to compile only a specific matlab function
  -force-compile : to force the compilation even if not needed
  -just-compile : to skip the generation of the script
  -just-generate : to skip the actual compilation
  -scan-sources : to scan the matlab sources


fonctions à compiler

  • gtSeedThreshold_doublethr
  • gtSegmentDiffractionBlobs_doublethr
  • gtCreateFullLive
  • gtMovingMedianLive
  • gtDBBlob2SpotTable
  • gtSegmentationDoubleThreshold
  • gtConvertRawImages2Blobs
  • gtCreateAbsLive
  • gtChangeThreshold3D
  • gtCopyCorrectUndistortCondor
  • gtAbsMedianLive
  • gtSegmentDiffractionBlobs
  • gtReconstructGrains
  • gtSequenceMedianRefs
  • gtForwardSimulate_v2


Les fonctions

  • gtReconstructGrains
  • gtForwardSimulate_v2

nécessite la licence Matlab Statistics_Toolbox (1 seule dispo à l'ESRF...)

Modif code DCT

OAR_make.m 6> référence au dossier /tmp_14_days

sudo ln -s /tmp /tmp_14_days