Opened 9 months ago

Closed 9 months ago

#67969 closed defect (fixed)

abseil @20230802.0 needs a fix for macOS < 10.13: error: 'clockid_t' has not been declared

Reported by: barracuda156 Owned by: judaew (Vadym-Valdis Yudaiev)
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: Cc: ryandesign (Ryan Carsten Schmidt), judaew (Vadym-Valdis Yudaiev), catap (Kirill A. Korinsky), mascguy (Christopher Nielsen)
Port: abseil

Description (last modified by barracuda156)

[This relates to the new version of abseil, 20230802.0.]

Turns out Ryan already ran into the problem: https://github.com/abseil/abseil-cpp/issues/1501 Upstream apparently can’t care less to fix anything. We need to find a fix on our end.

Otherwise multiple ports will be broken. Another example: https://github.com/macports/macports-ports/pull/19905#issuecomment-1679736275

In file included from /opt/local/include/absl/synchronization/mutex.h:74,
                 from /opt/local/include/absl/strings/internal/cordz_info.h:31,
                 from /opt/local/include/absl/strings/cord.h:91,
                 from /opt/local/include/absl/status/internal/status_internal.h:23,
                 from /opt/local/include/absl/status/status.h:59,
                 from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_s2geometry/s2geometry/work/s2geometry-7773d518b1f29caa1c2045eb66ec519e025be108/src/s2/s2coder.h:23,
                 from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_s2geometry/s2geometry/work/s2geometry-7773d518b1f29caa1c2045eb66ec519e025be108/src/s2/encoded_s2point_vector.h:31,
                 from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_s2geometry/s2geometry/work/s2geometry-7773d518b1f29caa1c2045eb66ec519e025be108/src/s2/encoded_s2point_vector.cc:18:
/opt/local/include/absl/synchronization/internal/kernel_timeout.h:94:45: error: 'clockid_t' has not been declared
   94 |   struct timespec MakeClockAbsoluteTimespec(clockid_t c) const;
      |                                             ^~~~~~~~~
In file included from /opt/local/include/absl/synchronization/mutex.h:74,
                 from /opt/local/include/absl/strings/internal/cordz_info.h:31,
                 from /opt/local/include/absl/strings/cord.h:91,
                 from /opt/local/include/absl/status/internal/status_internal.h:23,
                 from /opt/local/include/absl/status/status.h:59,
                 from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_s2geometry/s2geometry/work/s2geometry-7773d518b1f29caa1c2045eb66ec519e025be108/src/s2/s2coder.h:23,
                 from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_s2geometry/s2geometry/work/s2geometry-7773d518b1f29caa1c2045eb66ec519e025be108/src/s2/s2point.h:27,
                 from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_s2geometry/s2geometry/work/s2geometry-7773d518b1f29caa1c2045eb66ec519e025be108/src/s2/s1angle.h:28,
                 from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_s2geometry/s2geometry/work/s2geometry-7773d518b1f29caa1c2045eb66ec519e025be108/src/s2/s2cell_id.h:43,
                 from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_s2geometry/s2geometry/work/s2geometry-7773d518b1f29caa1c2045eb66ec519e025be108/src/s2/encoded_s2cell_id_vector.h:29,
                 from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_s2geometry/s2geometry/work/s2geometry-7773d518b1f29caa1c2045eb66ec519e025be108/src/s2/encoded_s2cell_id_vector.cc:18:
/opt/local/include/absl/synchronization/internal/kernel_timeout.h:94:45: error: 'clockid_t' has not been declared
   94 |   struct timespec MakeClockAbsoluteTimespec(clockid_t c) const;
      |                                             ^~~~~~~~~

Change History (3)

comment:1 Changed 9 months ago by barracuda156

Description: modified (diff)
Summary: abseil needs a fix for macOS < 10.13: error: 'clockid_t' has not been declaredabseil @20230802.0 needs a fix for macOS < 10.13: error: 'clockid_t' has not been declared

comment:2 Changed 9 months ago by ryandesign (Ryan Carsten Schmidt)

The abseil port already includes the legacysupport portgroup for Darwin 14 and earlier for MAP_ANONYMOUS. I assumed this when the port was updated, this would be addressed by increasing legacysupport.newest_darwin_requires_legacy to 15 to cover the stuff related to clock_gettime. Does that not work?

comment:3 Changed 9 months ago by judaew (Vadym-Valdis Yudaiev)

Owner: set to judaew
Resolution: fixed
Status: newclosed

In a3de50df69ebc6b601cac57c64ba54aa79bbc0d8/macports-ports (master):

abseil: update to 20230802.0 and add patch for pthread

Closed: #67969

Note: See TracTickets for help on using tickets.