New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ci: ccache does not work for macOS cross-compiling builds #21552
Comments
This line
describes a little. According to
|
Was this not the case before 3007339? I'm not entirely sure how that commit makes it so that "the compiler was called to compile multiple source files in one go" |
I believe this is because FWIW, if I inject |
What is the ccache stats output if you inject |
With the following patch diff --git a/depends/hosts/darwin.mk b/depends/hosts/darwin.mk
index dd71697f0..8a7c3a791 100644
--- a/depends/hosts/darwin.mk
+++ b/depends/hosts/darwin.mk
@@ -98,6 +98,7 @@ $(foreach TOOL,$(cctools_TOOLS),$(eval darwin_$(TOOL) = $$(build_prefix)/bin/$$(
darwin_CC=env -u C_INCLUDE_PATH -u CPLUS_INCLUDE_PATH \
-u OBJC_INCLUDE_PATH -u OBJCPLUS_INCLUDE_PATH -u CPATH \
-u LIBRARY_PATH \
+ /usr/bin/ccache \
$(clang_prog) --target=$(host) -mmacosx-version-min=$(OSX_MIN_VERSION) \
-B$(build_prefix)/bin -mlinker-version=$(LD64_VERSION) \
--sysroot=$(OSX_SDK) \
@@ -106,6 +107,7 @@ darwin_CC=env -u C_INCLUDE_PATH -u CPLUS_INCLUDE_PATH \
darwin_CXX=env -u C_INCLUDE_PATH -u CPLUS_INCLUDE_PATH \
-u OBJC_INCLUDE_PATH -u OBJCPLUS_INCLUDE_PATH -u CPATH \
-u LIBRARY_PATH \
+ /usr/bin/ccache \
$(clangxx_prog) --target=$(host) -mmacosx-version-min=$(OSX_MIN_VERSION) \
-B$(build_prefix)/bin -mlinker-version=$(LD64_VERSION) \
--sysroot=$(OSX_SDK) \
|
Urgh... That kinda sucks... I think the easiest solution is perhaps to wait until ccache 4.1 is available on all distros and set |
@dongcarl What do you mean by "all distros"? |
Sorry, probably better rephrased as "available on stable versions of major distros"... Sometimes I think we might need a configure script for depends lol |
|
I've tested this approach on Ubuntu 22.04 with ccache 4.5.1, and it doesn't work. |
Not just when cross-compiling. I made a separate issue #25387, because I'm not sure if it's the same (ccache 4.6.1). (nvm: it does work as far as I can tell, but doesn't use it by default) |
Given it's not in the description, can someone summarize the current state of this issue?
|
See ccache/ccache#1326. |
Tested with ccache 4.8.2. It does not work. |
734ea40 ci, gha: Build macOS and Windows artifacts (Hennadii Stepanov) Pull request description: This PR reintroduces downloadable binary artifacts for macOS and Windows as it was on now decommissioned Cirrus CI. Here are a few implementation details: - A separated workflows allows to get artifact available quicker without waiting for the CI workflow. - Using a custom patch to avoid bitcoin/bitcoin#21552. --- The artifacts are available for downloading from https://github.com/bitcoin-core/gui-qml/actions/workflows/artifacts.yml. Also refer to GitHub's documentation: https://docs.github.com/en/actions/managing-workflow-runs/downloading-workflow-artifacts. Links for macOS and Windows build artifacts: [![macOS Apple Silicon](https://img.shields.io/badge/OS-macOS%20Apple%20Silicon-green)](https://github.com/bitcoin-core/gui-qml/suites/15993681320/artifacts/913114919) [![macOS Intel](https://img.shields.io/badge/OS-macOS%20Intel-green)](https://github.com/bitcoin-core/gui-qml/suites/15993681320/artifacts/913114920) [![Windows](https://img.shields.io/badge/OS-Windows-green)](https://github.com/bitcoin-core/gui-qml/suites/15993681320/artifacts/913114921) ACKs for top commit: jarolrod: ACK 734ea40 Tree-SHA512: fdff0b8d0c169f4bea58cfed871f4771219095e2618d02e678c2f373b1df16f603f81aeb55f0033eb88d9c1cbb1fdfe796f512c616bc20d08cad7db601bb54ae
https://cirrus-ci.com/task/6268895175639040?logs=ci#L3869:
UPD 2023-08-25. See ccache/ccache#1326.
The text was updated successfully, but these errors were encountered: