Bug 245164 - graphics/vigra poudriere build fails on 12.1-stable amd64 with error: no matching function for call to 'H5Oget_info_by_name3'
Summary: graphics/vigra poudriere build fails on 12.1-stable amd64 with error: no matc...
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Only Me
Assignee: freebsd-ports-bugs (Nobody)
Keywords: needs-qa, patch
Depends on:
Reported: 2020-03-29 14:30 UTC by Robert Cina
Modified: 2020-07-11 06:34 UTC (History)
3 users (show)

See Also:

graphics/vigra poudriere build log of compilation failure (35.89 KB, text/plain)
2020-03-29 14:30 UTC, Robert Cina
no flags Details
Add flag to use HDF5 1.1.0 API (456 bytes, patch)
2020-03-29 14:40 UTC, Felix Palmen
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Robert Cina 2020-03-29 14:30:55 UTC
Created attachment 212831 [details]
graphics/vigra poudriere build log of compilation failure

The port graphics/vigra fails to build for me using poudriere on my 12.1-stable amd64 system. The build log reports a compilation error of no matching function for call to 'H5Oget_info_by_name3'.

The relevant portion of the build log showing the error is shown below:

[12/23] /usr/local/libexec/ccache/c++  -DHasEXR -DHasHDF5 -DHasJPEG -DHasPNG -DHasTIFF -DHasZLIB -Dvigraimpex_EXPORTS -I/wrkdirs/usr/ports/graphics/vigra/work/vigra-8acd73a/include -isystem /usr/local/include -isystem /usr/local/include/OpenEXR -std=c++11 -pthread -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC    -DH5_BUILT_AS_DYNAMIC_LIB -std=gnu++11 -MD -MT src/impex/CMakeFiles/vigraimpex.dir/hdf5impex.cxx.o -MF src/impex/CMakeFiles/vigraimpex.dir/hdf5impex.cxx.o.d -o src/impex/CMakeFiles/vigraimpex.dir/hdf5impex.cxx.o -c /wrkdirs/usr/ports/graphics/vigra/work/vigra-8acd73a/src/impex/hdf5impex.cxx
FAILED: src/impex/CMakeFiles/vigraimpex.dir/hdf5impex.cxx.o 
/usr/local/libexec/ccache/c++  -DHasEXR -DHasHDF5 -DHasJPEG -DHasPNG -DHasTIFF -DHasZLIB -Dvigraimpex_EXPORTS -I/wrkdirs/usr/ports/graphics/vigra/work/vigra-8acd73a/include -isystem /usr/local/include -isystem /usr/local/include/OpenEXR -std=c++11 -pthread -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC    -DH5_BUILT_AS_DYNAMIC_LIB -std=gnu++11 -MD -MT src/impex/CMakeFiles/vigraimpex.dir/hdf5impex.cxx.o -MF src/impex/CMakeFiles/vigraimpex.dir/hdf5impex.cxx.o.d -o src/impex/CMakeFiles/vigraimpex.dir/hdf5impex.cxx.o -c /wrkdirs/usr/ports/graphics/vigra/work/vigra-8acd73a/src/impex/hdf5impex.cxx
/wrkdirs/usr/ports/graphics/vigra/work/vigra-8acd73a/src/impex/hdf5impex.cxx:193:5: error: no matching function for call to 'H5Oget_info_by_name3'
    H5Oget_info_by_name(loc_id, name, &infobuf, H5P_DEFAULT);
/usr/local/include/H5version.h:772:31: note: expanded from macro 'H5Oget_info_by_name'
  #define H5Oget_info_by_name H5Oget_info_by_name3
/usr/local/include/H5Opublic.h:188:15: note: candidate function not viable: requires 5 arguments, but 4 were provided
H5_DLL herr_t H5Oget_info_by_name3(hid_t loc_id, const char *name, H5O_info2_t *oinfo,
1 error generated.
[13/23] /usr/local/libexec/ccache/cc -DHasEXR -DHasHDF5 -DHasJPEG -DHasPNG -DHasTIFF -DHasZLIB -Dvigraimpex_EXPORTS -I/wrkdirs/usr/ports/graphics/vigra/work/vigra-8acd73a/include -isystem /usr/local/include -isystem /usr/local/include/OpenEXR -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing -fPIC    -DH5_BUILT_AS_DYNAMIC_LIB -MD -MT src/impex/CMakeFiles/vigraimpex.dir/lz4.c.o -MF src/impex/CMakeFiles/vigraimpex.dir/lz4.c.o.d -o src/impex/CMakeFiles/vigraimpex.dir/lz4.c.o   -c /wrkdirs/usr/ports/graphics/vigra/work/vigra-8acd73a/src/impex/lz4.c
[14/23] /usr/local/libexec/ccache/c++  -DHasEXR -DHasHDF5 -DHasJPEG -DHasPNG -DHasTIFF -DHasZLIB -Dvigraimpex_EXPORTS -I/wrkdirs/usr/ports/graphics/vigra/work/vigra-8acd73a/include -isystem /usr/local/include -isystem /usr/local/include/OpenEXR -std=c++11 -pthread -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC    -DH5_BUILT_AS_DYNAMIC_LIB -std=gnu++11 -MD -MT src/impex/CMakeFiles/vigraimpex.dir/png.cxx.o -MF src/impex/CMakeFiles/vigraimpex.dir/png.cxx.o.d -o src/impex/CMakeFiles/vigraimpex.dir/png.cxx.o -c /wrkdirs/usr/ports/graphics/vigra/work/vigra-8acd73a/src/impex/png.cxx
[15/23] /usr/local/libexec/ccache/c++  -DHasEXR -DHasHDF5 -DHasJPEG -DHasPNG -DHasTIFF -DHasZLIB -Dvigraimpex_EXPORTS -I/wrkdirs/usr/ports/graphics/vigra/work/vigra-8acd73a/include -isystem /usr/local/include -isystem /usr/local/include/OpenEXR -std=c++11 -pthread -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC    -DH5_BUILT_AS_DYNAMIC_LIB -std=gnu++11 -MD -MT src/impex/CMakeFiles/vigraimpex.dir/pnm.cxx.o -MF src/impex/CMakeFiles/vigraimpex.dir/pnm.cxx.o.d -o src/impex/CMakeFiles/vigraimpex.dir/pnm.cxx.o -c /wrkdirs/usr/ports/graphics/vigra/work/vigra-8acd73a/src/impex/pnm.cxx
ninja: build stopped: subcommand failed.
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

make: stopped in /usr/ports/graphics/vigra
=>> Cleaning up wrkdir
===>  Cleaning for vigra-1.11.1_7
build of graphics/vigra | vigra-1.11.1_7 ended at Sun Mar 29 10:15:04 EDT 2020
build time: 00:00:11
!!! build failure encountered !!!
Comment 1 Felix Palmen 2020-03-29 14:40:36 UTC
Created attachment 212832 [details]
Add flag to use HDF5 1.1.0 API

Try attached patch :)
Comment 2 Robert Cina 2020-03-29 14:54:58 UTC
The attached patch works. Thanks for the fix!
Comment 3 Felix Palmen 2020-03-29 15:01:05 UTC
This might affect a whole lot of other ports depending on science/hdf5 if they haven't moved to the 1.1.2 API yet.
Comment 4 Felix Palmen 2020-04-05 00:18:36 UTC
This isn't an issue any more after the rollback of hdf5 ... but I guess sooner or later, this update should be carried out, so as long as you don't assume any dependent port will move to the new API quickly, maybe this PR should stay open?