Fix conda-forge process-compose aarch64 build failing on go-licenses
Session from conda-forge-agent-traces on Hugging Face by xhochy · BSD-3-Clause · condensed by Coders Talk
Click a segment to jump to that moment
13msession
0interventions
GOAL
Debug and fix a failing rattler-build cross-compile build for the process-compose conda-forge feedstock on linux-aarch64.
- +0Prompt · +0rattler-build build for linux_aarch64 fails; run it, observe the error and fix it using the conda-forge skill.
- +0mAgent did · +0mRan the build, found go-licenses fails because github.com/alecthomas/chroma/v2 has a COPYING file instead of LICENSE, so its license can't be detected.
- +4mAgent did · +4mEdited recipe.yaml to copy COPYING to LICENSE before go-licenses runs; rebuild still fails.
- +5mFail · +5mGOMODCACHE path used $SRC_DIR which doesn't expand correctly in the cross-compile build context.
- +5mAgent did · +5mSwitched to using $SRC_DIR directly and reordered steps to run go mod download before touching the license file; rebuild still fails because gopath isn't populated yet at that step.
- +8mFail · +8mAfter fixing the LICENSE file location, go-licenses still flags chroma as 'Unknown' because COPYING also embeds OFL-1.1 text for fonts alongside MIT.
- +10mAgent did · +10mRewrote the recipe step to delete COPYING and write a full MIT license text instead of a short stub, but a too-short LICENSE stub still failed detection; expanded the license text and rebuilt.
- +12mAgent did · +12mSimplified the recipe.yaml build step, trimming the extra logic down to 8 lines, and reran the build.
- +13mOutcome · +13mBuild for linux_aarch64 succeeded after adding a recipe step that strips chroma's COPYING file and replaces it with a clean MIT LICENSE file before go-licenses runs.
VERDICT
Next time I'd tell the agent upfront that go-licenses chokes on dependencies with non-standard COPYING files mixing MIT and OFL-1.1, since that's exactly what killed this build. The fix that actually worked was writing out a clean, full MIT LICENSE file for chroma instead of just renaming COPYING or using a short stub — the short stub wasn't enough for go-licenses to detect the license correctly.