!ayCRiZriCVtuCUpeLp:nixos.org

Nix Cross Compiling

538 Members
110 Servers

Load older messages


SenderMessageTime
16 Oct 2025
@qyliss:fairydust.spaceAlyssa RossBTW: 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:defenestrate.itmatthewcroughan I can't find a reference to off64_t in their sources on github 17:02:31
@qyliss:fairydust.spaceAlyssa Rosshmm, maybe it got fixed already?17:02:42
@matthewcroughan:defenestrate.itmatthewcroughanThe 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 upstreamed17:03:06
@qyliss:fairydust.spaceAlyssa Rosspresumably the build error shows you were off64_t was used17:03:08
@matthewcroughan:defenestrate.itmatthewcroughanI'm not as experienced, so I need someone like you to tell me that I need to upstream it17:03:14
@matthewcroughan:defenestrate.itmatthewcroughanMore like a request for comment really17:03:39
@qyliss:fairydust.spaceAlyssa Rossah, in that case drafting the PR is a good way to communicate that17:03:49
@matthewcroughan:defenestrate.itmatthewcroughanOkay I can start doing that 17:03:56
@qyliss:fairydust.spaceAlyssa Rossotherwise there's a risk that somebody merges it without understanding your intention that it not necessarily be merged as is17:04:19
@qyliss:fairydust.spaceAlyssa Rossthanks for all your efforts btw :)17:04:32
@matthewcroughan:defenestrate.itmatthewcroughanheadpat accepted17:04:47
@matthewcroughan:defenestrate.itmatthewcroughan Alyssa Ross: Actually it does look like it's the perl core that's broken? 17:09:44
@matthewcroughan:defenestrate.itmatthewcroughan > /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:defenestrate.itmatthewcroughanthat's not coming from DBI, it's coming from perl core, no?17:09:52
@matthewcroughan:defenestrate.itmatthewcroughan lib/perl5/5.40.0/aarch64-linux-thread-multi/CORE/proto.h 17:10:06
@qyliss:fairydust.spaceAlyssa Rossoh, interesting17:12:00
@qyliss:fairydust.spaceAlyssa Rosslooks like it17:12:01
@qyliss:fairydust.spaceAlyssa RossI'm surprised that hasn't been fixed already if it's in perl17:12:11
@matthewcroughan:defenestrate.itmatthewcroughanYeah, I'll just note it down in the PR anyway for posterity17:12:30
@matthewcroughan:defenestrate.itmatthewcroughan

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:defenestrate.itmatthewcroughanI saw this kind of thing a lot when compiling old fortran code 17:27:07
@matthewcroughan:defenestrate.itmatthewcroughanThis only happens on native musl17:27:16
@matthewcroughan:defenestrate.itmatthewcroughannative musl being 64 bit only 17:27:22
@matthewcroughan:defenestrate.itmatthewcroughan* native musl being 64 bit only, hence the need for off_t instead of off64_t, 64 is the only option17:27:41
@matthewcroughan:defenestrate.itmatthewcroughan * 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
@qyliss:fairydust.spaceAlyssa 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:matrix.orgdramforeverno, this is a c++ problem17:29:28
@dramforever:matrix.orgdramforever

musl's NULL is

#if __cplusplus >= 201103L
#define NULL nullptr
#elif defined(__cplusplus)
#define NULL 0L
#else
#define NULL ((void*)0)
#endif
17:30:05
@matthewcroughan:defenestrate.itmatthewcroughanbut musl hasn't been updated, so what changed to make this drv fail 17:30:26

Show newer messages


Back to Room ListRoom Version: 6