13 Oct 2025 |
matthewcroughan | Next! | 13:15:36 |
matthewcroughan | 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 | Ihar Hrachyshka: Do you know why musl static might fail with llvm now? | 13:55:24 |
matthewcroughan | Like 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-0a94331faf96 | 13:55:53 |
matthewcroughan | collect2: fatal error: cannot find 'ld' | 13:56:00 |
Ihar Hrachyshka | no idea. I'm not really a cross expert... :) | 13:56:35 |
matthewcroughan | this isn't cross | 13:56:41 |
matthewcroughan | this is native | 13:56:42 |
matthewcroughan | cross works fine | 13:56:56 |
matthewcroughan | 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 | 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 | Untrue in this case | 13:57:40 |
matthewcroughan | I've already done the cross case | 13:57:44 |
matthewcroughan | pkgsMusl is musl -> musl | 13:57:51 |
matthewcroughan | 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 | * 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 | ah 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 | well musl-static is the thing that's failing | 13:59:13 |
matthewcroughan | so is that not related to pkgsStatic? | 13:59:19 |
Ihar Hrachyshka | pkgsStatic is musl static. (I'm confused.) | 13:59:36 |
matthewcroughan | The name of the derivation that is failing is musl-static-aarch64-unknown-linux-musl | 14:00:01 |
matthewcroughan | musl-static | 14:00:05 |
matthewcroughan | pkgsMusl.pkgsStatic.musl is the reproducer | 14:00:54 |
matthewcroughan | IDK why this ends up in the dependency graph | 14:01:33 |
matthewcroughan |  Download image.png | 14:02:48 |
matthewcroughan | looks like somehow the gcc-wrapper needs it | 14:03:02 |
matthewcroughan | pkgsStatic.pkgsLLVM.musl builds just fine | 14:06:19 |
rosssmyth | While the APIs that are being used for ${program}.withPackages pattern is very nice and egronomic, it does have a downside of not using a spliced package. So for example recently I needed Python with a package in nativeBuildInputs , but then when cross-compiled it only has Python from pkgsHostTarget , leading to an invalid executable being used at build time and then either manually using pkgsBuildBuild.python or using the spliced Python and package separately.
I wonder if there is a good way to solve this? Meaning a way to use the spliced package, as for folks not in the know of splicing it is probably confusing to see a package operate differently based upon whether you use the helpers or not. But many of these helpers are implemented with finalAttrs.finalPackage , which isn't spliced.
| 18:00:49 |
Sandro 🐧 | Can someone look at https://github.com/NixOS/nixpkgs/pull/447492 for the correct splice setup? | 22:31:54 |
hexa | also #windows:nixos.org maybe | 23:11:28 |