[MacPorts] #72561: ccache @4.11.3: needs patch for OS X Tiger 10.4.4

MacPorts noreply at macports.org
Mon Jun 2 19:15:26 UTC 2025


#72561: ccache @4.11.3: needs patch for OS X Tiger 10.4.4
--------------------------+--------------------
  Reporter:  hart-NTP     |      Owner:  (none)
      Type:  enhancement  |     Status:  new
  Priority:  Normal       |  Milestone:
 Component:  ports        |    Version:  2.10.7
Resolution:               |   Keywords:  tiger
      Port:  ccache       |
--------------------------+--------------------

Old description:

> Recently ccache switched for fork+exec to posix_spawn, which isn't
> supported on 10.4.  I've prepared a patch which simply #ifdef's in the
> previous code in hashutil.cpp and execute.cpp which enables the latest
> ccache to build on Tiger.
>
> MacPorts is a lifesaver for me in trying to ensure ntpd works on museum-
> class systems, particularly the increasingly-rare big-endian systems with
> strict alignment requirements.  Thanks for all you fine work.
>
> Details from the failed build below for reference.
>
> {{{
> :debug: main Starting logging for ccache @4.11.3_0+doc
> :debug:sysinfo Mac OS X 10.4 (darwin/8.0.0) arch powerpc
> :debug:sysinfo MacPorts 2.10.7
> :debug:sysinfo Xcode 2.5, CLT none
> :debug:sysinfo SDK 10.4
> :debug:sysinfo MACOSX_DEPLOYMENT_TARGET: 10.4
> }}}
> {{{
> :info:build [ 14%] Building CXX object
> src/ccache/CMakeFiles/ccache_framework.dir/execute.cpp.o
> :info:build cd
> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ccache/ccache/work/build/src/ccache
> && /opt/local/bin/g++-mp-14 -DHAVE_HTTP_STORAGE_BACKEND
> -DHAVE_REDIS_STORAGE_BACKEND
> -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ccache/ccache/work/build
> -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ccache/ccache/work/ccache-4.11.3/src
> -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ccache/ccache/work/ccache-4.11.3/src/third_party/blake3/blake3
> -isystem
> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ccache/ccache/work/ccache-4.11.3/src/third_party/cxxurl
> -isystem
> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ccache/ccache/work/ccache-4.11.3/src/third_party/fmt
> -isystem
> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ccache/ccache/work/ccache-4.11.3/src/third_party
> /nonstd-span -isystem
> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ccache/ccache/work/ccache-4.11.3/src/third_party
> /tl-expected -isystem /opt/local/include -isystem
> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ccache/ccache/work/ccache-4.11.3/src/third_party
> /cpp-httplib -pipe -Os -DNDEBUG -isystem/opt/local/include/LegacySupport
> -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17 -arch ppc
> -mmacosx-version-min=10.4 -include
> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ccache/ccache/work/build/config.h
> -Wall -MD -MT src/ccache/CMakeFiles/ccache_framework.dir/execute.cpp.o
> -MF CMakeFiles/ccache_framework.dir/execute.cpp.o.d -o
> CMakeFiles/ccache_framework.dir/execute.cpp.o -c
> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ccache/ccache/work/ccache-4.11.3/src/ccache/execute.cpp
> :info:build
> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ccache/ccache/work/ccache-4.11.3/src/ccache/execute.cpp:
> In function 'int execute(Context&, const char* const*, util::Fd&&,
> util::Fd&&)':
> :info:build
> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ccache/ccache/work/ccache-4.11.3/src/ccache/execute.cpp:311:3:
> error: 'posix_spawn_file_actions_t' was not declared in this scope
> :info:build   311 |   posix_spawn_file_actions_t fa;
> :info:build       |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
> }}}

New description:

 Recently ccache switched from fork+exec to posix_spawn, which isn't
 supported on 10.4.  I've prepared a patch which simply #ifdef's in the
 previous code in hashutil.cpp and execute.cpp which enables the latest
 ccache to build on Tiger.

 MacPorts is a lifesaver for me in trying to ensure ntpd works on museum-
 class systems, particularly the increasingly-rare big-endian systems with
 strict alignment requirements.  Thanks for all your fine work.

 Details from the failed build below for reference.

 {{{
 :debug: main Starting logging for ccache @4.11.3_0+doc
 :debug:sysinfo Mac OS X 10.4 (darwin/8.0.0) arch powerpc
 :debug:sysinfo MacPorts 2.10.7
 :debug:sysinfo Xcode 2.5, CLT none
 :debug:sysinfo SDK 10.4
 :debug:sysinfo MACOSX_DEPLOYMENT_TARGET: 10.4
 }}}
 {{{
 :info:build [ 14%] Building CXX object
 src/ccache/CMakeFiles/ccache_framework.dir/execute.cpp.o
 :info:build cd
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ccache/ccache/work/build/src/ccache
 && /opt/local/bin/g++-mp-14 -DHAVE_HTTP_STORAGE_BACKEND
 -DHAVE_REDIS_STORAGE_BACKEND
 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ccache/ccache/work/build
 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ccache/ccache/work/ccache-4.11.3/src
 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ccache/ccache/work/ccache-4.11.3/src/third_party/blake3/blake3
 -isystem
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ccache/ccache/work/ccache-4.11.3/src/third_party/cxxurl
 -isystem
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ccache/ccache/work/ccache-4.11.3/src/third_party/fmt
 -isystem
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ccache/ccache/work/ccache-4.11.3/src/third_party
 /nonstd-span -isystem
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ccache/ccache/work/ccache-4.11.3/src/third_party
 /tl-expected -isystem /opt/local/include -isystem
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ccache/ccache/work/ccache-4.11.3/src/third_party
 /cpp-httplib -pipe -Os -DNDEBUG -isystem/opt/local/include/LegacySupport
 -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17 -arch ppc
 -mmacosx-version-min=10.4 -include
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ccache/ccache/work/build/config.h
 -Wall -MD -MT src/ccache/CMakeFiles/ccache_framework.dir/execute.cpp.o -MF
 CMakeFiles/ccache_framework.dir/execute.cpp.o.d -o
 CMakeFiles/ccache_framework.dir/execute.cpp.o -c
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ccache/ccache/work/ccache-4.11.3/src/ccache/execute.cpp
 :info:build
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ccache/ccache/work/ccache-4.11.3/src/ccache/execute.cpp:
 In function 'int execute(Context&, const char* const*, util::Fd&&,
 util::Fd&&)':
 :info:build
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ccache/ccache/work/ccache-4.11.3/src/ccache/execute.cpp:311:3:
 error: 'posix_spawn_file_actions_t' was not declared in this scope
 :info:build   311 |   posix_spawn_file_actions_t fa;
 :info:build       |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
 }}}

--

Comment (by hart-NTP):

 I have not yet reported this bug to ccache maintainers, as given their
 other prerequisites such as C++ 17, I doubt they will be willing to expend
 any effort supporting systems lacking posix_spawn().  I think even OS X
 10.5 Leopard has it, and there's a gnulib module.

 I'm sorry to hear MacPorts is dropping support for Tiger, but I understand
 it's a tradeoff.  I planned to dual-boot between Tiger and Leopard for
 ntpd test builds but I haven't managed to get 10.5 installed yet.

 I pray existing support for Darwin 8 isn't actively removed from ports,
 like m4 and ccache, that have Tiger patches.

-- 
Ticket URL: <https://trac.macports.org/ticket/72561#comment:2>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list