!ayCRiZriCVtuCUpeLp:nixos.org

Nix Cross Compiling

580 Members
128 Servers

Load older messages


SenderMessageTime
3 Jan 2025
@rosscomputerguy:matrix.orgTristan RossOh right16:38:45
@rosscomputerguy:matrix.orgTristan RossThen musl would have this problem but it doesn't16:38:54
@artturin:matrix.orgArtturinMusl doen't depend on python16:39:24
@sananatheskenana:matrix.orglzcuntmusl doesn't have nativeBuildInputs16:39:25
@emilazy:matrix.orgemilymusl doesn't use Python via Meson16:39:28
@sananatheskenana:matrix.orglzcuntor any non-stdenv dependencies for that matter16:39:32
@sananatheskenana:matrix.orglzcuntglibc does depend on bison and python3Minimal16:39:56
@sananatheskenana:matrix.orglzcuntbut it doesn't trigger this issue16:40:02
@emilazy:matrix.orgemilyI didn't realize Python was evaluating all its arguments like that. kinda cursed16:42:27
@artturin:matrix.orgArtturin
diff --git a/pkgs/by-name/ml/mlibc/package.nix b/pkgs/by-name/ml/mlibc/package.nix
index 0c1d9471c78e..881547285b37 100644
--- a/pkgs/by-name/ml/mlibc/package.nix
+++ b/pkgs/by-name/ml/mlibc/package.nix
@@ -7,6 +7,7 @@
   ninja,
   pkg-config,
   linuxHeaders,
+  python3Minimal,
 }:
 
 let
@@ -45,8 +46,8 @@ stdenvNoLibc.mkDerivation (finalAttrs: {
   ];
 
   nativeBuildInputs = [
-    meson
-    ninja
+    (buildPackages.meson.override { python3 = buildPackages.buildPackages.python3Minimal; })
+    #ninja
     pkg-config
   ];
 
diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix
index 4027cc03da1b..2484f638e5ff 100644
--- a/pkgs/development/interpreters/python/cpython/default.nix
+++ b/pkgs/development/interpreters/python/cpython/default.nix
@@ -130,8 +130,8 @@ let
   passthru = let
     # When we override the interpreter we also need to override the spliced versions of the interpreter
     # bluez is excluded manually to break an infinite recursion.
-    inputs' = lib.filterAttrs (n: v: n != "bluez" && n != "passthruFun" && ! lib.isDerivation v) inputs;
-    override = attr: let python = attr.override (inputs' // { self = python; }); in python;
+    inputs' = lib.filterAttrs (n: v: n != "bluez" && n != "openssl" && n != "passthruFun" && ! lib.isDerivation v) inputs;
+    override = attr: let python = attr.override ( { self = python; }); in python;
   in passthruFun rec {
     inherit self sourceVersion packageOverrides;
     implementation = "cpython";
16:49:40
@artturin:matrix.orgArtturin *
diff --git a/pkgs/by-name/ml/mlibc/package.nix b/pkgs/by-name/ml/mlibc/package.nix
index 0c1d9471c78e..881547285b37 100644
--- a/pkgs/by-name/ml/mlibc/package.nix
+++ b/pkgs/by-name/ml/mlibc/package.nix
@@ -7,6 +7,7 @@
   ninja,
   pkg-config,
   linuxHeaders,
+  python3Minimal,
 }:
 
 let
@@ -45,8 +46,8 @@ stdenvNoLibc.mkDerivation (finalAttrs: {
   ];
 
   nativeBuildInputs = [
-    meson
-    ninja
+    (buildPackages.meson.override { python3 = buildPackages.buildPackages.python3Minimal; })
+    #ninja
     pkg-config
   ];
 
diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix
index 4027cc03da1b..2484f638e5ff 100644
--- a/pkgs/development/interpreters/python/cpython/default.nix
+++ b/pkgs/development/interpreters/python/cpython/default.nix
@@ -130,8 +130,8 @@ let
   passthru = let
     # When we override the interpreter we also need to override the spliced versions of the interpreter
     # bluez is excluded manually to break an infinite recursion.
-    inputs' = lib.filterAttrs (n: v: n != "bluez" && n != "passthruFun" && ! lib.isDerivation v) inputs;
-    override = attr: let python = attr.override (inputs' // { self = python; }); in python;
+    inputs' = lib.filterAttrs (n: v: n != "bluez" && n != "openssl" && n != "passthruFun" && ! lib.isDerivation v) inputs;
+    override = attr: let python = attr.override ( { self = python; }); in python;
   in passthruFun rec {
     inherit self sourceVersion packageOverrides;
     implementation = "cpython";
16:49:44
@artturin:matrix.orgArtturin *
diff --git a/pkgs/by-name/ml/mlibc/package.nix b/pkgs/by-name/ml/mlibc/package.nix
index 0c1d9471c78e..9458e8a4e6bf 100644
--- a/pkgs/by-name/ml/mlibc/package.nix
+++ b/pkgs/by-name/ml/mlibc/package.nix
@@ -7,6 +7,7 @@
   ninja,
   pkg-config,
   linuxHeaders,
+  python3Minimal,
 }:
 
 let
@@ -45,7 +46,7 @@ stdenvNoLibc.mkDerivation (finalAttrs: {
   ];
 
   nativeBuildInputs = [
-    meson
+    (buildPackages.meson.override { python3 = buildPackages.buildPackages.python3Minimal; })
     ninja
     pkg-config
   ];
diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix
index 4027cc03da1b..2484f638e5ff 100644
--- a/pkgs/development/interpreters/python/cpython/default.nix
+++ b/pkgs/development/interpreters/python/cpython/default.nix
@@ -130,8 +130,8 @@ let
   passthru = let
     # When we override the interpreter we also need to override the spliced versions of the interpreter
     # bluez is excluded manually to break an infinite recursion.
-    inputs' = lib.filterAttrs (n: v: n != "bluez" && n != "passthruFun" && ! lib.isDerivation v) inputs;
-    override = attr: let python = attr.override (inputs' // { self = python; }); in python;
+    inputs' = lib.filterAttrs (n: v: n != "bluez" && n != "openssl" && n != "passthruFun" && ! lib.isDerivation v) inputs;
+    override = attr: let python = attr.override ( { self = python; }); in python;
   in passthruFun rec {
     inherit self sourceVersion packageOverrides;
     implementation = "cpython";
16:50:12
@artturin:matrix.orgArtturin sananatheskenana: 16:50:17
@artturin:matrix.orgArtturin

(buildPackages.meson.override { python3 = buildPackages.__splicedPackages.python3Minimal; })

Fits better

16:53:09
@artturin:matrix.orgArtturin 1 buildPackages instead of 2 for python3 because it's used directly and not in nativeBuildInputs
and __splicedPackages in case it's used in a dependency attribute in the future.
16:54:25
@sananatheskenana:matrix.orglzcuntah testing it rn16:54:48
@artturin:matrix.orgArtturin
C compiler for the build machine: gcc (gcc 14.2.1 "gcc (GCC) 14.2.1 20241116")
C linker for the build machine: gcc ld.bfd 2.43.1
C++ compiler for the build machine: g++ (gcc 14.2.1 "g++ (GCC) 14.2.1 20241116")
C++ linker for the build machine: g++ ld.bfd 2.43.1
C compiler for the host machine: x86_64-unknown-linux-mlibc-gcc (gcc 14.2.1 "x86_64-unknown-linux-mlibc-gcc (GCC) 14.2.1 20241116")
C linker for the host machine: x86_64-unknown-linux-mlibc-gcc ld.bfd 2.43.1

meson.build:69:1: ERROR: Unknown compiler(s): [['x86_64-unknown-linux-mlibc-g++']]
The following exception(s) were encountered:
Running `x86_64-unknown-linux-mlibc-g++ --version` gave "[Errno 2] No such file or directory: 'x86_64-unknown-linux-mlibc-g++'"

16:55:26
@sananatheskenana:matrix.orglzcunt yep that happened to me too when I tried buildPackages.buildPackages.meson 16:55:53
@sananatheskenana:matrix.orglzcuntno wait this is different to the error that I saw when this happened16:56:46
@sananatheskenana:matrix.orglzcunt* no wait this is different to the error that I saw when that happened16:57:15
@sananatheskenana:matrix.orglzcunt* no wait this is different to the error that I saw when I tried that16:57:21
@artturin:matrix.orgArtturin
$ nix build ".#pkgsCross.x86_64-linux-mlibc.mlibc.stdenv.cc"
$ ls result/bin
 x86_64-unknown-linux-mlibc-addr2line@   x86_64-unknown-linux-mlibc-cc@        x86_64-unknown-linux-mlibc-gcc*      x86_64-unknown-linux-mlibc-ld.gold@   x86_64-unknown-linux-mlibc-ranlib@    x86_64-unknown-linux-mlibc-strip@
 x86_64-unknown-linux-mlibc-ar@          x86_64-unknown-linux-mlibc-cpp*       x86_64-unknown-linux-mlibc-gprof@    x86_64-unknown-linux-mlibc-nm@        x86_64-unknown-linux-mlibc-readelf@
 x86_64-unknown-linux-mlibc-as@          x86_64-unknown-linux-mlibc-dwp@       x86_64-unknown-linux-mlibc-ld@       x86_64-unknown-linux-mlibc-objcopy@   x86_64-unknown-linux-mlibc-size@
 x86_64-unknown-linux-mlibc-c++filt@     x86_64-unknown-linux-mlibc-elfedit@   x86_64-unknown-linux-mlibc-ld.bfd@   x86_64-unknown-linux-mlibc-objdump@   x86_64-unknown-linux-mlibc-strings@
16:58:13
@artturin:matrix.orgArtturinNo g++ there or bintools16:58:30
@artturin:matrix.orgArtturin * No g++ there or cc.bintools16:58:35
@artturin:matrix.orgArtturin * No g++ there or .cc.bintools16:58:40
@artturin:matrix.orgArtturin the underlying cc .cc.cc` doesn't have g++ and some other tools that native .cc.cc has 16:59:55
@artturin:matrix.orgArtturin * the unwrapped cc .cc.cc` doesn't have g++ and some other tools that native .cc.cc has 17:00:03
@sananatheskenana:matrix.orglzcuntthen gcc is not built with --enable-languages=c++?17:02:51
@sananatheskenana:matrix.orglzcunttbh I didn't expect it to go this far, there's gcc patches needed17:03:21
@artturin:matrix.orgArtturin

Should be but

nix-repl> pkgsCross.x86_64-linux-mlibc.stdenv.cc.cc.langCC
true

--enable-languages=c

17:04:31

Show newer messages


Back to Room ListRoom Version: 6