Action #2196

Feature #1490: Build binary conda packages for Gammalib and ctools

Validate GammaLib installation through conda

Added by Brau-Nogué Sylvie over 6 years ago. Updated over 6 years ago.

Status:ClosedStart date:09/27/2017
Priority:NormalDue date:10/04/2017
Assigned To:Brau-Nogué Sylvie% Done:

100%

Category:-
Target version:1.5.0
Tags: PACKAGING
Duration: 8

Description

à partir des recipes préparées par K. Kosack, voir https://github.com/cta-observatory/cta-conda-recipes/tree/master/extern


Recurrence

No recurrence.

History

#1 Updated by Brau-Nogué Sylvie over 6 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 10

Petit test rapide à partir du dépôt https://anaconda.org/cta-observatory/gammalib

  • Installation de conda sur masOS ; (package standard)
Installation gammalib/ctools
  • export PATH=/Applications/anaconda2/bin:$PATH
  • unset GAMMALIB
  • conda install -c cta-observatory ctools
    → çà marche pas parce qu’il ne trouve pas gammalib
  • conda install -c cta-observatory gammalib
    → çà marche pas parce qu’il ne trouve pas cfitsio
  • conda install -c conda-forge cfitsio
  • conda install -c cta-observatory gammalib
  • python

import gammalib → çà marche pas car il manque libreadline

  • conda install -c conda-forge readline
  • python

import gammalib
gammalib.test() OK

#2 Updated by Brau-Nogué Sylvie over 6 years ago

  • Tags set to PACKAGING
  • % Done changed from 10 to 70
Etape suivante : partir from scratch sur MaxOS avec Python v2.7.10 avec gammalib/ctools fournis par K. Kosack (voir Feature #1490)
  • install conda/anaconda depuis https://store.continuum.io/cshop/anaconda/
    • → package : Anaconda2-5.0.0-MacOSX-x86_64.pkg
    • anaconda, conda installés sur répertoire $HOME/anaconda2
    • l’installation a modifié le fichier .bash_profile en rajouta $HOME/anaconda2/bin dans le PATH
  • unset GAMMALIB
  • unset CTOOLS
  • conda install -c conda-forge cfitsio
  • conda install -c conda-forge readline
  • conda update conda
  • conda update anaconda
  • conda update --all -c conda-forge
  • conda install -c cta-observatory gammalib ( → https://anaconda.org/cta-observatory/gammalib v 1.4.2)
  • conda install -c cta-observatory ctools ( → https://anaconda.org/cta-observatory/ctools v 1.4.2)
$ python -c 'import gammalib; gammalib.test()'

****************************
* Python interface testing *
****************************
Test GLog: ....................................... ok
Test GApplication: ...... ok
Test GApplicationPars: .. ok
Test GFits class: ...... ok
Test GFitsImage class: . ok
Test GFitsTable class: . ok
Test GFitsTableCol classes: ....................... ok
Test GVector: ......................................... ok
Test GMatrix: ................ ok
Test GMatrixSparse: ................ ok
Test GMatrixSymmetric: .......... ok
Test GModels: ... ok
Test GFft: .. ok
Test GEnergy class: ................. ok
Test GEnergies class: .... ok
Test GTime class: ............... ok
Optimizer module dummy test: . ok
Test sky map methods: ............... ok
Test sky map operators: .......................... ok
Test HEALPix map: ................................................................................................. ok
Test AIT projection map: ................................................... ok
Test AZP projection map: ................................................... ok
Test CAR projection map: ................................................... ok
Test MER projection map: ................................................... ok
Test MOL projection map: ................................................... ok
Test SIN projection map: ................................................... ok
Test STG projection map: ................................................... ok
Test TAN projection map: ................................................... ok
Test FK5 to Galactic coordinate conversion: .. ok
Test GNodeArray: ..................... ok
Test GUrlFile: ... ok
Test GUrlString: ... ok
Test GFilename: ......... ok
Test GCsv: ................... ok
Test module dummy test: . ok
XML module dummy test: . ok
Test GPha: ... ok
Test GArf: ... ok
Test GRmf: ..... ok
Test GVOClient: . ok
MWL dummy test: . ok
Test CTA effective area classes: ................. ok
Test CTA PSF classes: ......................... ok
Test CTA energy dispersion classes: ......... ok
Test CTA response classes: . ok
Test CTA On/Off analysis: ......... ok
LAT dummy test: . ok
COMPTEL dummy test: . ok
$ python -c 'import ctools; ctools.test()'

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/sbn/anaconda2/lib/python2.7/site-packages/ctools/tools.py", line 2190, in test
    test_python_ctools.test(installed=True)
  File "/Users/sbn/anaconda2/lib/python2.7/site-packages/ctools/tests/test_python_ctools.py", line 99, in test
    os.system('cp -r %s/syspfiles/*.par pfiles/' % (os.environ['CTOOLS']))
  File "/Users/sbn/anaconda2/lib/python2.7/UserDict.py", line 40, in __getitem__
    raise KeyError(key)
KeyError: 'CTOOLS'

$ export CTOOLS=/Users/sbn/anaconda2

$ python -c 'import ctools; ctools.test()'

***********************
* ctools unit testing *
***********************
Test ctobssim on command line: .FE NOK
Test ctobssim from Python: ..E NOK
Test ctselect on command line: ......... ok
Test ctselect from Python: ....................E NOK
Test ctbin on command line: .......... ok
Test ctbin from Python: .................................................... ok
Test ctlike on command line: .FE NOK
Test ctlike from Python: ....E NOK
Test cttsmap on command line: .FE NOK
Test cttsmap from Python: .....E NOK
Test ctmodel on command line: .FE NOK
Test ctmodel from Python: ....E NOK
Test ctskymap on command line: ........ ok
Test ctskymap from Python: ...................E NOK
Test ctexpcube on command line: .FE NOK
Test ctexpcube from Python: ..E NOK
Test ctpsfcube on command line: .FE NOK
Test ctpsfcube from Python: ..E NOK
Test ctedispcube on command line: .FE NOK
Test ctedispcube from Python: ...E NOK
Test ctbkgcube on command line: .FE NOK
Test ctbkgcube from Python: ...E NOK
Test ctmapcube on command line: ........ ok
Test ctmapcube from Python: .................... ok
Test ctcubemask on command line: ....... ok
Test ctcubemask from Python: ............. ok
Test ctbutterfly on command line: .FE NOK
Test ctbutterfly from Python: E NOK
Test ctulimit on command line: .F... NOK
Test ctulimit from Python: ...E NOK
Test cterror on command line: .FE NOK
Test cterror from Python: ....E NOK
Test unbinned pipeline with FITS file saving: E NOK
Test unbinned in-memory pipeline: E NOK

#3 Updated by Brau-Nogué Sylvie over 6 years ago

  • Checklist changed from [ ] Installer conda sur Mac + 1 VM Centos, [ ] Installer ctools v 1.3 to [ ] Installer conda sur Mac + 1 VM Centos, [ ] Installer ctools v 1.3, [ ] Tester installation package gammalib/ctools préparée par K. Kosack
  • % Done changed from 70 to 0

#4 Updated by Brau-Nogué Sylvie over 6 years ago

  • Checklist changed from [ ] Tester installation package gammalib/ctools préparée par K. Kosack to [x] Tester installation package gammalib/ctools préparée par K. Kosack

#5 Updated by Brau-Nogué Sylvie over 6 years ago

  • Checklist changed from [ ] Installer conda sur Mac + 1 VM Centos, [ ] Installer ctools v 1.3, [x] Tester installation package gammalib/ctools préparée par K. Kosack to [x] Installer conda sur Mac + 1 VM Centos, [x] Installer ctools v 1.4.2, [x] Tester installation package gammalib/ctools préparée par K. Kosack
  • % Done changed from 30 to 100

Etape suivante : partir from scratch sur CentOS avec Python v2.7.10 avec gammalib/ctools fournis par K. Kosack (voir Feature #1490)

  • même séquence que pour MacOS

Problème pour la commande conda install -c cta-observatory gammalib

$ python --version
Python 2.7.11 :: Anaconda custom (64-bit)

$ conda install -c cta-observatory gammalib
Fetching package metadata .............
Solving package specifications: .

UnsatisfiableError: The following specifications were found to be in conflict:
  - gammalib -> python 3.6*
  - python 2.7*
Use "conda info <package>" to see the dependencies for each package.

En effet, à la question : $ conda search -c cta-observatory gammalib

Fetching package metadata .............
gammalib 1.3.0 py36_1 cta-observatory

Donc, installation d’une nouvelle version de Python, et activation de l’environnement py36

$conda create -n py36 python=3.6 anaconda
$ source activate py36
(py36) $ python --version
Python 3.6.2 :: Anaconda, Inc.

  • les paquets gammalib et ctools sont installés dans $HOME/anaconda2/envs/py36/
    ← parce que je n’ai pas cherché comment les installer ailleurs, c’est la configuration par défaut

TESTS pour gammalib ← semble OK

(py36)$ python -c 'import gammalib; gammalib.test()'

****************************
* Python interface testing *
****************************
Test GLog: ....................................... ok
Test GApplication: ...... ok
Test GApplicationPars: .. ok
Test GFits class: ...... ok
Test GFitsImage class: ........................... ok
Test GFitsTable class: . ok
Test GFitsTableCol classes: ....................... ok
Test GVector: ......................................... ok
Test GMatrix: ................ ok
Test GMatrixSparse: ................ ok
Test GMatrixSymmetric: .......... ok
Test GModels: ... ok
Test GFft: .. ok
Test GEnergy class: ................. ok
Test GEnergies class: .... ok
Test GTime class: ............... ok
Optimizer module dummy test: . ok
Test sky map methods: ............... ok
Test sky map friend methods: ...... ok
Test sky map operators: .......................... ok
Test HEALPix map: ................................................................................................. ok
Test AIT projection map: ................................................... ok
Test AZP projection map: ................................................... ok
Test CAR projection map: ................................................... ok
Test GLS projection map: ................................................... ok
Test MER projection map: ................................................... ok
Test MOL projection map: ................................................... ok
Test SFL projection map: ................................................... ok
Test SIN projection map: ................................................... ok
Test STG projection map: ................................................... ok
Test TAN projection map: ................................................... ok
Test FK5 to Galactic coordinate conversion: .. ok
Test GNodeArray: ..................... ok
Test GUrlFile: ... ok
Test GUrlString: ... ok
Test GFilename: ......... ok
Test GCsv: ................... ok
Test module dummy test: . ok
XML module dummy test: . ok
Test GPha: ... ok
Test GArf: ... ok
Test GRmf: ..... ok
Test GVOClient: . ok
MWL dummy test: . ok
Test CTA effective area classes: ................. ok
Test CTA PSF classes: ......................... ok
Test CTA energy dispersion classes: ......... ok
Test CTA response classes: . ok
Test CTA On/Off analysis: ......... ok
LAT dummy test: . ok
COMPTEL dummy test: . ok

(x) TESTS pour ctools ← NOK

(py36) $ python -c 'import ctools; ctools.test()'

***********************
* ctools unit testing *
***********************
Test ctobssim on command line: .FE NOK
Test ctobssim from Python: ..E NOK
Test ctselect on command line: ......... ok
Test ctselect from Python: ....................E NOK
Test ctphase on command line: ....... ok
Test ctphase from Python: .............. ok
Test ctbin on command line: .......... ok
Test ctbin from Python: .................................................... ok
Test ctlike on command line: .FE NOK
Test ctlike from Python: ....E NOK
Test cttsmap on command line: .FE NOK
Test cttsmap from Python: .....E NOK
Test ctmodel on command line: .FE NOK
Test ctmodel from Python: ....E NOK
Test ctskymap on command line: ........ ok
Test ctskymap from Python: ...................E NOK
terminate called after throwing an instance of 'GException::fits_open_error'
  what():  *** ERROR in GFits::open(GFilename&, bool&): Unable to open FITS file "ctexpcube_cmd1.fits" (status=104)
Test ctexpcube on command line: .FAbandon (core dumped)
(py36) $ 

#6 Updated by Brau-Nogué Sylvie over 6 years ago

  • Description updated (diff)
  • % Done changed from 100 to 80

#7 Updated by Brau-Nogué Sylvie over 6 years ago

  • Checklist changed from [x] Installer conda sur Mac + 1 VM Centos, [x] Installer ctools v 1.4.2, [x] Tester installation package gammalib/ctools préparée par K. Kosack to [x] Installer conda sur Mac + 1 VM Centos, [x] Installer ctools v 1.4.2, [x] Tester installation package gammalib/ctools préparée par K. Kosack, [ ] Valider gammalib/ctools sur CentOS
  • % Done changed from 80 to 70
  • % Done changed from 70 to 100

La validation du package ctools disponible sur https://anaconda.org/cta-observatory/gammalib a échoué sur CentOS

Message d’erreur :

Test ctskymap from Python: ...................E NOK
terminate called after throwing an instance of 'GException::fits_open_error’
what(): *** ERROR in GFits::open(GFilename&, bool&): Unable to open FITS file “ctexpcube_cmd1.fits” (status=104)
Test ctexpcube on command line: .FAbandon (core dumped)

#8 Updated by Brau-Nogué Sylvie over 6 years ago

  • Checklist changed from [ ] Valider gammalib/ctools sur CentOS to [x] Valider gammalib/ctools sur CentOS

#9 Updated by Brau-Nogué Sylvie over 6 years ago

Voir Action #2211 : Prepare packages with conda
La validation des packages est faite, il suffisait de ne rien oublier ....

#10 Updated by Knödlseder Jürgen over 6 years ago

  • Subject changed from Valider l'installation de gammalib avec conda to Validate GammaLib installation through conda

#11 Updated by Knödlseder Jürgen over 6 years ago

  • Status changed from In Progress to Closed

Conda package generation is now implemented in the release pipeline (#2278)

Also available in: Atom PDF