On 2021-10-29, Ludovic Courtès wrote: > Vagrant Cascadian skribis: > >> Most things seem to work fine, but noticed an oddity with guix shell: >> >> vagrant@vagranttdgxbookworm:~$ guix shell --pure --check --development guix guix git less >> >> guix shell: checking the environment variables visible from shell >> '/bin/bash'... >> guix shell: warning: variable 'PKG_CONFIG_PATH' is missing from shell > > [...] > >> vagrant@vagranttdgxbookworm:~$ guix shell --pure --development guix guix git less >> >> vagrant@vagranttdgxbookworm:~$ echo $PKG_CONFIG_PATH >> /gnu/store/9vk59alg27y0cp1za91nfdjiy718cn1f-profile/lib/pkgconfig > > Notice that it doesn’t complain about any of the other environment > variables (there are 10 of them according to ‘guix shell -D guix > --search-paths|wc -l’). > > If you look at ‘child-shell-environment’ in (guix scripts environment), > it runs this in the child shell: > > env || /usr/bin/env || set; echo GUIX-CHECK-DONE; read x; exit > > If the shell prints non-newline-terminated stuff before the output of > ‘env’, the first line of ‘env’ would be swallowed by the parser below. > > Could you run: > > strace -o log -s 500 guix shell --check -D guix > > to see exactly what ‘guix shell’ reads? That showed nothing obvious to me; the log it spits out is about 3MB (~320k compressed with zstd) I could attach if it is useful... I did notice SHELL=/bin/bash, and tried an experiment: $ SHELL=/gnu/store/87kif0bpf0anwbsaw0jvg8fyciw4sz67-bash-5.0.16/bin/bash guix shell --check -D guix guix shell: checking the environment variables visible from shell '/gnu/store/87kif0bpf0anwbsaw0jvg8fyciw4sz67-bash-5.0.16/bin/bash'... guix shell: All is good! The shell gets correct environment variables. So, somehow the value of SHELL and/or the user's default shell is triggering the issue? live well, vagrant