You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This was working in 24.05 but now in 24.11 and master, it fails in building glibcLocales. We modify various other things in this override, but even with the simplest empty overrides above it fails.
Build log
Build Log
make -C localedata install-locales
make[2]: Entering directory '/dev/shm/nix-build-glibc-locales-2.40-36.drv-1/glibc-2.40/localedata'
Makefile:567: target 'install-archive-C.UTF-8/UTF-8' given more than once in the same rule
Makefile:571: target 'install-files-C.UTF-8/UTF-8' given more than once in the same rule
.././scripts/mkinstalldirs /mnt/sw/nix/store/62n1s3m08x41zs9jpf64nm3kxvfcgqsr-glibc-locales-2.40-36/lib/locale
mkdir -p -- /mnt/sw/nix/store/62n1s3m08x41zs9jpf64nm3kxvfcgqsr-glibc-locales-2.40-36/lib/locale
aa_DJ.UTF-8...cannot create temporary file: /dev/shm/nix-build-glibc-locales-2.40-36.drv-1/mnt/sw/nix/store/x06immnwbfpr7cgl8msn8m273i90b43v-glibc-2.40-36/lib/locale/locale-archive.moyDRP: No such file or directory
make[2]: *** [Makefile:568: install-archive-aa_DJ.UTF-8/UTF-8] Error 1
Additional context
pkgs/development/libraries/glibc/locales.nix does this:
42 preBuild =
43 (previousAttrs.preBuild or "")
44 + ''
45 # Awful hack: `localedef' doesn't allow the path to `locale-archive'
46 # to be overriden, but you *can* specify a prefix, i.e. it will use
47 # <prefix>/<path-to-glibc>/lib/locale/locale-archive. So we use
48 # $TMPDIR as a prefix, meaning that the locale-archive is placed in
49 # $TMPDIR/nix/store/...-glibc-.../lib/locale/locale-archive.
50 LOCALEDEF_FLAGS+=" --prefix=$TMPDIR"
51
52 mkdir -p $TMPDIR/"${buildPackages.glibc.out}/lib/locale"
The buildPackages.glibc.out here ends up being a different glibc at some point than this package install is using. I don't qite unedrstand the details, but the temporary install directory does exist, but with a different hash than the one it's trying to use above.
This is not new code, so something must have changed about how the custom stdenv works. Do we need to use replaceStdenv differently?
Steps To Reproduce
We've been using a simple formula to modify glibc in stdenv for a while, that looks like this:
This was working in 24.05 but now in 24.11 and master, it fails in building glibcLocales. We modify various other things in this override, but even with the simplest empty overrides above it fails.
Build log
Build Log
Additional context
pkgs/development/libraries/glibc/locales.nix does this:
The
buildPackages.glibc.out
here ends up being a different glibc at some point than this package install is using. I don't qite unedrstand the details, but the temporary install directory does exist, but with a different hash than the one it's trying to use above.This is not new code, so something must have changed about how the custom stdenv works. Do we need to use replaceStdenv differently?
Metadata
Notify maintainers
The text was updated successfully, but these errors were encountered: