FS#60548 - [python-pytables] Rebuild with HDF5 1.10.4

Attached to Project: Community Packages
Opened by Mikołaj Chwalisz (mchwalisz) - Tuesday, 23 October 2018, 08:53 GMT
Last edited by Bruno Pagani (ArchangeGabriel) - Tuesday, 23 October 2018, 20:55 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Bruno Pagani (ArchangeGabriel)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
python-pytables is built against an older (< 1.10.4) version of hdf5.


Additional info:
* package version(s): hdf5: 1.10.4-1, python-pytables: 3.4.4-3

Steps to reproduce:
in a Terminal:
python
Python 3.7.1 (default, Oct 22 2018, 10:41:28)
[GCC 8.2.1 20180831] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tables
>>> tables.open_file("a.h5", "w")
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.10.3, library is 1.10.4
SUMMARY OF THE HDF5 CONFIGURATION
=================================

General Information:
-------------------
HDF5 Version: 1.10.4
Configured on: Mon Oct 22 13:04:04 CEST 2018
Configured by: builduser@
Host system: x86_64-unknown-linux-gnu
Uname information: Linux archange 4.18.14-arch1-1-ARCH #1 SMP PREEMPT Sat Oct 13 13:42:37 UTC 2018 x86_64 GNU/Linux
Byte sex: little-endian
Installation point: /usr

Compiling Options:
------------------
Build Mode: production
Debugging Symbols: no
Asserts: no
Profiling: no
Optimization Level: high

Linking Options:
----------------
Libraries: static, shared
Statically Linked Executables:
LDFLAGS: -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now
H5_LDFLAGS:
AM_LDFLAGS:
Extra libraries: -lsz -lz -ldl -lm
Archiver: ar
AR_FLAGS: cr
Ranlib: ranlib

Languages:
----------
C: yes
C Compiler: /usr/bin/gcc ( gcc (GCC) 8.2.1 20180831)
CPPFLAGS: -D_FORTIFY_SOURCE=2
H5_CPPFLAGS: -D_GNU_SOURCE -D_POSIX_C_SOURCE=200112L -DNDEBUG -UH5_DEBUG_API
AM_CPPFLAGS:
C Flags: -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt
H5 C Flags: -std=c99 -pedantic -Wall -Wextra -Wbad-function-cast -Wc++-compat -Wcast-align -Wcast-qual -Wconversion -Wdeclaration-after-statement -Wdisabled-optimization -Wfloat-equal -Wformat=2 -Winit-self -Winvalid-pch -Wmissing-declarations -Wmissing-include-dirs -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpacked -Wpointer-arith -Wredundant-decls -Wshadow -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wundef -Wunused-macros -Wunsafe-loop-optimizations -Wwrite-strings -finline-functions -s -Wno-inline -Wno-aggregate-return -Wno-missing-format-attribute -Wno-missing-noreturn -O
AM C Flags:
Shared C Library: yes
Static C Library: yes


Fortran: yes
Fortran Compiler: /usr/bin/gfortran ( GNU Fortran (GCC) 8.2.1 20180831)
Fortran Flags:
H5 Fortran Flags: -pedantic -Wall -Wextra -Wunderflow -Wimplicit-interface -Wsurprising -Wno-c-binding-type -s -O2
AM Fortran Flags:
Shared Fortran Library: yes
Static Fortran Library: yes

C++: yes
C++ Compiler: /usr/bin/g++ ( g++ (GCC) 8.2.1 20180831)
C++ Flags: -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt
H5 C++ Flags: -pedantic -Wall -W -Wundef -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Wredundant-decls -Winline -Wsign-promo -Woverloaded-virtual -Wold-style-cast -Weffc++ -Wreorder -Wnon-virtual-dtor -Wctor-dtor-privacy -Wabi -finline-functions -s -O
AM C++ Flags:
Shared C++ Library: yes
Static C++ Library: yes

Java: no


Features:
---------
Parallel HDF5: no
Parallel Filtered Dataset Writes: no
Large Parallel I/O: no
High-level library: yes
Threadsafety: no
Default API mapping: v110
With deprecated public symbols: yes
I/O filters (external): deflate(zlib),szip(encoder)
MPE: no
Direct VFD: no
dmalloc: no
Packages w/ extra debug output: none
API tracing: no
Using memory checker: no
Memory allocation sanity checks: no
Metadata trace file: no
Function stack tracing: no
Strict file format checks: no
Optimization instrumentation: no
Bye...
fish: “python” terminated by signal SIGABRT (Abort)
This task depends upon

Closed by  Bruno Pagani (ArchangeGabriel)
Tuesday, 23 October 2018, 20:55 GMT
Reason for closing:  Fixed
Comment by Eli Schwartz (eschwartz) - Tuesday, 23 October 2018, 16:05 GMT
So, the reason we sometimes get these bug reports is because hdf5 includes macros which call an abort for every single public function the library provides. Ouch.

I guess there's no choice but to do strange patches to hdf5, or rebuild the entire hdf5 ecosystem on every single niggling patchlevel release.

(I'm secretly voting for the strange patch. They're already using sonames properly, but checking patchlevel versions here which don't actually map to that: https://github.com/live-clones/hdf5/blob/47f30b474bdc498c20bd6d2a0ba7e8947ab389f0/src/H5.c#L758 )

Loading...