mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-02 18:23:44 +00:00
01e460d69e
The [(failing-)build log](https://hydra.nixos.org/build/219379873/nixlog/1) has errors that look like: `undefined symbol: __aarch64_cas8_sync`. This led me to find out about the newly-introduced `-moutline-atomics`, which is **on by default** in GCC 10.1 (according to [this blog post](https://community.arm.com/arm-community-blogs/b/tools-software-ides-blog/posts/making-the-most-of-the-arm-architecture-in-gcc-10)) and in Clang 12.0.0 (according to [the release notes](https://releases.llvm.org/12.0.0/tools/clang/docs/ReleaseNotes.html)) Not all ARMv8-A processors support atomic stuff like `__aarch64_cas8_sync`, it's only those that are ARMv8.1-A or later that do. Examples of pre-ARMv8.1-A processors include the Cortex-A72 used in the Raspberry Pi 4 (which is how I discovered this problem (I am running `hydra` on it, which indirectly depends on `HashSharedMem`)), and any older ARMv8-A processors. The problem here is solvable either by linking the compiler runtime library (which I did not try, since I don't know exactly which one to use) *or* by simply not generating outlines for atomic operations. I went with the "easier" path (which was also what was was happening in older versions of GCC, I think) of disabling atomic outlines with `-mno-outline-atomics`, and it works! |
||
---|---|---|
.. | ||
pkg-config | ||
agda-packages.nix | ||
aliases.nix | ||
all-packages.nix | ||
beam-packages.nix | ||
config.nix | ||
coq-packages.nix | ||
cubocore-packages.nix | ||
cuda-packages.nix | ||
darwin-packages.nix | ||
default.nix | ||
dhall-packages.nix | ||
dotnet-packages.nix | ||
emacs-packages.nix | ||
emscripten-packages.nix | ||
gnuradio-packages.nix | ||
haskell-packages.nix | ||
haxe-packages.nix | ||
impure.nix | ||
java-packages.nix | ||
kodi-packages.nix | ||
linux-kernels.nix | ||
lua-packages.nix | ||
make-tarball.nix | ||
metrics.nix | ||
nim-packages.nix | ||
nixpkgs-basic-release-checks.nix | ||
ocaml-packages.nix | ||
octave-packages.nix | ||
packages-config.nix | ||
perl-packages.nix | ||
php-packages.nix | ||
python2-packages.nix | ||
python-aliases.nix | ||
python-packages.nix | ||
qt5-packages.nix | ||
qt6-packages.nix | ||
release-alternatives.nix | ||
release-cross.nix | ||
release-cuda.nix | ||
release-haskell.nix | ||
release-lib.nix | ||
release-python.nix | ||
release-r.nix | ||
release-small.nix | ||
release.nix | ||
ruby-packages.nix | ||
splice.nix | ||
stage.nix | ||
unixtools.nix | ||
wine-packages.nix |