!ayCRiZriCVtuCUpeLp:nixos.org

Nix Cross Compiling

534 Members
110 Servers

Load older messages


SenderMessageTime
13 Oct 2025
@ihar.hrachyshka:matrix.orgIhar HrachyshkapkgsStatic is broken.00:01:30
@matthewcroughan:defenestrate.itmatthewcroughanpkgsLLVM is not static?00:02:11
@matthewcroughan:defenestrate.itmatthewcroughan
build/lib.linux-aarch64-cpython-313
┃        > copying re2.py -> build/lib.linux-aarch64-cpython-313
┃        > running build_ext
┃        > building '_re2' extension
┃        > creating build/temp.linux-aarch64-cpython-313
┃        > g++ -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -I/nix/store/qn8bgs2v6cfr4daqrrlip7ssxpscbs93-python3-3.13.8/include/python3.13 -c _re2.cc -o build/temp.linux-aa…
┃        > _re2.cc:252:1: error: cannot convert ‘std::nullptr_t’ to ‘Py_ssize_t’ {aka ‘long int’} in initialization
┃        >   252 | };
┃        >       | ^
┃        > _re2.cc:296:1: error: cannot convert ‘std::nullptr_t’ to ‘Py_ssize_t’ {aka ‘long int’} in initialization
┃        >   296 | };
┃        >       | ^
┃        > _re2.cc:340:1: error: cannot convert ‘std::nullptr_t’ to ‘Py_ssize_t’ {aka ‘long int’} in initialization
┃        >   340 | };
┃        >       | ^
┃        > _re2.cc:870:1: warning: ‘PyObject* regexp_set_new(PyTypeObject*, PyObject*, PyObject*)’ defined but not used [-Wunused-function]
┃        >   870 | regexp_set_new(PyTypeObject* type, PyObject* args, PyObject* kwds)
┃        >       | ^~~~~~~~~~~~~~
┃        > _re2.cc:195:1: warning: ‘int _no_setattr(PyObject*, PyObject*, PyObject*)’ defined but not used [-Wunused-function]
┃        >   195 | _no_setattr(PyObject* obj, PyObject* name, PyObject* v) {
┃        >       | ^~~~~~~~~~~
┃        > error: command '/nix/store/rh7likr8a227i3wgfir10wsl0gnrjw1y-gcc-wrapper-14.3.0/bin/g++' failed with exit code 1
┃        For full logs, run:
┃          nix log /nix/store/936aknd5zqv6w16v30rwh57q3g68fggh-python3.13-fb-re2-1.0.7.drv
┣━ Dependency Graph:
┃             ┌─ ⏸ security-wrapper-sudo-aarch64-unknown-linux-musl-aarch64-linux
00:02:15
@matthewcroughan:defenestrate.itmatthewcroughanpython-fb also seems broken 00:02:22
@matthewcroughan:defenestrate.itmatthewcroughan
nix-repl> :l <nixpkgs>
Added 25893 variables.
"7z2hashcat", AAAAAASomeThingsFailToEvaluate, AMB-plugins, ArchiSteamFarm, AusweisApp2, BeatSaberModManager, CHOWTapeModel, ChowCentaur, ChowKick, ChowPhaser, CoinMP, CuboCore, DisnixWebService, EBTKS, EmptyEpsilon, FIL-plugins, Fabric, HentaiAtHome, LAStools, LASzip
... and 25873 more; view with :ll

nix-repl> pkgsLLVM.hostPlatform.isStatic
false

nix-repl> pkgsLLVM.buildPlatform.isStatic
false
00:03:15
@ihar.hrachyshka:matrix.orgIhar Hrachyshka

I'm not saying only pkgsStatic is broken. But I think any cross build can be broken because we don't do:

            if head -n1 "$f" | grep -q '#!.*'; then
                # Cross-compilation hack: ensure shebangs are for the host
                echo "Rewriting $(head -n 1 $f) to #!@pythonHost@"
                sed -i "$f" -e "1 s^#!@python@^#!@pythonHost@^"
            fi
00:05:28
@matthewcroughan:defenestrate.itmatthewcroughanIs there a fix PR'd for that already?01:31:50
@matthewcroughan:defenestrate.itmatthewcroughanHmm, it looks like the elftuils tests are a bit flakey01:38:27
@ihar.hrachyshka:matrix.orgIhar Hrachyshkafor the record, the snippet above is from the hook we disabled. So the revert will bring it back for pytest. A secondary question is whether this flag allowing to disable the hook should even exist. It's an invitation to break cross. There are just a handful of packages that are using it, probably by mistake.03:09:08
@matthewcroughan:defenestrate.itmatthewcroughanWould be good if you could put that summary in the revert PR03:27:47
@matthewcroughan:defenestrate.itmatthewcroughanSo close to getting all of the combinations building 09:50:40
@matthewcroughan:defenestrate.itmatthewcroughan
error: build of '/nix/store/7j0j8pw5nz8nz8sj02lb924widbyg4aj-python3.13-fb-re2-1.0.7.drv' on 'ssh-ng://nix-ssh@m2u' failed: Cannot build '/nix/store/7j0j8pw5nz8nz8sj02lb924widbyg4aj-python3.13-fb-re2-1.0.7.drv'.
       Reason: builder failed with exit code 1.
       Output paths:
         /nix/store/dafzna4fz48ryzp5ynvq8vfcbhqf10ra-python3.13-fb-re2-1.0.7
         /nix/store/n1r8hsbkxpn2djagbq6si36v2xfbir5x-python3.13-fb-re2-1.0.7-dist
       Last 25 log lines:
       > running bdist_wheel
       > running build
       > running build_py
       > creating build/lib.linux-aarch64-cpython-313
       > copying re2.py -> build/lib.linux-aarch64-cpython-313
       > running build_ext
       > building '_re2' extension
       > creating build/temp.linux-aarch64-cpython-313
       > g++ -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -I/nix/store/qn8bgs2v6cfr4daqrrlip7ssxpscbs93-python3-3.13.8/include/python3.13 -c _re2.cc -o build/temp.linux-aarch64-cpython-313/_re2.o -std=c++17
       > _re2.cc:252:1: error: cannot convert ‘std::nullptr_t’ to ‘Py_ssize_t’ {aka ‘long int’} in initialization
       >   252 | };
       >       | ^
       > _re2.cc:296:1: error: cannot convert ‘std::nullptr_t’ to ‘Py_ssize_t’ {aka ‘long int’} in initialization
       >   296 | };
       >       | ^
       > _re2.cc:340:1: error: cannot convert ‘std::nullptr_t’ to ‘Py_ssize_t’ {aka ‘long int’} in initialization
       >   340 | };
       >       | ^
       > _re2.cc:870:1: warning: ‘PyObject* regexp_set_new(PyTypeObject*, PyObject*, PyObject*)’ defined but not used [-Wunused-function]
       >   870 | regexp_set_new(PyTypeObject* type, PyObject* args, PyObject* kwds)
       >       | ^~~~~~~~~~~~~~
       > _re2.cc:195:1: warning: ‘int _no_setattr(PyObject*, PyObject*, PyObject*)’ defined but not used [-Wunused-function]
       >   195 | _no_setattr(PyObject* obj, PyObject* name, PyObject* v) {
       >       | ^~~~~~~~~~~
       > error: command '/nix/store/rh7likr8a227i3wgfir10wsl0gnrjw1y-gcc-wrapper-14.3.0/bin/g++' failed with exit code 1
       For full logs, run:
         nix log /nix/store/7j0j8pw5nz8nz8sj02lb924widbyg4aj-python3.13-fb-re2-1.0.7.drv
09:51:00
@matthewcroughan:defenestrate.itmatthewcroughanI have gnu-musl, gnu-musl-llvm working09:55:25
@matthewcroughan:defenestrate.itmatthewcroughanbut native musl doesn't work because of the above09:55:33
@matthewcroughan:defenestrate.itmatthewcroughanthis is a full pkgs.nixos closure09:55:39
@matthewcroughan:defenestrate.itmatthewcroughanhttps://hercules-ci.com/github/MatthewCroughan/nixos-musl/jobs/2409:56:10
@matthewcroughan:defenestrate.itmatthewcroughanimage.png
Download image.png
09:56:25
@matthewcroughan:defenestrate.itmatthewcroughan Oh actually yeah, just gnu-musl-llvm not gnu-musl 09:56:37
@matthewcroughan:defenestrate.itmatthewcroughanAh no, just got gnu-musl working, will push 09:57:02
@matthewcroughan:defenestrate.itmatthewcroughanhttps://hercules-ci.com/accounts/github/MatthewCroughan/derivations/%2Fnix%2Fstore%2F2rsl141gfcj5z6pv17y84cr1h8pk1740-perl5.40.0-Test2-Harness-1.000155.drv/log?via-job=bfdba484-5299-4137-89f5-0a94331faf9610:44:52
@matthewcroughan:defenestrate.itmatthewcroughanperl5.40.0-Test2-Harness-1.000155.drv failing on musl native I think10:47:44
@matthewcroughan:defenestrate.itmatthewcroughanhttps://github.com/NixOS/nixpkgs/pull/44724910:53:54
@matthewcroughan:defenestrate.itmatthewcroughanAh I see, I'll just disable the test in this case 10:53:59
@matthewcroughan:defenestrate.itmatthewcroughan doCheck = !stdenv.hostPlatform.isRiscV || !(stdenv.hostPlatform.useLLVM && !stdenv.hostPlatform.isGnu); 12:23:44
@matthewcroughan:defenestrate.itmatthewcroughanwhy doesn't this work?12:23:47
@matthewcroughan:defenestrate.itmatthewcroughan it works if I get rid of the || and riscv 12:23:55
@matthewcroughan:defenestrate.itmatthewcroughan doCheck = !(stdenv.hostPlatform.useLLVM && !stdenv.hostPlatform.isGnu); works 12:24:10
@matthewcroughan:defenestrate.itmatthewcroughanoh.. that existing logic is why it's breaking 12:24:58
@matthewcroughan:defenestrate.itmatthewcroughan Needs more if 12:25:04
@matthewcroughan:defenestrate.itmatthewcroughan would doCheck = if stdenv.hostPlatform.isRiscV then false else if !(stdenv.hostPlatform.useLLVM && !stdenv.hostPlatform.isGnu) then false else true; be acceptable? 12:25:37

Show newer messages


Back to Room ListRoom Version: 6