Bug 1904164

Summary: Undefined references to hdf5 on epel7
Product: [Fedora] Fedora EPEL Reporter: Antonio T. sagitter <trpost>
Component: cgnslibAssignee: Dave Love <dave.love>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: epel7CC: chitlesh, dave.love, i, manisandro, orion
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: cgnslib-3.2.1-4.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-02-17 05:05:56 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Antonio T. sagitter 2020-12-03 18:22:07 UTC
Description of problem:

Please, fix undefined references.

Executing: /opt/rh/devtoolset-9/root/usr/bin/gcc  -o /tmp/petsc-eg1dgwbj/config.libraries/conftest -Wl,-z,relro  -fPIC -Wl,-z,relro -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -O3 -fPIC -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic /tmp/petsc-eg1dgwbj/config.libraries/conftest.o  -lcgns -lquadmath -lstdc++ -ldl 
Possible ERROR while running linker: exit code 1
stderr:
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5T_NATIVE_INT32_g'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5P_CLS_FILE_CREATE_g'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Pcreate'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Tcopy'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5T_NATIVE_UINT32_g'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Sget_simple_extent_dims'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Eset_auto2'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Sget_simple_extent_ndims'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Aget_type'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Fcreate'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Sclose'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5T_NATIVE_SCHAR_g'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Aopen_name'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Gunlink'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Lget_val'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Tget_native_type'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Acreate2'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Aclose'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Pset_deflate'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5T_C_S1_g'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Tset_precision'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Dopen2'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Dget_type'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5T_NATIVE_FLOAT_g'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Lunpack_elink_val'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Dwrite'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Lcreate_external'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Screate_simple'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Aread'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5check_version'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Iget_name'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Lis_registered'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Fget_obj_ids'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5P_CLS_GROUP_CREATE_g'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Gcreate2'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Giterate'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Tget_size'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Lexists'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5T_NATIVE_UCHAR_g'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Screate'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5T_IEEE_F32BE_g'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Literate'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Gopen2'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Dset_extent'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5T_IEEE_F64BE_g'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Dget_space'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Dclose'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5P_CLS_FILE_ACCESS_g'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5T_NATIVE_UINT64_g'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Pset_nlinks'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Pclose'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Fflush'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Pset_link_creation_order'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5P_CLS_LINK_ACCESS_g'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5T_IEEE_F64LE_g'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Fis_hdf5'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5T_NATIVE_INT64_g'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5T_IEEE_F32LE_g'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Gget_objinfo'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Sselect_hyperslab'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5T_NATIVE_INT_g'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Gclose'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Ewalk2'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Awrite'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Gmove'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Sget_simple_extent_npoints'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5open'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Dread'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5garbage_collect'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Pset_libver_bounds'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Tget_precision'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Tset_size'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Aiterate2'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Fget_obj_count'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5P_CLS_DATASET_CREATE_g'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5get_libversion'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Tclose'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Fopen'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Fclose'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Glink'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5T_NATIVE_DOUBLE_g'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Dcreate2'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Tequal'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib/../lib64/libcgns.so: undefined reference to `H5Sget_select_npoints'
collect2: error: ld returned 1 exit status

Version-Release number of selected component (if applicable):
3.2.1-2

How reproducible:
Linking to libcgns.so

Comment 1 Orion Poplawski 2021-01-26 03:31:37 UTC
Dave - cgnslib should be linked against the hdf5 library.  Any idea why it isn't?

Comment 2 Dave Love 2021-01-28 17:42:08 UTC
Sorry, I don't know what happened to this.

Anyway, I'm confused.  libcgns is linked against libdf5.  It looks as if it's petsc that needs -lhdf5.

$ readelf -d  /usr/lib64/libcgns.so.3.4|grep hdf5
 0x0000000000000001 (NEEDED)             Shared library: [libhdf5.so.8]

(I should probably orphan it anyway, with other things.)

Comment 3 Antonio T. sagitter 2021-01-28 18:10:42 UTC
I suspect that this issue is caused by using different GCC version (GCC-9 in my build against GCC-4 of cgnslib on EPEL7).

PETSc is now pushed on EPEL7 without the cgns support. I will try to rebuild with it and GCC-4

Comment 4 Orion Poplawski 2021-01-29 02:16:35 UTC
It's not linked against libhdf5:

[orion@rhel7 ~]$ ldd /usr/lib64/libcgns.so.3.2
        linux-vdso.so.1 =>  (0x00007ffeeaf90000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f54b9c10000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f54ba2a6000)

[orion@rhel7 ~]$ rpmlint cgnslib
cgnslib.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcgns.so.3.2 H5T_NATIVE_SCHAR_g
cgnslib.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcgns.so.3.2 H5P_CLS_DATASET_CREATE_g
...

The gcc version shouldn't matter.

Comment 5 Dave Love 2021-01-31 12:57:15 UTC
Sorry, I realize I'd got a version from copr.
I don't know what's going on here.  If I simply rebuild it for el7 in mock or koji scratch, it is linked correctly, unlike the version in the repo.  I've never touched it, I just wanted to stop it dying when I was packaging petsc.
I'll trigger a rebuild for now, but I'll drop it later.  It looks as thought it needs substantial work, like to separate out the library without the graphics etc.

Comment 6 Fedora Update System 2021-02-02 02:25:02 UTC
FEDORA-EPEL-2021-09f2e092cc has been pushed to the Fedora EPEL 7 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-09f2e092cc

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 7 Fedora Update System 2021-02-17 05:05:56 UTC
FEDORA-EPEL-2021-09f2e092cc has been pushed to the Fedora EPEL 7 stable repository.
If problem still persists, please make note of it in this bug report.