(address . bug-guix@gnu.org)
Since my last full upgrade on June 9 2020, I found that if I have
font-dejavu installed in my profile, my terminal (rxvt-unicode) no
longer finds the font selected in my ~/.Xresources file.
I'm using Guix on Debian, and all the packages involved are installed by
Guix. They are rxvt-unicode, font-anonymous-pro, and font-dejavu.
I strace-d the terminal startup.
In the good case, it reads and loads a bunch font-related things before
it finally loads my specified font from its symlink in
'~/.guix-profile/share/fonts'.
In the bad case, this work is cut short before it loads the DejaVu font
directly from the store.
I've attached excerpts of these traces as 'good.log' and 'bad.log'.
Here is a manifest to test the effect:
------
(specifications->manifest
'(glibc-utf8-locales"
"rxvt-unicode"
"font-anonymous-pro"
"font-gnu-unifont:pcf"
"font-gnu-unifont:psf"
"font-gnu-unifont:bin"
"font-gnu-unifont"
"font-dejavu" ; comment this package to toggle the bug on and off
))
------
And the ~/.Xresources file:
------
Urxvt*scrollBar: false
URxvt*font: xft:Anonymous Pro:pixelsize=13:antialiasing=true \
xft:unifont:style=Medium:antialias=false:size=16
Xft.hinting: 1
Xft.hintstyle: hintfull
!
! this is a comment
!urxvt*foreground:White
!urxvt*background:Black
urxvt*foreground:Black
urxvt*background:White
------
access("/run/current-system/profile/share/fonts/.uuid", F_OK) = -1 ENOENT (No such file or directory)
stat("/run/current-system/profile/share/fonts", 0x7ffdf3865e30) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/run/current-system/profile/share/fonts/.uuid", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/run/current-system/profile/share/fonts", 0x7ffdf3865d80) = -1 ENOENT (No such file or directory)
stat("/run/current-system/profile/share/fonts", 0x7ffdf3865e30) = -1 ENOENT (No such file or directory)
access("/home/leo/.local/share/fonts/.uuid", F_OK) = -1 ENOENT (No such file or directory)
stat("/home/leo/.local/share/fonts", 0x7ffdf3865e30) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/leo/.local/share/fonts/.uuid", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/home/leo/.local/share/fonts", 0x7ffdf3865d80) = -1 ENOENT (No such file or directory)
stat("/home/leo/.local/share/fonts", 0x7ffdf3865e30) = -1 ENOENT (No such file or directory)
access("/home/leo/.fonts/.uuid", F_OK) = -1 ENOENT (No such file or directory)
stat("/home/leo/.fonts", 0x7ffdf3865e30) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/leo/.fonts/.uuid", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/home/leo/.fonts", 0x7ffdf3865d80) = -1 ENOENT (No such file or directory)
stat("/home/leo/.fonts", 0x7ffdf3865e30) = -1 ENOENT (No such file or directory)
access("/gnu/store/7y3lvk3xf4im8n44337mc6y0ccysvfia-font-dejavu-2.37/share/fonts/truetype/.uuid", F_OK) = 0
openat(AT_FDCWD, "/gnu/store/7y3lvk3xf4im8n44337mc6y0ccysvfia-font-dejavu-2.37/share/fonts/truetype/.uuid", O_RDONLY|O_CLOEXEC) = 7
read(7, "25a0e546-f6b7-4bf9-96fd-8daeea9d"..., 36) = 36
close(7) = 0
stat("/gnu/store/7y3lvk3xf4im8n44337mc6y0ccysvfia-font-dejavu-2.37/share/fonts/truetype", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/gnu/store/7y3lvk3xf4im8n44337mc6y0ccysvfia-font-dejavu-2.37/share/fonts/truetype", O_RDONLY|O_CLOEXEC) = 7
fstatfs(7, {f_type=EXT2_SUPER_MAGIC, f_bsize=4096, f_blocks=11046477, f_bfree=1532598, f_bavail=1005693, f_files=2812544, f_ffree=1645405, f_fsid={val=[2007808024, 1053604465]}, f_namelen=255, f_frsize=4096, f_flags=ST_VALID|ST_RELATIME}) = 0
close(7) = 0
openat(AT_FDCWD, "/var/cache/fontconfig/25a0e546-f6b7-4bf9-96fd-8daeea9d7547-le64.cache-7", O_RDONLY|O_CLOEXEC) = 7
fstat(7, {st_mode=S_IFREG|0644, st_size=48472, ...}) = 0
fstatfs(7, {f_type=EXT2_SUPER_MAGIC, f_bsize=4096, f_blocks=11046477, f_bfree=1532598, f_bavail=1005693, f_files=2812544, f_ffree=1645405, f_fsid={val=[2007808024, 1053604465]}, f_namelen=255, f_frsize=4096, f_flags=ST_VALID|ST_RELATIME}) = 0
mmap(NULL, 48472, PROT_READ, MAP_SHARED, 7, 0) = 0x7fc27926e000
fadvise64(7, 0, 48472, POSIX_FADV_WILLNEED) = 0
close(7) = 0
access("/home/leo/.guix-profile/share/fonts/truetype/.uuid", F_OK) = 0
openat(AT_FDCWD, "/home/leo/.guix-profile/share/fonts/truetype/.uuid", O_RDONLY|O_CLOEXEC) = 7
read(7, "25a0e546-f6b7-4bf9-96fd-8daeea9d"..., 36) = 36
close(7) = 0
stat("/home/leo/.guix-profile/share/fonts/truetype", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/home/leo/.guix-profile/share/fonts/truetype", O_RDONLY|O_CLOEXEC) = 7
fstatfs(7, {f_type=EXT2_SUPER_MAGIC, f_bsize=4096, f_blocks=11046477, f_bfree=1532598, f_bavail=1005693, f_files=2812544, f_ffree=1645405, f_fsid={val=[2007808024, 1053604465]}, f_namelen=255, f_frsize=4096, f_flags=ST_VALID|ST_RELATIME}) = 0
close(7) = 0
openat(AT_FDCWD, "/var/cache/fontconfig/25a0e546-f6b7-4bf9-96fd-8daeea9d7547-le64.cache-7", O_RDONLY|O_CLOEXEC) = 7
fstat(7, {st_mode=S_IFREG|0644, st_size=48472, ...}) = 0
close(7) = 0
readlink("/proc/self/exe", "/gnu/store/g1pj95635r3n2ww1j6rx1"..., 4095) = 71
openat(AT_FDCWD, "/gnu/store/7y3lvk3xf4im8n44337mc6y0ccysvfia-font-dejavu-2.37/share/fonts/truetype/DejaVuSans.ttf", O_RDONLY) = 7