| 18 Oct 2025 |
matthewcroughan | * the error about close_range is from llvm/musl, so I guess it's about that | 14:11:11 |
matthewcroughan | On native musl I get this from nix-expr
[35/35] Linking target libnixexpr.so
FAILED: [code=1] libnixexpr.so
g++ -o libnixexpr.so libnixexpr.so.p/meson-generated_.._parser-tab.cc.o libnixexpr.so.p/meson-generated_.._lexer-tab.cc.o libnixexpr.so.p/attr-path.cc.o libnixexpr.so.p/attr-set.cc.o libn>
/nix/store/24dkhnp0rpb1hvzx1h5frsbfjmgjfpk9-fortify-headers-1.1alpine3/include/stdio.h: In function ‘__to_xstring.constprop’:
/nix/store/24dkhnp0rpb1hvzx1h5frsbfjmgjfpk9-fortify-headers-1.1alpine3/include/stdio.h:80:28: error: inlining failed in call to ‘always_inline’ ‘vsnprintf’: function body can be overwritte>
80 | _FORTIFY_FN(vsnprintf) int vsnprintf(char * _FORTIFY_POS0 __s, size_t __n,
| ^
/nix/store/f9y6ld56r5lpp6lcg6w865rghclf3yv7-gcc-14.3.0/include/c++/14.3.0/ext/string_conversions.h:113:32: note: called from here
113 | const int __len = __convf(__s, __n, __fmt, __args);
| ^
make: *** [/build/ccBmNLOp.mk:86: /build/ccoJfonD.ltrans28.ltrans.o] Error 1
make: *** Waiting for unfinished jobs....
lto-wrapper: fatal error: make returned 2 exit status
compilation terminated.
/nix/store/hs52m3pqfjcx4a9wzd26mrq1zh09nnai-binutils-2.44/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
| 14:11:35 |
matthewcroughan | * On native musl (no llvm), I get this from nix-expr
[35/35] Linking target libnixexpr.so
FAILED: [code=1] libnixexpr.so
g++ -o libnixexpr.so libnixexpr.so.p/meson-generated_.._parser-tab.cc.o libnixexpr.so.p/meson-generated_.._lexer-tab.cc.o libnixexpr.so.p/attr-path.cc.o libnixexpr.so.p/attr-set.cc.o libn>
/nix/store/24dkhnp0rpb1hvzx1h5frsbfjmgjfpk9-fortify-headers-1.1alpine3/include/stdio.h: In function ‘__to_xstring.constprop’:
/nix/store/24dkhnp0rpb1hvzx1h5frsbfjmgjfpk9-fortify-headers-1.1alpine3/include/stdio.h:80:28: error: inlining failed in call to ‘always_inline’ ‘vsnprintf’: function body can be overwritte>
80 | _FORTIFY_FN(vsnprintf) int vsnprintf(char * _FORTIFY_POS0 __s, size_t __n,
| ^
/nix/store/f9y6ld56r5lpp6lcg6w865rghclf3yv7-gcc-14.3.0/include/c++/14.3.0/ext/string_conversions.h:113:32: note: called from here
113 | const int __len = __convf(__s, __n, __fmt, __args);
| ^
make: *** [/build/ccBmNLOp.mk:86: /build/ccoJfonD.ltrans28.ltrans.o] Error 1
make: *** Waiting for unfinished jobs....
lto-wrapper: fatal error: make returned 2 exit status
compilation terminated.
/nix/store/hs52m3pqfjcx4a9wzd26mrq1zh09nnai-binutils-2.44/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
| 14:12:30 |
dramforever | how on earth is it different on llvm and gcc | 14:14:32 |
matthewcroughan | Maybe it just fails earlier, I had --keep-going on but didn't spot it | 14:14:50 |
matthewcroughan | on native musl, I don't see nix-util in the graph even | 14:15:56 |
matthewcroughan |  Download image.png | 14:15:58 |
dramforever | but we definitely build nix against musl right? | 14:16:12 |
matthewcroughan | I guess it comes later, so yeah nix-expr fails first, before I can get a look at nix-util | 14:16:15 |
dramforever | * but we definitely build nix with musl right? | 14:16:20 |
matthewcroughan | it has worked a lot in the past yeah, though atm it's failing | 14:16:26 |
matthewcroughan | I've never had an issue with it until this experiment | 14:16:40 |
dramforever | well maybe close_range is new | 14:17:01 |
matthewcroughan | looks like 2024 according to blame | 14:17:21 |
dramforever | no look https://hydra.nixos.org/job/nix/master/buildStatic.nix-cli.x86_64-linux | 14:17:23 |
matthewcroughan | ericsson was refactoring | 14:17:24 |
dramforever | it's working | 14:17:35 |
matthewcroughan | static and musl aren't the same are they? | 14:17:37 |
dramforever | musl 1.2.5 | 14:17:37 |
matthewcroughan | pkgsStatic vs pkgsMusl | 14:17:40 |
dramforever | they're not but it is definitely musl | 14:17:48 |
dramforever | so there's something going on in the headers and crap | 14:17:56 |
dramforever | i can't think of anything else
diff --git a/src/libutil/unix/file-descriptor.cc b/src/libutil/unix/file-descriptor.cc
index 2b612e854..194dcb3b6 100644
--- a/src/libutil/unix/file-descriptor.cc
+++ b/src/libutil/unix/file-descriptor.cc
@@ -6,6 +6,7 @@
#include <fcntl.h>
#include <unistd.h>
#include <poll.h>
+#include <sys/syscall.h>
#include "util-config-private.hh"
#include "util-unix-config-private.hh"
| 14:19:20 |
emily | isn't that going to break macOS | 14:48:12 |
emily | pkgsStatic.nix breaks constantly fwiw | 14:48:38 |
matthewcroughan | Lix builds fine, weird | 14:48:44 |
emily | I get the impression it's not a priority | 14:48:45 |
matthewcroughan | setting nix.package to lix hasn't nuked nix from the graph | 15:08:25 |
matthewcroughan | do I have to say nix = lix in an overlay instead? | 15:08:33 |
matthewcroughan | It seems that works, with the exception of switch-to-configuration who dies because of rust things | 15:09:54 |