Page 1 sur 1

[python,hdf5] pb éxécution suite à MÀJ hdf5-1.8.13 (résolu)

Publié : sam. 20 sept. 2014, 14:41
par bobo
Salut,

Depuis la mise à jour du paquet hdf5 en version 1.8.13 j'ai ce soucis à l'éxécution.

Code : Tout sélectionner

$ ./toto.py
Warning! ***HDF5 library version mismatched error***
The HDF5 header files used to compile this application do not match
the version used by the HDF5 library to which this application is linked.
Data corruption or segmentation faults may occur if the application continues.
This can happen when an application was compiled by one version of HDF5 but
linked with a different version of static or shared HDF5 library.
You should recompile the application or check your shared library related
settings such as 'LD_LIBRARY_PATH'.
You can, at your own risk, disable this warning by setting the environment
variable 'HDF5_DISABLE_VERSION_CHECK' to a value of '1'.
Setting it to 2 or higher will suppress the warning messages totally.
Headers are 1.8.12, library is 1.8.13
	    SUMMARY OF THE HDF5 CONFIGURATION
	    =================================

General Information:
-------------------
		   HDF5 Version: 1.8.13
		  Configured on: Sat Sep 20 09:02:19 UTC 2014
		  Configured by: nobody@
		 Configure mode: production
		    Host system: x86_64-unknown-linux-gnu
	      Uname information: Linux var-lib-archbuild-extra-x86_64-barthalion 3.16.1-1-ARCH #1 SMP PREEMPT Thu Aug 14 07:40:19 CEST 2014 x86_64 GNU/Linux
		       Byte sex: little-endian
		      Libraries: shared
	     Installation point: /usr

Compiling Options:
------------------
               Compilation Mode: production
                     C Compiler: /usr/bin/gcc ( gcc (GCC) 4.9.1 20140903 )
                         CFLAGS: -march=x86-64 -mtune=generic -O0 -pipe -fstack-protector-strong --param=ssp-buffer-size=4
                      H5_CFLAGS: -std=c99 -pedantic -Wall -Wextra -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline -Wfloat-equal -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wdisabled-optimization -Wformat=2 -Wunreachable-code -Wendif-labels -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch -Wvariadic-macros -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros -Wunsafe-loop-optimizations -Wc++-compat -Wstrict-overflow -Wlogical-op -Wlarger-than=2048 -Wvla -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat -Wstrict-overflow=5 -Wjump-misses-init -Wunsuffixed-float-constants -Wdouble-promotion -Wsuggest-attribute=const -Wtrampolines -Wstack-usage=8192 -Wvector-operation-performance -Wsuggest-attribute=pure -Wsuggest-attribute=noreturn -Wsuggest-attribute=format -O3 -fomit-frame-pointer -finline-functions
                      AM_CFLAGS: 
                       CPPFLAGS: -D_FORTIFY_SOURCE=2
                    H5_CPPFLAGS: -D_POSIX_C_SOURCE=199506L   -DNDEBUG -UH5_DEBUG_API
                    AM_CPPFLAGS: -I/usr/lib//include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_BSD_SOURCE 
               Shared C Library: yes
               Static C Library: no
  Statically Linked Executables: no
                        LDFLAGS: -Wl,-O1,--sort-common,--as-needed,-z,relro
                     H5_LDFLAGS: 
                     AM_LDFLAGS:  -L/usr/lib//lib
 	 	Extra libraries:  -lpthread -lz -ldl -lm 
 		       Archiver: ar
 		 	 Ranlib: ranlib
 	      Debugged Packages: 
		    API Tracing: no

Languages:
----------
                        Fortran: no

                            C++: no

Features:
---------
                  Parallel HDF5: no
             High Level library: yes
                   Threadsafety: yes
            Default API Mapping: v18
 With Deprecated Public Symbols: yes
         I/O filters (external): deflate(zlib)
         I/O filters (internal): shuffle,fletcher32,nbit,scaleoffset
                            MPE: no
                     Direct VFD: no
                        dmalloc: no
Clear file buffers before write: yes
           Using memory checker: no
         Function Stack Tracing: no
      Strict File Format Checks: no
   Optimization Instrumentation: no
       Large File Support (LFS): yes
Bye...
En faisant rétrogadant le paquet à la version précédente (https://wiki.archlinux.fr/Downgrade#Uti ... _de_pacman), ça remarche. Je souhaiterais comprendre.

J'ai tenté de recompiler le paquet python-h5py (AUR) après update, sans succès.

Édition : oups :oops:, je viens de me rendre compte que j'utilise en fait python-pytables

Code : Tout sélectionner

$ pacman -Rp hdf5
erreur : la préparation de la transaction a échoué (la satisfaction des dépendances a échoué)
:: python-h5py : requiert hdf5
:: python-pytables : requiert hdf5

Re: [python,hdf5] pb éxécution de .py suite à MÀJ hdf5-1.8.1

Publié : sam. 20 sept. 2014, 14:52
par bobo

Code : Tout sélectionner

$ yaourt -Sb python-pytables
==> Compilation de python-pytables depuis les sources.
==> Récupération du PKGBUILD et fichiers locaux...
x PKGBUILD
==> Éditer PKGBUILD ? [o/N] ("A" pour annuler)
==> ------------------------------------------
==> n
==> ATTENTION: Ce PKGBUILD décrit un paquet splitté.
==> Les options du paquet sont inconnues
==> Dépendances de python-pytables :
 - lzo (déjà installé)
 - hdf5 (déjà installé)
 - python2-numexpr (déjà installé)
 - cython2 (déjà installé)
 - python-numexpr (déjà installé)
 - cython (déjà installé)
==> Lancer la compilation de python-pytables ? [O/n]
==> ------------------------------------------------
==> 
==> Construction et installation du paquet
==> ATTENTION : Le fichier binaire sudo est introuvable. Utilisation de su pour obtenir les privilèges du superutilisateur.
==> Création du paquet python-pytables 3.1.1-2 (sam. sept. 20 14:49:55 CEST 2014)
==> Vérification des dépendances pour l’exécution...
==> Vérification des dépendances pour la compilation...
==> Récupération des sources...
  -> Téléchargement de tables-3.1.1.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 6558k  100 6558k    0     0  1624k      0  0:00:04  0:00:04 --:--:-- 1699k
==> Validation des fichiers sources avec md5sums...
    tables-3.1.1.tar.gz ... Réussite
==> Extraction des sources...
  -> Extraction de tables-3.1.1.tar.gz avec bsdtar
==> Lancement de build()...
==> Building Python2
* Using Python 2.7.8 (default, Jul  1 2014, 17:30:21) 
* Found numpy 1.9.0 package installed.
* Found numexpr 2.4 package installed.
.. ERROR:: You need Cython 0.13 or greater to compile PyTables!
==> ERREUR : Une erreur s’est produite dans build().
    Abandon...
==> ERREUR: Makepkg n'a pas pu construire python-pytables.
==> Relancer la compilation de python-pytables ? [o/N]
==> --------------------------------------------------
==> 
La recompilation du paquet python-pytables échoue pour une raison étrange : « .. ERROR:: You need Cython 0.13 or greater to compile PyTables! ». Cython est en version 0.21.

Code : Tout sélectionner

$ pacman -Qs cython
local/cython 0.21-2
    C-Extensions for Python 
local/cython2 0.21-2
    C-Extensions for Python
Quelques questions :
– est-il approprié de signaler la mise à jour du paquet hdf5 aux mainteneurs de python-pytables ?
– puis-je résoudre le soucis de compilation ?
(il y aurait bien des questions également sur le downgrade… solution que je souhaiterais éviter)

NB : finalement il semblerait que ce sujet colle mieux à la catégorie « paquetage »

Re: [python,hdf5] pb éxécution de .py suite à MÀJ hdf5-1.8.1

Publié : dim. 21 sept. 2014, 12:39
par FoolEcho
bobo a écrit :– est-il approprié de signaler la mise à jour du paquet hdf5 aux mainteneurs de python-pytables ?
Si c'est justifié, oui.
Attendu que tu nous montres l'échec avec un programme de ton cru sans plus d'informations, il faut déjà voir avec ce que tu utilises mais c'est possible que ça vienne de là, oui...
bobo a écrit :– puis-je résoudre le soucis de compilation ?
Mmmm... il faudrait voir dans le détail ce qui cloche (peut-être un problème del'installateur de python-pytables... comme d'une option à passer... je ne précise pas plus vu que je ne suis pas expert en python et que je n'ai pas jeté de coup d'œil sur ce cas).
bobo a écrit :NB : finalement il semblerait que ce sujet colle mieux à la catégorie « paquetage »
Doublon supprimé.

Re: [python,hdf5] pb éxécution de .py suite à MÀJ hdf5-1.8.1

Publié : dim. 21 sept. 2014, 13:28
par bobo
@FoolEcho : merci pour ton retour… Je commençais à me sentir un peu seul…
FoolEcho a écrit :
bobo a écrit :– est-il approprié de signaler la mise à jour du paquet hdf5 aux mainteneurs de python-pytables ?
Si c'est justifié, oui.
Attendu que tu nous montres l'échec avec un programme de ton cru sans plus d'informations, il faut déjà voir avec ce que tu utilises mais c'est possible que ça vienne de là, oui...
Mainteneur contacté
J'ai signalé le soucis par email au mainteneur du paquet. Puisqu'un downgrade du paquet hdf5 résoud le problème, il faut certainement créer une nouvelle version du paquet python-pytables en le compilant avec la librairie hdf5 à jour.

Suite du diagnostique compilation
Sinon j'ai continué un peu mes tests de compilation : le soucis de compilation par « yaourt -Sb » se pose également avec la librairie hdf5 downgradée en 1.8.12. Du coup ce soucis est décorrélé. Il y a de fortes chances qu'il s'agisse d'une subtilité d'empaquetage : après tout, les utilisateurs ne sont pas sensés re-compiler les paquets précompilés eux-mêmes.
FoolEcho a écrit :Doublon supprimé.
Y avait-il un doublon ? Il s'est passé des choses paranormales lorsque j'ai créé le sujet. Souvent il y a des lags au moment d'envoyer du contenu.

Re: [python,hdf5] pb éxécution de .py suite à MÀJ hdf5-1.8.1

Publié : dim. 21 sept. 2014, 22:42
par bobo
J'ai reçu une réponse du mainteneur. :D
– le paquet hdf5 a été updaté sans qu'il ait vu de notification en aval ("todo notification")
– le soucis de compilation vient d'un soucis de cython https://github.com/PyTables/PyTables/issues/386

Il vient de publier une nouvelle version de paquet, tout fonctionne parfaitement maintenant…