Skip to content

libojbc2 fails to build on Fedora Rawhide (GCC 15) #333

@hobbes1069

Description

@hobbes1069

I was performing test builds of the dependencies of robin-map in Fedora and ran into the following:

In file included from /builddir/build/BUILD/libobjc2-2.1-build/libobjc2-2.1/arc.mm:6:
In file included from /builddir/build/BUILD/libobjc2-2.1-build/libobjc2-2.1/third_party/robin-map/include/tsl/robin_map.h:34:
/builddir/build/BUILD/libobjc2-2.1-build/libobjc2-2.1/third_party/robin-map/include/tsl/robin_hash.h:251:13: error: no member named 'launder' in namespace 'std'; did you mean 'rand_r'?
  251 |     return *std::launder(
      |             ^~~~~~~~~~~~
      |             rand_r
/usr/include/stdlib.h:579:12: note: 'rand_r' declared here
  579 | extern int rand_r (unsigned int *__seed) __THROW;
      |            ^
In file included from /builddir/build/BUILD/libobjc2-2.1-build/libobjc2-2.1/arc.mm:6:
In file included from /builddir/build/BUILD/libobjc2-2.1-build/libobjc2-2.1/third_party/robin-map/include/tsl/robin_map.h:34:
/builddir/build/BUILD/libobjc2-2.1-build/libobjc2-2.1/third_party/robin-map/include/tsl/robin_hash.h:257:13: error: no member named 'launder' in namespace 'std'; did you mean 'rand_r'?
  257 |     return *std::launder(
      |             ^~~~~~~~~~~~
      |             rand_r
/usr/include/stdlib.h:579:12: note: 'rand_r' declared here
  579 | extern int rand_r (unsigned int *__seed) __THROW;
      |            ^
In file included from /builddir/build/BUILD/libobjc2-2.1-build/libobjc2-2.1/arc.mm:6:
In file included from /builddir/build/BUILD/libobjc2-2.1-build/libobjc2-2.1/third_party/robin-map/include/tsl/robin_map.h:34:
/builddir/build/BUILD/libobjc2-2.1-build/libobjc2-2.1/third_party/robin-map/include/tsl/robin_hash.h:1020:30: error: no member named 'clamp' in namespace 'std'
 1020 |     m_min_load_factor = std::clamp(ml, float(MINIMUM_MIN_LOAD_FACTOR),
      |                         ~~~~~^
/builddir/build/BUILD/libobjc2-2.1-build/libobjc2-2.1/third_party/robin-map/include/tsl/robin_hash.h:1025:30: error: no member named 'clamp' in namespace 'std'
 1025 |     m_max_load_factor = std::clamp(ml, float(MINIMUM_MAX_LOAD_FACTOR),
      |                         ~~~~~^
/builddir/build/BUILD/libobjc2-2.1-build/libobjc2-2.1/third_party/robin-map/include/tsl/robin_hash.h:252:9: error: cannot initialize a parameter of type 'unsigned int *' with an rvalue of type 'value_type *' (aka 'std::pair<const void *, (anonymous namespace)::WeakRef *> *')
  252 |         reinterpret_cast<value_type*>(std::addressof(m_value)));

Full build log here:
https://download.copr.fedorainfracloud.org/results/hobbes1069/OIIO/fedora-rawhide-x86_64/08876506-libobjc2/builder-live.log.gz

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions