| 14 Dec 2025 |
aleksi | I guess fetchgit with lowercase g would also not be available, but I've just learned about similarly named builtin fetchGit. Could we use that? | 10:10:40 |
aleksi | Or alternatively just default to the unofficial GitHub mirror, or set up a mirror of our own even | 10:26:04 |
| 15 Dec 2025 |
dish [Fox/It/She] | yeah we'd need curl or a really hacky bash script to do that(and I'm hesitant to do a bash script | 21:58:26 |
dish [Fox/It/She] | * yeah we'd need curl or a really hacky bash script to do that(and I'm hesitant to do a bash script) | 21:58:28 |
dish [Fox/It/She] | mirror may be a good option | 21:58:37 |
dish [Fox/It/She] | just updated my minimal-bootstrap-next PR, looking for some help getting a GCC build that targets the glibc we have. Would we need to make a new GCC build or can we just use a wrapper to point it to GCC, anyone know? | 22:01:24 |
dish [Fox/It/She] | currently the gcc we have is built against musl | 22:01:46 |
dish [Fox/It/She] | * currently the gcc we have is built against musl, and I've tried making a glibc-based build but have just been deluged with errors. May have been one of the errors with the previous musl that were mentioned before. | 22:02:12 |
dish [Fox/It/She] | * currently the gcc we have is built against musl, and I've tried making a glibc-based build but have just been deluged with errors. May have been one of the errors with the previous musl that were mentioned in the x86_64 support PR. | 22:05:02 |
| 16 Dec 2025 |
Tristan Ross | https://github.com/NixOS/nixpkgs/pull/365057 oh this PR is a year old but good to have so I can continue improving toolchain things | 06:41:03 |
aleksi | I know we have this in aux, and it rebuilds gcc to target glibc. If I understood correctly, gcc likes to hard-code some library paths and knowing that the target involves glibc causes it to make some optimizations (and vice versa for musl?) | 08:30:02 |
aleksi | I'm looking at how we could bootstrap a gcc that is linked with musl, which produces output code linked with glibc. Please correct me if this is not what we want for glibc-platform stdenvs 😁 | 12:16:18 |
K900 | I don't think we need that? | 12:17:22 |
K900 | Our current bootstrap gccs are all-gnu and I don't think that's a problem? | 12:17:35 |
Randy Eckenrode | I think this is for the minimal bootstrap. | 12:18:14 |
K900 | Yeah but I don't know if it's easier to chain through glibc or musl | 12:18:35 |
K900 | And I'm saying there's no reason for it to specifically be musl | 12:18:43 |
K900 | If glibc is easier | 12:18:45 |
dramforever | maybe musl is easier to build with older gcc or something? why were we on musl anyway? | 12:20:21 |
helle (just a stray cat girl) | there are alternatives to musl that may be easier to wrangle, but I can't access my notes right now | 12:22:13 |
Alex | In reply to @dramforever:matrix.org maybe musl is easier to build with older gcc or something? why were we on musl anyway? I don't know much about the topic under discussion, but my guess is static linking. | 12:30:05 |
dramforever | interesting point | 12:34:14 |
Randy Eckenrode | Does static make it easier for a from-source bootstrap? | 12:35:13 |
Alyssa Ross | I would guess the much simpler and more portable code | 13:54:13 |
Alex | In reply to @reckenrode:matrix.org Does static make it easier for a from-source bootstrap? Unsure. Either way, you need to compile a libc right?
I thought this was about the existing bootstrap-tools, where it'd make sense to use static linking. | 13:58:28 |
aleksi | The musl build system is simpler than musl and has fewer dependencies afaik. For example we don't need Python in musl, which glibc does need. It might be feasible to build Python with mes-libc and avoid musl in that way, but mes-libc is pretty buggy. I'm curious if you all know of any alternative paths | 17:20:19 |
dish [Fox/It/She] | we need some sort of libc to build glibc, and it is way way way easier to build a gcc that targets musl then build glibc, then rebuild gcc to target glibc, than it is to use mes-libc or similar to build glibc and its deps | 17:49:33 |
dish [Fox/It/She] | thats what I was thinking of doing, that way we don't have to rebuild yet another GCC, and instead can just make a wrapper that passes the appropriate gcc flags to link to glibc instead. Plus, this gcc wouldn't be used in actual stdenv, its just used to build the stdenv tools, so using musl or gcc in bootstrap shouldn't matter, since the whole point of the early stdenv stages is to not have any bootstrap tools leaking into stdenv proper | 17:51:38 |
| 17 Dec 2025 |
aleksi | Ok, I think here's a gcc that targets glibc: https://github.com/NixOS/nixpkgs/pull/471642/changes/1f77d59c3450ac97333d9048dc13185ede164788 | 12:02:55 |
aleksi | It's not very thoroughly tested, but gcc and g++ both seemed to work with simple programs | 12:03:19 |