NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
17.3k stars 13.54k forks source link

Build failure: ostree-aarch64-unknown-linux-gnu-2023.2 #249177

Closed skyrgobbler closed 4 months ago

skyrgobbler commented 1 year ago

Steps To Reproduce

Steps to reproduce the behavior:

  1. nix build nixpkgs#legacyPackages.x86_64-linux.pkgsCross.aarch64-multiplatform.ostree

Build log

       last 10 log lines:
       >     self.compiler.preprocess(source=source,
       >   File "/nix/store/2c7sgx69p6mmp76cvmi5j6c72dj76jj8-python3-3.10.12/lib/python3.10/distutils/unixccompiler.py", line 109, in preprocess
       >     raise CompileError(msg)
       > distutils.errors.CompileError: command 'gcc' failed: No such file or directory
       > make[2]: *** [/nix/store/8xjsffchr95bdirp0xaflc5nqv9d5qaf-gobject-introspection-aarch64-unknown-linux-gnu-1.76.1-dev/share/gobject-introspection-1.0/Makefile.introspection:156: OSTree-1.0.gir] Error 1
       > make[2]: *** Waiting for unfinished jobs....
       > make[2]: Leaving directory '/build/libostree-2023.2'
       > make[1]: *** [Makefile:7822: all-recursive] Error 1
       > make[1]: Leaving directory '/build/libostree-2023.2'
       > make: *** [Makefile:3181: all] Error 2

Full log at log.log

Additional context

Whilst trying to compile a patched linux kernel for the ClockworkPi DevTerm A06 I was getting issues when cross compiling from x86_64-linux when getting to the ostree build. Interestingly if I do an emulated compilation (nix build nixpkgs#legacyPackages.aarch64-linux.ostree) the compilation succeeds, but I can't use this output in the full cross compilation of the linux kernel.

Notify maintainers

@copumpkin @figsoda

Metadata

[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.4.7, NixOS, 23.11 (Tapir), 23.11.20230802.4a56ce9`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.15.1`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`
danielbarter commented 6 months ago

Confirmed. Seems like this is a python distutils issue. Somehow, it is trying to run gcc instead of whatever compiler is in $CC. Since distutils has been depreciated since python 3.12, this may be fixed by updating ostree, since the version we have in nixpkgs is a year out of date. I'll test when I have some more free time

danielbarter commented 6 months ago

@skyrgobbler: PR which fixes issue https://github.com/NixOS/nixpkgs/pull/293303.

Actually, issue is already just fixed on nixpkgs master. PR is just a version bump and removing stale patches now.