[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