| 18 Apr 2025 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | In reply to @aleksana:mozilla.org There's something going wrong with gettext and glibc iconv (checking for working iconv...no and iconv_ostream__flush has incompatible pointer type) This is the part of the "checking for working iconv" test that fails
#include <iconv.h>
#include <string.h>
int
main (void)
{
int result = 0;
/* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
provided. */
{
/* Try standardized names. */
iconv_t cd1 = iconv_open ("UTF-8", "EUC-JP");
/* Try IRIX, OSF/1 names. */
iconv_t cd2 = iconv_open ("UTF-8", "eucJP");
/* Try AIX names. */
iconv_t cd3 = iconv_open ("UTF-8", "IBM-eucJP");
/* Try HP-UX names. */
iconv_t cd4 = iconv_open ("utf8", "eucJP");
if (cd1 == (iconv_t)(-1) && cd2 == (iconv_t)(-1)
&& cd3 == (iconv_t)(-1) && cd4 == (iconv_t)(-1))
result |= 16;
if (cd1 != (iconv_t)(-1))
iconv_close (cd1);
if (cd2 != (iconv_t)(-1))
iconv_close (cd2);
if (cd3 != (iconv_t)(-1))
iconv_close (cd3);
if (cd4 != (iconv_t)(-1))
iconv_close (cd4);
}
return result;
;
return 0;
}
Looks like something related to locales which we don't install in bootstrapTools... | 06:21:21 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | Not sure what to do here, openembedded-core just dropped this check, but this would require us to rebuild stdenv. And I don't know how this worked with bootstrapTools on other platforms. | 06:47:11 |
Tristan Ross | I'm working on being able to LTO everything | 06:48:30 |
Tristan Ross | So far, pkgsLTO.pkgsMusl.hello works | 06:48:45 |
Tristan Ross | libgcc> /nix/store/l4dz7i8kbrrdgrvy1mfd1biwxn29hawv-aarch64-unknown-linux-gnu-binutils-2.44/bin/aarch64-unknown-linux-gnu-ld: error in /build/ccvydBN9.ltrans0.ltrans.o(.eh_frame); no .eh_frame_hdr table will be created
libgcc> /nix/store/l4dz7i8kbrrdgrvy1mfd1biwxn29hawv-aarch64-unknown-linux-gnu-binutils-2.44/bin/aarch64-unknown-linux-gnu-ld: libgcc.a(cas_8_4.o): in function `__aarch64_cas8_acq_rel':
libgcc> /build/gcc-14-20250322/libgcc/config/aarch64/lse.S:196:(.text+0x0): undefined reference to `__aarch64_have_lse_atomics'
libgcc> /nix/store/l4dz7i8kbrrdgrvy1mfd1biwxn29hawv-aarch64-unknown-linux-gnu-binutils-2.44/bin/aarch64-unknown-linux-gnu-ld: /build/gcc-14-20250322/libgcc/config/aarch64/lse.S:196:(.text+0x4): undefined reference to `__aarch64_have_lse_atomics'
libgcc> /nix/store/l4dz7i8kbrrdgrvy1mfd1biwxn29hawv-aarch64-unknown-linux-gnu-binutils-2.44/bin/aarch64-unknown-linux-gnu-ld: libgcc.a(swp_8_4.o): in function `__aarch64_swp8_acq_rel':
libgcc> /build/gcc-14-20250322/libgcc/config/aarch64/lse.S:259:(.text+0x0): undefined reference to `__aarch64_have_lse_atomics'
libgcc> /nix/store/l4dz7i8kbrrdgrvy1mfd1biwxn29hawv-aarch64-unknown-linux-gnu-binutils-2.44/bin/aarch64-unknown-linux-gnu-ld: /build/gcc-14-20250322/libgcc/config/aarch64/lse.S:259:(.text+0x4): undefined reference to `__aarch64_have_lse_atomics'
libgcc> collect2: error: ld returned 1 exit status
libgcc> make: *** [Makefile:1005: libgcc_s.so] Error 1
Fighting this issue
| 06:55:59 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | In reply to @aleksana:mozilla.org There's something going wrong with gettext and glibc iconv (checking for working iconv...no and iconv_ostream__flush has incompatible pointer type) The problem is in other stage1 as well, it's just gcc13 (from bootstrapTools which hasn't been updated) doesn't report this as an error | 09:13:04 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | checking for iconv... yes
checking for working iconv... no
checking whether iconv is compatible with its POSIX signature... yes
and
iconv-ostream.c:311:3: warning: initialization of 'void (*)(struct any_ostream_representation *, ostream_flush_scope_t)' from incompatible pointer type 'void (*)(struct any_ostream_representation *)' []
311 | iconv_ostream__flush,
| ^~~~~~~~~~~~~~~~~~~~
in https://hydra.nixos.org/build/294707390/nixlog/10 | 09:14:27 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | The fix is the same as libunistring, just adding am_cv_func_iconv_works = "yes" | 09:15:43 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | Fixing this https://github.com/NixOS/nixpkgs/pull/399691 | 09:31:27 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | * Fixing this https://github.com/NixOS/nixpkgs/pull/399694 | 09:43:46 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | I feel like we are building perl too many times in stdenv bootstrap | 12:20:01 |
trofi | https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/linux/default.nix#L39 has a few handly calls to look at the various stages of stdenv | 12:32:05 |
trofi | autoconf gets pulled in and out from tie to time based on amount of autoreconfHook used during bootstrap. a typical perl user | 12:33:23 |
trofi | $ nix-store --query --graph $(nix-instantiate -A stdenv) | grep -P -- '->.*perl-5.40.0.drv' | awk '{print $3}' | sort -u
"92dqkd8x6yh185ps4bbmqdnyzcswsc1q-perl-5.40.0.drv"
"r566ksw3ydjyr1vyzgzn6pbrjx052xs7-perl-5.40.0.drv"
"wgkgyyh5lha8nf6l3w8i3g62gcpwyyfw-perl-5.40.0.drv"
suggests we build it 3 times. Not too many.
| 12:36:04 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | In reply to @trofi:matrix.org
$ nix-store --query --graph $(nix-instantiate -A stdenv) | grep -P -- '->.*perl-5.40.0.drv' | awk '{print $3}' | sort -u
"92dqkd8x6yh185ps4bbmqdnyzcswsc1q-perl-5.40.0.drv"
"r566ksw3ydjyr1vyzgzn6pbrjx052xs7-perl-5.40.0.drv"
"wgkgyyh5lha8nf6l3w8i3g62gcpwyyfw-perl-5.40.0.drv"
suggests we build it 3 times. Not too many.
Thanks for the example. I just recalled there is a graph in hydra>nixpkgs>staging>some job>build dependencies | 12:39:05 |
trofi | https://bpa.st/raw/RO2Q is the full list of users | 12:39:05 |
trofi | But it does not help that perl recently disabled parallel builds. | 12:40:33 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | Maybe we can disable check for early stages to save some build time | 12:41:18 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | As the packages are not presented in final stdenv it shouldn't be a problem | 12:41:51 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | Anyway, I'm approaching hello, maybe in stage 3. It's insane that loongarch64 doesn't require a lot of patches nowadays | 12:48:08 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | Only 3 bugs from us to fix | 12:50:07 |
trofi | i'd expect most linux targets to Just Work | 12:57:50 |
| 19 Apr 2025 |
| @alexandrutocar:matrix.org left the room. | 10:49:29 |
| jopejoe1 (4094@39c3) changed their display name from jopejoe1 to jopejoe1 (4094@eh22). | 13:00:43 |
| alexfmpe changed their profile picture. | 23:56:08 |
| 20 Apr 2025 |
Tristan Ross | If anyone else wants to look at this before it's merged, please do. https://github.com/NixOS/nixpkgs/pull/394797 | 04:23:42 |
Tristan Ross | I'm going to work on what this is: https://github.com/NixOS/nixpkgs/pull/375435#discussion_r1927770569 We'll have a new nixpkgs config option called allowVariants and we'll have pkgs/top-level/variants.nix. This enables the nixpkgs variants like pkgsLLVM, pkgsMusl, etc. | 15:12:20 |
Tristan Ross | https://github.com/NixOS/nixpkgs/pull/400351 we have the variants in this pr | 15:27:58 |
emily | how does that interact with https://github.com/NixOS/nixpkgs/pull/380342? | 15:29:27 |
emily | ah, it's just making them alias-ish | 15:29:52 |