| 12 Jul 2021 |
hexa |
error: could not compile gkrust
| 17:34:36 |
hexa | not reproducible! :D | 17:34:41 |
| 17 Jul 2021 |
| @mlieberman85:matrix.org joined the room. | 04:07:23 |
| @shadowninja55:matrix.org joined the room. | 19:37:57 |
@shadowninja55:matrix.org | has anyone used tinycc? gcc seems to read NIX_CFLAGS_COMPILE or something that includes include paths, while tinycc is missing a ton and requires me to specify them manually. | 19:38:44 |
@shadowninja55:matrix.org | it makes me think tinycc on nixpkgs isn't wrapped correctly or something. | 19:38:53 |
@shadowninja55:matrix.org | * it makes me think tinycc on nixpkgs isn't wrapped correctly or something. | 19:38:58 |
@shadowninja55:matrix.org | * it makes me think tinycc on nixpkgs isn't wrapped correctly or something | 19:39:00 |
| 18 Jul 2021 |
| dusk joined the room. | 08:01:04 |
| yusdacra changed their profile picture. | 08:04:26 |
| dan joined the room. | 13:22:27 |
| 19 Jul 2021 |
Reventlov | Redacted or Malformed Event | 10:58:45 |
Reventlov | Redacted or Malformed Event | 10:58:59 |
raboof | In reply to @rgrunbla:matrix.org Is there some information somewhere about the minimal package set needed to bootstrap a nix system ? I'm not aware of any, but agree it's interesting ;) | 11:02:43 |
Reventlov | Redacted or Malformed Event | 11:03:00 |
andi- | You can look at the bootstrap tarball. From the top of my head those contain:
- static busybox (with unxz, ash and tar applet in i686 mode but could be 64bit as well on x86)
- patchelf to patch the binaries included in the tarball
- glibc
- a reduced set of GCC libs (for example the C++ std::fs .so is missing)
- a version of bash, gzip, coreutils and i believe GNU make
| 11:31:25 |
andi- | * You can look at the bootstrap tarball. From the top of my head those contain:
- static busybox (with unxz, ash and tar applet in i686 mode but could be 64bit as well on x86)
- patchelf to patch the binaries included in the tarball
- glibc
- a reduced set of GCC libs (for example the C++ std::fs .so is missing)
- a version of bash, gzip, coreutils and i believe GNU make
- obviously a copy of glibc
| 11:31:54 |
andi- | I've a branch where I tried to get rid of patchelf during the bootstrap phase we ca could use relative RPATHs. | 11:32:38 |
andi- | * I've a branch where I tried to get rid of patchelf as during the bootstrap phase we can could use relative RPATHs. | 11:32:49 |
andi- | That work ended up requriing patching each and every binary in the tarball (after unpacking) with a wrapper script that invokes the correct dynamic loader with them... Not sure how Guix gets around that issue of the bootstrap files requiring a dynamic loader. | 11:34:08 |
andi- | All the talk about the minimal bootstrap are great but how do you execute the very first shell that you spawn you MES stuff with? | 11:34:40 |
andi- | * All the talk about the minimal bootstrap are great but how do you execute the very first shell that you spawn your MES stuff with? | 11:34:49 |
Reventlov | Redacted or Malformed Event | 11:40:22 |
andi- | What drives our tinycc compilation if all you have is an assembler? If you want to bootstrap the Nixpkgs stdenv you need to somehow provide a shell as part of the bootstrap process. | 11:41:35 |
andi- | You could also impurely use the hosts /bin/sh that is always there during a build... | 11:42:15 |
| j-k joined the room. | 15:01:05 |
siraben | minimal bootstrap issue https://github.com/NixOS/nixpkgs/issues/123095 | 16:52:56 |
siraben | Like Guix we have a great opportunity to just reduce the bootstrap without affecting anything else (modulo some rebuilds) | 16:53:49 |
tomberek | andi-: I presume one can hand-assemble an execvpe call directly if needed. Would be smaller than bringing in a shell. But one has to assume a few resident things anyway, a POSIX shell isn’t onerous as an assumption, and a filesystem, and host OS. From a different angle; another fun bootstrapping exercise: https://niedzejkob.p4.team/bootstrap/miniforth/ | 22:40:54 |
| 20 Jul 2021 |
| ldesgoui joined the room. | 14:36:47 |