Bug 2236670 - Please update highfive-devel to 2.6.2
Summary: Please update highfive-devel to 2.6.2
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: highfive
Version: rawhide
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Sandro
QA Contact:
URL: https://github.com/BlueBrain/HighFive
Whiteboard:
Depends On: 2072222
Blocks: 2236697
TreeView+ depends on / blocked
 
Reported: 2023-09-01 07:17 UTC by Mark E. Fuller
Modified: 2023-09-22 14:28 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2023-09-20 20:34:21 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Mark E. Fuller 2023-09-01 07:17:27 UTC
I am requesting an update to highfive in order to build cantera with hdf5 support.
The current version (2.3.1) in rawhide does not meet the requirement of highfive version >= 2.5.
I am unfortunately having trouble getting the updated build to run properly (unfamiliarity with CMake) and so have not submitted a pull request - I think it should otherwise be very simple since this is a header-only library.
Thank you

Reproducible: Always

Comment 1 Mark E. Fuller 2023-09-01 07:19:12 UTC
I believe this is the relevant portion of the build log:

```
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


-- The C compiler identification is GNU 13.2.1
-- The CXX compiler identification is GNU 13.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found HDF5: /usr/lib64/libhdf5.so (found version "1.12.1")  
-- Found Boost: /usr/include (found version "1.81.0") found components: system serialization 
-- Found Eigen 3.4.0: /usr/include/eigen3
-- Performing Test arch_native_supported
-- Performing Test arch_native_supported - Success
-- Found OpenCV: /usr (found version "4.8.0") 
CMake Warning at CMakeLists.txt:127 (find_package):
  By not providing "FindCatch2.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "Catch2", but
  CMake did not find one.

  Could not find a package configuration file provided by "Catch2" with any
  of the following names:

    Catch2Config.cmake
    catch2-config.cmake

  Add the installation prefix of "Catch2" to CMAKE_PREFIX_PATH or set
  "Catch2_DIR" to a directory containing one of the above files.  If "Catch2"
  provides a separate development package or SDK, be sure it has been
  installed.


-- Configuring incomplete, errors occurred!
CMake Error at CMakeLists.txt:129 (message):
  Please provide a Catch2 installation or clone the submodule
```

Comment 2 Mark E. Fuller 2023-09-01 09:26:22 UTC
On further review, catch2 up to latest v2 is available in Fedora and can be added to the BuildRequires; this is adequate to build v2.6.2 (latest 2.6.x) of HighFive as v2.7.0+ require v3 of catch2

Updated spec: https://src.fedoraproject.org/fork/fuller/rpms/highfive/raw/rawhide/f/highfive.spec (some tests fail - not sure why)
Build log: https://fuller.fedorapeople.org/highfive-2.6.2-build.log

Comment 3 Sandro 2023-09-02 11:33:44 UTC
I updated catch2 to 3.4.0 and then built highfive using the updated catch2. That looks rather promising. Only two tests failed, which need looking into:

 11/288 Test  #11: Test default constructors .......................................***Failed    0.01 sec
HDF5-DIAG: Error detected in HDF5 (1.12.1) thread 0:
  #000: ../../src/H5F.c line 532 in H5Fcreate(): unable to create file
    major: File accessibility
    minor: Unable to open file
  #001: ../../src/H5VLcallback.c line 3282 in H5VL_file_create(): file create failed
    major: Virtual Object Layer
    minor: Unable to create file
  #002: ../../src/H5VLcallback.c line 3248 in H5VL__file_create(): file create failed
    major: Virtual Object Layer
    minor: Unable to create file
  #003: ../../src/H5VLnative_file.c line 63 in H5VL__native_file_create(): unable to create file
    major: File accessibility
    minor: Unable to open file
  #004: ../../src/H5Fint.c line 1898 in H5F_open(): unable to lock the file
    major: File accessibility
    minor: Unable to lock file
  #005: ../../src/H5FD.c line 1625 in H5FD_lock(): driver lock request failed
    major: Virtual File Layer
    minor: Unable to lock file
  #006: ../../src/H5FDsec2.c line 1002 in H5FD__sec2_lock(): unable to lock file, errno = 11, error message = 'Resource temporarily unavailable'
    major: Virtual File Layer
    minor: Unable to lock file
Filters: "Test default constructors"
Randomness seeded to: 627710425

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tests_high_five_base is a Catch2 v3.4.0 host application.
Run with -? for options

-------------------------------------------------------------------------------
Test default constructors
-------------------------------------------------------------------------------
/builddir/build/BUILD/HighFive-2.7.1/tests/unit/tests_high_five_base.cpp:320
...............................................................................

/builddir/build/BUILD/HighFive-2.7.1/tests/unit/tests_high_five_base.cpp:320: FAILED:
due to unexpected exception with message:
  Unable to create file h5_group_test.h5 (Virtual File Layer) Unable to lock
  file

===============================================================================
test cases: 1 | 1 failed
assertions: 1 | 1 failed

266/288 Test #267: H5Easy_view .....................................................***Failed    0.01 sec
HDF5-DIAG: Error detected in HDF5 (1.12.1) thread 0:
  #000: ../../src/H5F.c line 532 in H5Fcreate(): unable to create file
    major: File accessibility
    minor: Unable to open file
  #001: ../../src/H5VLcallback.c line 3282 in H5VL_file_create(): file create failed
    major: Virtual Object Layer
    minor: Unable to create file
  #002: ../../src/H5VLcallback.c line 3248 in H5VL__file_create(): file create failed
    major: Virtual Object Layer
    minor: Unable to create file
  #003: ../../src/H5VLnative_file.c line 63 in H5VL__native_file_create(): unable to create file
    major: File accessibility
    minor: Unable to open file
  #004: ../../src/H5Fint.c line 1898 in H5F_open(): unable to lock the file
    major: File accessibility
    minor: Unable to lock file
  #005: ../../src/H5FD.c line 1625 in H5FD_lock(): driver lock request failed
    major: Virtual File Layer
    minor: Unable to lock file
  #006: ../../src/H5FDsec2.c line 1002 in H5FD__sec2_lock(): unable to lock file, errno = 11, error message = 'Resource temporarily unavailable'
    major: Virtual File Layer
    minor: Unable to lock file
Filters: "H5Easy_view"
Randomness seeded to: 2623366601

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tests_high_five_easy is a Catch2 v3.4.0 host application.
Run with -? for options

-------------------------------------------------------------------------------
H5Easy_view
-------------------------------------------------------------------------------
/builddir/build/BUILD/HighFive-2.7.1/tests/unit/tests_high_five_easy.cpp:227
...............................................................................

/builddir/build/BUILD/HighFive-2.7.1/tests/unit/tests_high_five_easy.cpp:227: FAILED:
due to unexpected exception with message:
  Unable to create file test.h5 (Virtual File Layer) Unable to lock file

===============================================================================
test cases: 1 | 1 failed
assertions: 1 | 1 failed

Looking at catch2, it has a lot of dependent packages:

CTML
Pencil2D
cli11
contour-terminal
cppcodec
cppzmq
drat2er
e-antic
gulrak-filesystem
libosmium
libsemigroups
libsonata
libunicode
morphio
mrchem
mustache
nuspell
observable
osm2pgsql
osmium-tool
protozero
rstudio
rttr
semver
tomlplusplus
waybar

So going from 2.x. to 3.x we need to check if these still build. I created a side tag (f40-build-side-73081) and build catch2 3.4.0 in it. I'll try scratch builds of the dependent packages as well to see what the fallout is.

Comment 4 Ben Beasley 2023-09-02 19:06:05 UTC
Catch2 v3 is already packaged as https://src.fedoraproject.org/rpms/catch; https://src.fedoraproject.org/rpms/catch2 is the compat package.

Yes, it’s confusing, but the confusion was created by upstream when they decided to release version 3 of Catch2, which was the successor to Catch version 1...

Comment 5 Sandro 2023-09-02 19:25:37 UTC
Thanks @music. I wasn't aware. Confusion aside, this makes things much easier and saves me some work.

Comment 6 Sandro 2023-09-20 20:34:21 UTC
Update for highfive (version 2.7.1) has landed in rawhide. F39 will follow shortly.

Comment 7 Mark E. Fuller 2023-09-22 13:13:25 UTC
thanks @sandro - could you create sidetags for the new highfive that I can use to rebuild cantera against it in the same update?

Comment 8 Sandro 2023-09-22 14:28:42 UTC
Well, I haven't built highfive for f39, yet. I'd assume you want a side tag for that branch. But since you are the one updating dependent packages, it's best for you to create a side tag yourself, since, as I've recently learned, only the side tag owner can merge it later. I do have a Copr repo with the updated highfive that you could build into: https://copr.fedorainfracloud.org/coprs/gui1ty/neuro-sig/builds/ I can grant you access, but you need to request it yourself.

If you'd rather use a side tag, I will be happy to build highfive in that side tag for you. But you could also do that yourself:

koji build $SIDETAG git+https://src.fedoraproject.org/rpms/highfive.git#6e4ae0315ed68a55375c810a91d5e42f2d206a92


Note You need to log in before you can comment on or make changes to this bug.