| I'm interested in trying to do a cross compile from a standard aarch64-unknown-linux-gnu nixpkgs, to an aarch64-unknown-linux-gnu nixpkgs with gcc.arch set to something non-standard. If I do this, I bump headlong into https://github.com/NixOS/nixpkgs/issues/265121 Lots of things 'work' but some fundamental dependencies in nixpkgs have this problem with buildPackages.stdenv.cc -- the toolchains seem somewhat screwed up, the wrapper ends up creating compilers called aarch64-unknown-linux-gnu-aarch64-unknown-linux-gnu-cc or similar, because stdenv.buildPlatform != stdenv.hostPlatform even though the target triples are the same.
It seems tricky: how can nixpkgs distinguish the build and host toolchains in the PATH when they have the same triple? For my purposes I actually wouldn't care if we happened to use the 'host' toolchain for build (because I'm trying to use more recently available architectural features which are available on my build machines). But at the moment it is just broken.
My intent is to use a 'cross' build setup so that I don't have to build the whole world with my arch settings, but just the things required for runtime.
Anyone got experience or thoughts on this? John Ericson
|