about summary refs log tree commit diff
diff options
context:
space:
mode:
authorClaudio Bley <claudio.bley@gmail.com>2022-11-13 10:56:53 +0100
committerClaudio Bley <claudio.bley@gmail.com>2022-11-13 20:16:32 +0100
commitf933aea9e194bca9f63e36cae699634b4d90b28c (patch)
tree92369a89d567adada4883caf7beeccbce609b881
parentfc07622617a373a742ed96d4dd536849d4bc1ec6 (diff)
bobcat: Fix build on aarch64-linux
The code base requires a C++20 capable compiler toolchain.

Also, we need to link with the gcc library explicitly to avoid running
into undefined reference to `__aarch64_ldadd4_acq_rel' errors.
-rw-r--r--pkgs/development/libraries/bobcat/default.nix3
-rw-r--r--pkgs/top-level/all-packages.nix6
2 files changed, 8 insertions, 1 deletions
diff --git a/pkgs/development/libraries/bobcat/default.nix b/pkgs/development/libraries/bobcat/default.nix
index 3047cf539ceb0..f1e537943f586 100644
--- a/pkgs/development/libraries/bobcat/default.nix
+++ b/pkgs/development/libraries/bobcat/default.nix
@@ -26,6 +26,9 @@ stdenv.mkDerivation rec {
     patchShebangs .
   '';
 
+  # have to link to static gcc lib on aarch64-linux explicitly
+  NIX_LDFLAGS = lib.optionalString (with stdenv.targetPlatform; isAarch64 && isLinux) "-lgcc";
+
   buildPhase = ''
     ./build libraries all
     ./build man
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index e493af7aa0ac6..141c8eecacaf5 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -18267,7 +18267,11 @@ with pkgs;
     else callPackage ../os-specific/linux/bionic-prebuilt { };
 
 
-  bobcat = callPackage ../development/libraries/bobcat { };
+  bobcat = callPackage ../development/libraries/bobcat
+    (lib.optionalAttrs (with stdenv.hostPlatform; isAarch64 && isLinux) {
+      # C++20 is required, aarch64-linux has gcc 9 by default
+      stdenv = gcc10Stdenv;
+    });
 
   boehmgc = callPackage ../development/libraries/boehm-gc { };