| 16 Oct 2025 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | NIce! | 17:01:16 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | * Nice! | 17:01:22 |
Alyssa Ross | BTW: if something is going to be broken on every musl distro (like this fix), please try to take the fix upstream before working around it in Nixpkgs. If we all do this (and the other distros usually do), it's less work for all of us than if we all have to separately apply the same workarounds downstream. | 17:02:29 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | I can't find a reference to off64_t in their sources on github | 17:02:31 |
Alyssa Ross | hmm, maybe it got fixed already? | 17:02:42 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | The reason I make the PRs isn't always to get it merged, but to provide a reproducer that allows others to tell me that it should be upstreamed | 17:03:06 |
Alyssa Ross | presumably the build error shows you were off64_t was used | 17:03:08 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | I'm not as experienced, so I need someone like you to tell me that I need to upstream it | 17:03:14 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | More like a request for comment really | 17:03:39 |
Alyssa Ross | ah, in that case drafting the PR is a good way to communicate that | 17:03:49 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | Okay I can start doing that | 17:03:56 |
Alyssa Ross | otherwise there's a risk that somebody merges it without understanding your intention that it not necessarily be merged as is | 17:04:19 |
Alyssa Ross | thanks for all your efforts btw :) | 17:04:32 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | headpat accepted | 17:04:47 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | Alyssa Ross: Actually it does look like it's the perl core that's broken? | 17:09:44 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | > /nix/store/xi08qryndrv2a2vih9s4n5kzfp8hzn9r-perl-5.40.0/lib/perl5/5.40.0/aarch64-linux-thread-multi/CORE/proto.h:10777:15: error: unknown type name 'off64_t'; did you mean 'off_t'? | 17:09:45 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | that's not coming from DBI, it's coming from perl core, no? | 17:09:52 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | lib/perl5/5.40.0/aarch64-linux-thread-multi/CORE/proto.h | 17:10:06 |
Alyssa Ross | oh, interesting | 17:12:00 |
Alyssa Ross | looks like it | 17:12:01 |
Alyssa Ross | I'm surprised that hasn't been fixed already if it's in perl | 17:12:11 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | Yeah, I'll just note it down in the PR anyway for posterity | 17:12:30 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | Alyssa Ross: I run into other issues like this in Python, that seem to me to be 32 vs 64 bit issues, do you agree?
g++ -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -I/nix/store/wskvcibvzlm1rp3j244m4dlmzxnjzsn9-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 | };
| ^
| 17:27:00 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | I saw this kind of thing a lot when compiling old fortran code | 17:27:07 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | This only happens on native musl | 17:27:16 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | native musl being 64 bit only | 17:27:22 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | * native musl being 64 bit only, hence the need for off_t instead of off64_t, 64 is the only option | 17:27:41 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | * native musl being 64 bit only, hence the need for off_t instead of off64_t, 64 is the only option, so you don't have function names for 32 and 64 | 17:27:55 |
Alyssa Ross | that's not quite how it works — off64_t was a temporary hack 20 years ago so you could do partial codebase conversions. Nowadays you should be setting _FILE_OFFSET_BITS=64 so off_t is always 64 bits. | 17:28:58 |
dramforever | no, this is a c++ problem | 17:29:28 |