Conversation
Apple's public corecrypto archive changed shape and two files its CMake configuration expects are not shipped in it, so `docker build buildenv/` fails before producing the compiler image. - The archive now extracts to a year-suffixed directory plus __MACOSX, so the following WORKDIR misses. Normalise the name only when needed. - CMakeLists.txt includes scripts/code-coverage.cmake, an external helper from StableCoder/cmake-scripts that the download does not contain. - CoreCryptoSources.cmake expects corecrypto_static/ccrng_static.c while the archive ships that file at the top level; symlink it into place rather than editing Apple's CMake files. No source, flag or output changes: this only makes the dependency image build again.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The
buildenvimage no longer builds. Apple's public corecrypto archive changed shape,and two files that its CMake configuration expects are not present in it. Each failure
stops the
docker buildbefore the compiler image is produced, so the project cannot bebuilt from a clean checkout.
Three independent problems, each fixed in
buildenv/Dockerfile:1. The archive no longer extracts to
corecrypto/unzip corecrypto.zipnow produces a year-suffixed directory (corecrypto-2024/) plus a__MACOSX/metadata directory, so the followingWORKDIR /buildenv/corecryptofails. Thefix removes the metadata directory and normalises the name only when needed, so it keeps
working if Apple reverts to the old layout:
2.
scripts/code-coverage.cmakeis referenced but not shippedcorecrypto's
CMakeLists.txtdoesinclude(scripts/code-coverage.cmake). That file is notpart of the archive; it is an external helper from
StableCoder/cmake-scripts, normally added
through a submodule or build step that the public download does not include. The fix
fetches it into
scripts/before configuring.3.
CoreCryptoSources.cmakeexpectscorecrypto_static/ccrng_static.cThe archive ships
ccrng_static.cat the top level instead, so configuration fails on amissing source. The fix symlinks it into the expected path rather than editing Apple's
CMake files, which keeps the change minimal and survives content updates.
Notes
again. The resulting compiler image produces the same binary as before.
buildenv/from a clean checkout. All three failures occur whileconfiguring and building corecrypto, which completes with these fixes and stops before
them without. The image produced from this Dockerfile then compiles the project using the
same command the CI workflow uses (
make -f ../Makefile -j3frombuild/), finishingwith only the pre-existing
-Wreturn-typewarnings.