| 16 Oct 2025 |
matthewcroughan | FAILED: [code=1] libnixutil.so.p/unix_file-descriptor.cc.o
aarch64-unknown-linux-musl-clang++ -Ilibnixutil.so.p -I. -I.. -Iinclude -I../include -I../widecharwidth -Ilinux/include -I../linux/include -Iunix -I../unix -Iunix/include -I../unix/include -I/nix/store/2kq21fj8mcqbb2dk078kdkz0a4slp9y9-libarchive-aarch64-unknown-linux-musl-3.8.1-dev/include -I/nix/store/15nrd5ki3mn2wky0879jq6p8v3nl3ins-nlohmann_json-aarch64-unknown-linux-musl-3.12.>
../unix/file-descriptor.cc:174:20: error: use of undeclared identifier 'SYS_close_range'; did you mean 'unix_close_range'?
174 | return syscall(SYS_close_range, first, last, (unsigned int) flags);
| ^~~~~~~~~~~~~~~
| unix_close_range
../unix/file-descriptor.cc:171:12: note: 'unix_close_range' declared here
171 | static int unix_close_range(unsigned int first, unsigned int last, int flags)
| ^
../unix/file-descriptor.cc:174:12: error: no matching function for call to 'syscall'
174 | return syscall(SYS_close_range, first, last, (unsigned int) flags);
| ^~~~~~~
/nix/store/4w3bhgsi1al9v1jwgk9vc6ch20l7ynba-musl-aarch64-unknown-linux-musl-1.2.5-dev/include/unistd.h:180:6: note: candidate function not viable: no known conversion from 'int (unsigned int, unsigned int, int)' to 'long' for 1st argument
180 | long syscall(long, ...);
| ^ ~~~~
2 errors generated.
| 02:31:03 |
matthewcroughan | Seems like an easy fix | 02:31:08 |
dramforever | matthewcroughan: do you want to give this a try? https://github.com/bminor/musl/compare/master...dramforever:musl:dlopen-use-rpath-of-caller-dso | 04:54:21 |
matthewcroughan | for kmod stuff? | 04:54:39 |
dramforever | yeah | 04:54:55 |
dramforever | or just in general | 04:55:06 |
matthewcroughan | I really nerd sniped you that hard huh? :P | 04:55:22 |
dramforever | but it does mean you have to rebuild musl to patch this in, and then rebuild it again if that doesn't work... | 04:55:27 |
dramforever | no it's fairly easy, i'm surprised i've never heard of anyone complain | 04:55:56 |
dramforever | the biggest change in my patch was moving the addr2dso function up a little | 04:56:10 |
matthewcroughan | :q | 04:56:31 |
matthewcroughan | oops | 04:56:35 |
matthewcroughan | Apparently I can't just override musl | 04:59:26 |
matthewcroughan | infinite recursion | 04:59:38 |
matthewcroughan | musl = super.musl.overrideAttrs {
src = super.fetchFromGitHub {
owner = "dramforever";
repo = "musl";
rev = "0f746cb7a6a1eff157ff90d48bc1661d2612b670";
hash = "";
};
};
| 04:59:58 |
matthewcroughan | in an overlay, this doesn't work | 05:00:01 |
dramforever | just vendor the patch or something | 05:01:50 |
dramforever | https://github.com/bminor/musl/compare/master...dramforever:musl:dlopen-use-rpath-of-caller-dso.patch | 05:02:27 |
matthewcroughan | nice, clever | 05:04:11 |
matthewcroughan | https://hercules-ci.com/github/MatthewCroughan/nixos-musl/jobs/37 | 05:05:02 |
matthewcroughan | We shall see! | 05:05:03 |
matthewcroughan | * https://hercules-ci.com/github/MatthewCroughan/nixos-musl/jobs/38 | 05:05:19 |
matthewcroughan | The above job is going to build a vm test of musl | 05:05:28 |
matthewcroughan | the vm test will just echo hello | 05:05:49 |
matthewcroughan | There's an attribute legacyPackages.aarch64-linux.vmtests which contains each nixosConfiguration | 05:07:40 |
matthewcroughan | I gotta sleep now though | 05:30:21 |
matthewcroughan | https://hercules-ci.com/accounts/github/MatthewCroughan/derivations/%2Fnix%2Fstore%2F3wv9ac7mam9g8y4sxmz3656jsigvr0f1-vm-test-run-musl-vmtest-aarch64-unknown-linux-musl.drv/log?via-job=80756fcf-9740-496c-98fc-a32e2952e4ba | 05:31:25 |
matthewcroughan | this one should be the one to see if it fails | 05:31:29 |
matthewcroughan | you won't the kmod context error if it worked | 05:31:36 |
dramforever | the patch just didn't work https://hercules-ci.com/accounts/github/MatthewCroughan/derivations/%2Fnix%2Fstore%2Fwkck19fim9r0vhn5n5wl568d2f97a9l9-musl-aarch64-unknown-linux-musl-1.2.5.drv/log?via-job=80756fcf-9740-496c-98fc-a32e2952e4ba | 08:10:45 |