!ayCRiZriCVtuCUpeLp:nixos.org

Nix Cross Compiling

533 Members
110 Servers

Load older messages


SenderMessageTime
13 Oct 2025
@matthewcroughan:defenestrate.itmatthewcroughanOh, no that doesn't fix it either 12:25:45
@matthewcroughan:defenestrate.itmatthewcroughanAh logic inverted on the right side 12:26:37
@matthewcroughan:defenestrate.itmatthewcroughan if stdenv.hostPlatform.isRiscV then false else if (stdenv.hostPlatform.useLLVM && !stdenv.hostPlatform.isGnu) then false else true 12:26:47
@matthewcroughan:defenestrate.itmatthewcroughanthat's better 12:26:49
@matthewcroughan:defenestrate.itmatthewcroughanhttps://github.com/NixOS/nixpkgs/pull/45166512:52:29
@matthewcroughan:defenestrate.itmatthewcroughanNext!13:15:36
@matthewcroughan:defenestrate.itmatthewcroughan
https://cache.nixos.org/azkr6fkw861j987imi4k5y0abvqi1b7c.narinfo
https://cache.nixos.org/8ggn6daw4hjxdlbcna9q2535890ykjii.narinfo
https://cache.nixos.org/azkr6fkw861j987imi4k5y0abvqi1b7c.narinfo
https://cache.nixos.org/8ggn6daw4hjxdlbcna9q2535890ykjii.narinfo
Sourcing python-remove-tests-dir-hook
Sourcing python-catch-conflicts-hook.sh
Sourcing python-remove-bin-bytecode-hook.sh
Sourcing setuptools-build-hook
Using setuptoolsBuildPhase
Sourcing pypa-install-hook
Using pypaInstallPhase
Sourcing python-imports-check-hook.sh
Using pythonImportsCheckPhase
Sourcing python-namespaces-hook
Sourcing python-catch-conflicts-hook.sh
Running phase: unpackPhase
@nix {"action":"setPhase","phase":"unpackPhase"}
unpacking source archive /nix/store/1y46kvp3g2w9lvgjwm16anbgj1fbxhw6-fb-re2-1.0.7.tar.gz
source root is fb-re2-1.0.7
setting SOURCE_DATE_EPOCH to timestamp 1549563635 of file "fb-re2-1.0.7/setup.cfg"
Running phase: patchPhase
@nix {"action":"setPhase","phase":"patchPhase"}
applying patch /nix/store/2ynhdqagqhhgiwwp42vs2k1rbzg4hk16-08fb06ec3ccd412ca69483d27234684a04cb91a0.patch
patching file setup.py
Hunk #1 succeeded at 21 (offset -1 lines).
Running phase: updateAutotoolsGnuConfigScriptsPhase
@nix {"action":"setPhase","phase":"updateAutotoolsGnuConfigScriptsPhase"}
Running phase: configurePhase
@nix {"action":"setPhase","phase":"configurePhase"}
no configure script, doing nothing
Running phase: buildPhase
@nix {"action":"setPhase","phase":"buildPhase"}
Executing setuptoolsBuildPhase
setup.py build flags: ''
/nix/store/i8dj359n8kpcqnf8smx04i2w79pdswpd-python3.13-setuptools-80.9.0/lib/python3.13/site-packages/setuptools/_distutils/dist.py:289: UserWarning: Unknown distribution option: 'test_suite'
  warnings.warn(msg)
/nix/store/i8dj359n8kpcqnf8smx04i2w79pdswpd-python3.13-setuptools-80.9.0/lib/python3.13/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!

        ********************************************************************************
        Please consider removing the following classifiers in favor of a SPDX license expression:

        License :: OSI Approved :: BSD License

        See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
        ********************************************************************************

!!
  self._finalize_license_expression()
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/5grqzcflpanpjl31siiz168y8mwmv9jl-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/hfiszd1qvqa0mbpj176s5ym4wpmk4nwx-gcc-wrapper-14.3.0/bin/g++' failed with exit code 1
13:15:38
@matthewcroughan:defenestrate.itmatthewcroughan Ihar Hrachyshka: Do you know why musl static might fail with llvm now? 13:55:24
@matthewcroughan:defenestrate.itmatthewcroughanLike this https://hercules-ci.com/accounts/github/MatthewCroughan/derivations/%2Fnix%2Fstore%2Fqk942ikx3lr5wvkwycizc4xvhj8pykwf-musl-static-aarch64-unknown-linux-musl-1.2.5.drv/log?via-job=bfdba484-5299-4137-89f5-0a94331faf9613:55:53
@matthewcroughan:defenestrate.itmatthewcroughan collect2: fatal error: cannot find 'ld' 13:56:00
@ihar.hrachyshka:matrix.orgIhar Hrachyshkano idea. I'm not really a cross expert... :)13:56:35
@matthewcroughan:defenestrate.itmatthewcroughanthis isn't cross13:56:41
@matthewcroughan:defenestrate.itmatthewcroughanthis is native13:56:42
@matthewcroughan:defenestrate.itmatthewcroughancross works fine13:56:56
@matthewcroughan:defenestrate.itmatthewcroughan I have a full pkgs.nixos {} building with cross, both llvm/musl, but now I'm tackling the native case 13:57:18
@ihar.hrachyshka:matrix.orgIhar Hrachyshka

I think musl is cross in a way - you cross build musl binaries with glibc build packages. It's just not arch cross.

(maybe I'm using terms incorrectly though)

13:57:30
@matthewcroughan:defenestrate.itmatthewcroughanUntrue in this case13:57:40
@matthewcroughan:defenestrate.itmatthewcroughanI've already done the cross case13:57:44
@matthewcroughan:defenestrate.itmatthewcroughan pkgsMusl is musl -> musl 13:57:51
@matthewcroughan:defenestrate.itmatthewcroughan
        nixosConfigurations.gnu-musl = nixosConfigurations.base.extendModules {
          modules = [
            ./musl.nix
            {
              nixpkgs.buildPlatform = (inputs.nixpkgs.lib.systems.elaborate "aarch64-unknown-linux-gnu");
              nixpkgs.hostPlatform = inputs.nixpkgs.lib.recursiveUpdate (inputs.nixpkgs.lib.systems.elaborate "aarch64-unknown-linux-musl") {};
            }
          ];
        };
        nixosConfigurations.gnu-musl-llvm = nixosConfigurations.base.extendModules {
          modules = [
            ./musl-llvm.nix
            {
              nixpkgs.buildPlatform = (inputs.nixpkgs.lib.systems.elaborate "aarch64-unknown-linux-gnu");
              nixpkgs.hostPlatform = inputs.nixpkgs.lib.recursiveUpdate (inputs.nixpkgs.lib.systems.elaborate "aarch64-unknown-linux-musl") {
                useLLVM = true;
                linker = "lld";
                config = "aarch64-unknown-linux-musl";
              };
            }
          ];
        };
        nixosConfigurations.musl = nixosConfigurations.base.extendModules {
          modules = [
            ./musl.nix
            {
              nixpkgs.buildPlatform = (inputs.nixpkgs.lib.systems.elaborate "aarch64-unknown-linux-musl");
              nixpkgs.hostPlatform = inputs.nixpkgs.lib.recursiveUpdate (inputs.nixpkgs.lib.systems.elaborate "aarch64-unknown-linux-musl") {};
            }
          ];
        };
        nixosConfigurations.musl-llvm = nixosConfigurations.base.extendModules {
          modules = [
            ./musl-llvm.nix
            {
              nixpkgs.buildPlatform = (inputs.nixpkgs.lib.systems.elaborate "aarch64-unknown-linux-musl");
              nixpkgs.hostPlatform = inputs.nixpkgs.lib.recursiveUpdate (inputs.nixpkgs.lib.systems.elaborate "aarch64-unknown-linux-musl") {
                useLLVM = true;
                linker = "lld";
                config = "aarch64-unknown-linux-musl";
              };
            }
          ];
        };

13:58:08
@matthewcroughan:defenestrate.itmatthewcroughan *
        nixosConfigurations.gnu-musl = nixosConfigurations.base.extendModules {
          modules = [
            ./musl.nix
            {
              nixpkgs.buildPlatform = (inputs.nixpkgs.lib.systems.elaborate "aarch64-unknown-linux-gnu");
              nixpkgs.hostPlatform = inputs.nixpkgs.lib.recursiveUpdate (inputs.nixpkgs.lib.systems.elaborate "aarch64-unknown-linux-musl") {};
            }
          ];
        };
        nixosConfigurations.gnu-musl-llvm = nixosConfigurations.base.extendModules {
          modules = [
            ./musl-llvm.nix
            {
              nixpkgs.buildPlatform = (inputs.nixpkgs.lib.systems.elaborate "aarch64-unknown-linux-gnu");
              nixpkgs.hostPlatform = inputs.nixpkgs.lib.recursiveUpdate (inputs.nixpkgs.lib.systems.elaborate "aarch64-unknown-linux-musl") {
                useLLVM = true;
                linker = "lld";
                config = "aarch64-unknown-linux-musl";
              };
            }
          ];
        };
        nixosConfigurations.musl = nixosConfigurations.base.extendModules {
          modules = [
            ./musl.nix
            {
              nixpkgs.buildPlatform = (inputs.nixpkgs.lib.systems.elaborate "aarch64-unknown-linux-musl");
              nixpkgs.hostPlatform = inputs.nixpkgs.lib.recursiveUpdate (inputs.nixpkgs.lib.systems.elaborate "aarch64-unknown-linux-musl") {};
            }
          ];
        };
        nixosConfigurations.musl-llvm = nixosConfigurations.base.extendModules {
          modules = [
            ./musl-llvm.nix
            {
              nixpkgs.buildPlatform = (inputs.nixpkgs.lib.systems.elaborate "aarch64-unknown-linux-musl");
              nixpkgs.hostPlatform = inputs.nixpkgs.lib.recursiveUpdate (inputs.nixpkgs.lib.systems.elaborate "aarch64-unknown-linux-musl") {
                useLLVM = true;
                linker = "lld";
                config = "aarch64-unknown-linux-musl";
              };
            }
          ];
        };

13:58:14
@ihar.hrachyshka:matrix.orgIhar Hrachyshkaah I see. I haven't looked at non-static musl, only pkgsStatic (which I believe is glibc->musl cross). anyway, I'm not of help.13:58:34
@matthewcroughan:defenestrate.itmatthewcroughanwell musl-static is the thing that's failing13:59:13
@matthewcroughan:defenestrate.itmatthewcroughanso is that not related to pkgsStatic?13:59:19
@ihar.hrachyshka:matrix.orgIhar Hrachyshka pkgsStatic is musl static. (I'm confused.) 13:59:36
@matthewcroughan:defenestrate.itmatthewcroughan The name of the derivation that is failing is musl-static-aarch64-unknown-linux-musl 14:00:01
@matthewcroughan:defenestrate.itmatthewcroughanmusl-static14:00:05
@matthewcroughan:defenestrate.itmatthewcroughan pkgsMusl.pkgsStatic.musl is the reproducer 14:00:54
@matthewcroughan:defenestrate.itmatthewcroughanIDK why this ends up in the dependency graph 14:01:33
@matthewcroughan:defenestrate.itmatthewcroughanimage.png
Download image.png
14:02:48

Show newer messages


Back to Room ListRoom Version: 6