[core-updates]: Fonts not working on foreign distro (Debian)

OpenSubmitted by Leo Famulari.
Details
5 participants
  • Bengt Richter
  • Grey Seeker
  • Leo Famulari
  • Marius Bakke
  • Tobias Geerinckx-Rice
Owner
unassigned
Severity
normal
L
L
Leo Famulari wrote on 8 May 2020 02:55
(address . bug-guix@gnu.org)
20200508005501.GA5555@jasmine.lan
I'm having trouble with Guix packages using fonts from my Debian 10
system after a core-updates merge.

Using Inkscape from core-updates, the text I put in my SVG files fails
to display. When I look at the Inkscape 'Text and Font' tool, it shows
my chosen font with a red line through it, as though it can't find it.

It's similar with Hexchat; it no longer sees most of the fonts installed
by Debian.

The specific fonts in question are the URW fonts, aka the "PostScript
fonts", provided by Debian's gsfonts and gsfonts-x11 packages.

I tried `fc-cache -rv`. Using Debian's fc-cache, it looks like this:

------
$ fc-cache -rv
/usr/share/fonts: caching, new cache contents: 0 fonts, 6 dirs
/usr/share/fonts/X11: caching, new cache contents: 0 fonts, 6 dirs
/usr/share/fonts/X11/100dpi: caching, new cache contents: 358 fonts, 0 dirs
/usr/share/fonts/X11/75dpi: caching, new cache contents: 358 fonts, 0 dirs
/usr/share/fonts/X11/Type1: caching, new cache contents: 43 fonts, 0 dirs
/usr/share/fonts/X11/encodings: caching, new cache contents: 0 fonts, 1 dirs
/usr/share/fonts/X11/encodings/large: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/X11/misc: caching, new cache contents: 92 fonts, 0 dirs
/usr/share/fonts/X11/util: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/cMap: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/cmap: caching, new cache contents: 0 fonts, 5 dirs
/usr/share/fonts/cmap/adobe-cns1: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/cmap/adobe-gb1: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/cmap/adobe-japan1: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/cmap/adobe-japan2: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/cmap/adobe-korea1: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/opentype: caching, new cache contents: 0 fonts, 1 dirs
/usr/share/fonts/opentype/mathjax: caching, new cache contents: 24 fonts, 0 dirs
/usr/share/fonts/truetype: caching, new cache contents: 1 fonts, 8 dirs
/usr/share/fonts/truetype/anonymous-pro: caching, new cache contents: 4 fonts, 0 dirs
/usr/share/fonts/truetype/dejavu: caching, new cache contents: 22 fonts, 0 dirs
/usr/share/fonts/truetype/droid: caching, new cache contents: 1 fonts, 0 dirs
/usr/share/fonts/truetype/lato: caching, new cache contents: 18 fonts, 0 dirs
/usr/share/fonts/truetype/liberation: caching, new cache contents: 16 fonts, 0 dirs
/usr/share/fonts/truetype/noto: caching, new cache contents: 1 fonts, 0 dirs
/usr/share/fonts/truetype/unifont: caching, new cache contents: 4 fonts, 0 dirs
/usr/share/fonts/truetype/vlgothic: caching, new cache contents: 2 fonts, 0 dirs
/usr/share/fonts/type1: caching, new cache contents: 0 fonts, 1 dirs
/usr/share/fonts/type1/gsfonts: caching, new cache contents: 35 fonts, 0 dirs
/usr/X11R6/lib/X11/fonts: skipping, no such directory
/usr/local/share/fonts: caching, new cache contents: 0 fonts, 0 dirs
/home/leo/.local/share/fonts: caching, new cache contents: 0 fonts, 0 dirs
/home/leo/.fonts: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/X11: skipping, looped directory detected
/usr/share/fonts/cMap: skipping, looped directory detected
/usr/share/fonts/cmap: skipping, looped directory detected
/usr/share/fonts/opentype: skipping, looped directory detected
/usr/share/fonts/truetype: skipping, looped directory detected
/usr/share/fonts/type1: skipping, looped directory detected
/usr/share/fonts/X11/100dpi: skipping, looped directory detected
/usr/share/fonts/X11/75dpi: skipping, looped directory detected
/usr/share/fonts/X11/Type1: skipping, looped directory detected
/usr/share/fonts/X11/encodings: skipping, looped directory detected
/usr/share/fonts/X11/misc: skipping, looped directory detected
/usr/share/fonts/X11/util: skipping, looped directory detected
/usr/share/fonts/cmap/adobe-cns1: skipping, looped directory detected
/usr/share/fonts/cmap/adobe-gb1: skipping, looped directory detected
/usr/share/fonts/cmap/adobe-japan1: skipping, looped directory detected
/usr/share/fonts/cmap/adobe-japan2: skipping, looped directory detected
/usr/share/fonts/cmap/adobe-korea1: skipping, looped directory detected
/usr/share/fonts/opentype/mathjax: skipping, looped directory detected
/usr/share/fonts/truetype/anonymous-pro: skipping, looped directory detected
/usr/share/fonts/truetype/dejavu: skipping, looped directory detected
/usr/share/fonts/truetype/droid: skipping, looped directory detected
/usr/share/fonts/truetype/lato: skipping, looped directory detected
/usr/share/fonts/truetype/liberation: skipping, looped directory detected
/usr/share/fonts/truetype/noto: skipping, looped directory detected
/usr/share/fonts/truetype/unifont: skipping, looped directory detected
/usr/share/fonts/truetype/vlgothic: skipping, looped directory detected
/usr/share/fonts/type1/gsfonts: skipping, looped directory detected
/usr/share/fonts/X11/encodings/large: skipping, looped directory detected
/var/cache/fontconfig: not cleaning unwritable cache directory
/home/leo/.cache/fontconfig: cleaning cache directory
/home/leo/.fontconfig: not cleaning non-existent cache directory
/usr/bin/fc-cache: succeeded
------

And with Guix's fc-cache:

------
$ fc-cache -rv
/gnu/store/hbqlzgd8hcf6ndcmx7q7miqrsxb4dmkk-gs-fonts-8.11/share/fonts: caching, new cache contents: 0 fonts, 1 dirs
/gnu/store/hbqlzgd8hcf6ndcmx7q7miqrsxb4dmkk-gs-fonts-8.11/share/fonts/type1: caching, new cache contents: 0 fonts, 1 dirs
/gnu/store/hbqlzgd8hcf6ndcmx7q7miqrsxb4dmkk-gs-fonts-8.11/share/fonts/type1/ghostscript: caching, new cache contents: 35 fonts, 0 dirs
/home/leo/.guix-profile/share/fonts: caching, new cache contents: 0 fonts, 2 dirs
/home/leo/.guix-profile/share/fonts/misc: caching, new cache contents: 3 fonts, 0 dirs
/home/leo/.guix-profile/share/fonts/truetype: caching, new cache contents: 30 fonts, 0 dirs
/run/current-system/profile/share/fonts: skipping, no such directory
/home/leo/.local/share/fonts: caching, new cache contents: 0 fonts, 0 dirs
/home/leo/.local/share/fonts: failed to write cache
/home/leo/.fonts: caching, new cache contents: 0 fonts, 0 dirs
/home/leo/.fonts: failed to write cache
/gnu/store/hbqlzgd8hcf6ndcmx7q7miqrsxb4dmkk-gs-fonts-8.11/share/fonts/type1: skipping, looped directory detected
/home/leo/.guix-profile/share/fonts/misc: skipping, looped directory detected
/home/leo/.guix-profile/share/fonts/truetype: skipping, looped directory detected
/gnu/store/hbqlzgd8hcf6ndcmx7q7miqrsxb4dmkk-gs-fonts-8.11/share/fonts/type1/ghostscript: skipping, looped directory detected
/var/cache/fontconfig: not cleaning unwritable cache directory
/home/leo/.cache/fontconfig: cleaning cache directory
/home/leo/.fontconfig: not cleaning non-existent cache directory
fc-cache: failed
------

Note that fc-cache fails when using the Guix packaging of it. Also
interesting that Guix's fontconfig hard-codes the gs-fonts, but still
things do not work.
T
T
Tobias Geerinckx-Rice wrote on 8 May 2020 03:08
(name . Leo Famulari)(address . leo@famulari.name)(address . 41132@debbugs.gnu.org)
874ksr1bdm.fsf@nckx
Leo,

Leo Famulari 写道:
Toggle quote (2 lines)
> I tried `fc-cache -rv`. Using Debian's fc-cache, it looks like
> this:
[...]
Toggle quote (3 lines)
> /var/cache/fontconfig: not cleaning unwritable cache directory

> And with Guix's fc-cache:
[...]
Toggle quote (2 lines)
> /var/cache/fontconfig: not cleaning unwritable cache directory

This is certainly a classic. Have you tried deleting this stale
directory? Guix System does so for you, I suppose Debian does
not. It doesn't jive with unprivileged package management.

Kind regards,

T G-R
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQT12iAyS4c9C3o4dnINsP+IT1VteQUCXrSxJgAKCRANsP+IT1Vt
ebAOAQDyGvEdkib3KT3dCW0Yda/y3NwR2hatLq+waEVRtO12QAD9E0ZY20vf680B
KwGYI2FLLpiJoQZS0g6kJQO7ulfz/AU=
=ovcq
-----END PGP SIGNATURE-----

L
L
Leo Famulari wrote on 8 May 2020 03:49
(name . Tobias Geerinckx-Rice)(address . me@tobias.gr)(address . 41132@debbugs.gnu.org)
20200508014914.GA2269@jasmine.lan
On Fri, May 08, 2020 at 03:08:53AM +0200, Tobias Geerinckx-Rice wrote:
Toggle quote (6 lines)
> > /var/cache/fontconfig: not cleaning unwritable cache directory
>
> This is certainly a classic. Have you tried deleting this stale directory?
> Guix System does so for you, I suppose Debian does not. It doesn't jive
> with unprivileged package management.

Yes, it didn't make a difference for my fonts problem, or for fc-cache
itself:

------
$ fc-cache -rfv
/gnu/store/hbqlzgd8hcf6ndcmx7q7miqrsxb4dmkk-gs-fonts-8.11/share/fonts: caching, new cache contents: 0 fonts, 1 dirs
/gnu/store/hbqlzgd8hcf6ndcmx7q7miqrsxb4dmkk-gs-fonts-8.11/share/fonts/type1: caching, new cache contents: 0 fonts, 1 dirs
/gnu/store/hbqlzgd8hcf6ndcmx7q7miqrsxb4dmkk-gs-fonts-8.11/share/fonts/type1/ghostscript: caching, new cache contents: 35 fonts, 0 dirs
/home/leo/.guix-profile/share/fonts: caching, new cache contents: 0 fonts, 2 dirs
/home/leo/.guix-profile/share/fonts/misc: caching, new cache contents: 3 fonts, 0 dirs
/home/leo/.guix-profile/share/fonts/truetype: caching, new cache contents: 30 fonts, 0 dirs
/run/current-system/profile/share/fonts: skipping, no such directory
/home/leo/.local/share/fonts: caching, new cache contents: 0 fonts, 0 dirs
/home/leo/.local/share/fonts: failed to write cache
/home/leo/.fonts: caching, new cache contents: 0 fonts, 0 dirs
/home/leo/.fonts: failed to write cache
/gnu/store/hbqlzgd8hcf6ndcmx7q7miqrsxb4dmkk-gs-fonts-8.11/share/fonts/type1: skipping, looped directory detected
/home/leo/.guix-profile/share/fonts/misc: skipping, looped directory detected
/home/leo/.guix-profile/share/fonts/truetype: skipping, looped directory detected
/gnu/store/hbqlzgd8hcf6ndcmx7q7miqrsxb4dmkk-gs-fonts-8.11/share/fonts/type1/ghostscript: skipping, looped directory detected
/var/cache/fontconfig: not cleaning non-existent cache directory
/home/leo/.cache/fontconfig: cleaning cache directory
/home/leo/.fontconfig: not cleaning non-existent cache directory
fc-cache: failed
------

I doubt it's related to my main report, which is that things used to
"just work" to the degree that I never used fc-cache before.
L
L
Leo Famulari wrote on 8 May 2020 04:25
(name . Tobias Geerinckx-Rice)(address . me@tobias.gr)(address . 41132@debbugs.gnu.org)
20200508022544.GA9210@jasmine.lan
For the sake of trying something, I'm going to try patching fontconfig
with this patch that other distros (Debian and Arch) are using:


I don't know how fontconfig works but that patch fixed serious problems
on those distros, yet it hasn't been released by fontconfig yet.
M
M
Marius Bakke wrote on 8 May 2020 10:59
87mu6i3ipp.fsf@devup.no
Leo Famulari <leo@famulari.name> writes:

Toggle quote (10 lines)
> I'm having trouble with Guix packages using fonts from my Debian 10
> system after a core-updates merge.
>
> Using Inkscape from core-updates, the text I put in my SVG files fails
> to display. When I look at the Inkscape 'Text and Font' tool, it shows
> my chosen font with a red line through it, as though it can't find it.

> It's similar with Hexchat; it no longer sees most of the fonts installed
> by Debian.

Just to be clear, these programs are able to find fonts you have
installed through Guix, right?

Toggle quote (3 lines)
> The specific fonts in question are the URW fonts, aka the "PostScript
> fonts", provided by Debian's gsfonts and gsfonts-x11 packages.

Are those the only affected fonts?

Toggle quote (2 lines)
> $ fc-cache -rv

[...]

Toggle quote (3 lines)
> /home/leo/.local/share/fonts: caching, new cache contents: 0 fonts, 0 dirs
> /home/leo/.local/share/fonts: failed to write cache

[...]

Toggle quote (3 lines)
> /home/leo/.fonts: caching, new cache contents: 0 fonts, 0 dirs
> /home/leo/.fonts: failed to write cache

[...]

Toggle quote (2 lines)
> fc-cache: failed

FWIW the new fc-cache fails for me on Guix System too if I create these
empty directories.

Can you inspect 'fc-list ' with the new and old fontconfig? Are there
differences?
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl61H4IACgkQoqBt8qM6
VPrQQggAn7NhAogqCwNRV8Tlw2qoJRyY+wSq+sGmGCfEjq0+lENq/1YXo2qdX2zJ
NEHDYKL91KFK3EMfNZOawTdGSoWBomccNOaE1FcrC6qIQGiGTwbs/p4JwK/mcBti
SueUE9h2XfdxDg3RgK9BXSniSLD6KS9R/L2eb4hlUCuAvSmtyDDlQj4iRijrs8qK
eR0IjRHenfvoJHBGmb4KBLIcntsT9C+wiakHvzaW3BBttPXK4bJNP7SPometL5B1
8WEr6pOPuR7cwGs7pV2lv6ArGMvha5L6xr9MoYeN3WQcwBBx2LbLx1dI517riTxx
njxR2eNqBMsK2efV3tSkTIM3RKJ8Dw==
=LUxy
-----END PGP SIGNATURE-----

L
L
Leo Famulari wrote on 8 May 2020 20:08
(name . Marius Bakke)(address . mbakke@fastmail.com)(address . 41132@debbugs.gnu.org)
20200508180851.GA11754@jasmine.lan
On Fri, May 08, 2020 at 10:59:46AM +0200, Marius Bakke wrote:
Toggle quote (3 lines)
> Just to be clear, these programs are able to find fonts you have
> installed through Guix, right?

They can find the font packages I install with Guix, but not the
hard-coded PostScript fonts.

Toggle quote (5 lines)
> > The specific fonts in question are the URW fonts, aka the "PostScript
> > fonts", provided by Debian's gsfonts and gsfonts-x11 packages.
>
> Are those the only affected fonts?

I looked more closely, and Guix applications can no longer see *any*
fonts from Debian.

Toggle quote (19 lines)
> > $ fc-cache -rv
>
> [...]
>
> > /home/leo/.local/share/fonts: caching, new cache contents: 0 fonts, 0 dirs
> > /home/leo/.local/share/fonts: failed to write cache
>
> [...]
>
> > /home/leo/.fonts: caching, new cache contents: 0 fonts, 0 dirs
> > /home/leo/.fonts: failed to write cache
>
> [...]
>
> > fc-cache: failed
>
> FWIW the new fc-cache fails for me on Guix System too if I create these
> empty directories.

Confirmed. fc-cache exited successfully when I removed those directories.

Toggle quote (3 lines)
> Can you inspect 'fc-list ' with the new and old fontconfig? Are there
> differences?

The only differences, after running `fc-cache -rfv`, are the differing
store paths of the hard-coded gs-fonts package.

Another thing I noticed is that I can do `fc-cache -rfv /usr/share/fonts
&& fc-list`, and the hundreds of fonts found in that directory are *not
shown* in fc-list, but that's the same as on the master branch.

So, I'm still not sure what the difference is.
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEsFFZSPHn08G5gDigJkb6MLrKfwgFAl61oDAACgkQJkb6MLrK
fwggpBAArzvWSoalJ+bfL5Fnr7391Nlwx5fLjqtJwf9JCrGYRt72Kv4STzh4/l9v
W83Pfgf5yegndaeNV7B6UtrRZSHdCAI/3ZmPduzLx+kV43+9NUJ2YMpXOJatsmLl
3+qeoa1Ej4pTYouhp4MOjmsPGPVgETcNSxiUy135WqSJGGmOT+h0vvnsmzmQEHu5
p2KJENssIIww1INKs5kJ9dOliYErWf+2p89AAP5XMibQWchrYcItManufyXzRffq
lkBbrnaj9WpvINWY7qEvf0eKBR303ihxwRsC72ztSxVZd1IFkN0vbJjrDZ9E3fHk
4CUiQxBaKogqBDhtO0evyONbG4bNImfPYMrA/9KajTd7JKe+StjGcg1k3Y2Hu6zm
LivTwLjs4+w0YPft2L3Db9VpASskwu5VOjmuje6alb+eu7UoQQqjS3TE5l9ONXi1
9+EkTrNBlwlDZP20BXJLugwgrcezkHada1SFpzCsI/+kkVukCuUJbCaLagXiDOVQ
zoKxmiVMCotY8b7NKD8NWcz00V4RiYH6SounCu29ZmkzZFcbJAS6+VxVHMIucABX
6Y7skqz39swLFZj/kuLwJwMtBCAYJdkck/W+PpNKN7WbcXdz6p1W0nKrm/Mc4MkS
n9AdjPlB7OxmmxvMimeLPKOFXBMoN+2/JuPiUdHQFo+KfBlT9no=
=kRg9
-----END PGP SIGNATURE-----


L
L
Leo Famulari wrote on 8 May 2020 21:23
(address . 41132@debbugs.gnu.org)
20200508192332.GA311@jasmine.lan
On Thu, May 07, 2020 at 10:25:44PM -0400, Leo Famulari wrote:
Toggle quote (8 lines)
> For the sake of trying something, I'm going to try patching fontconfig
> with this patch that other distros (Debian and Arch) are using:
>
> https://salsa.debian.org/freedesktop-team/fontconfig/-/blob/master/debian/patches/do_not_remove_uuid.patch
>
> I don't know how fontconfig works but that patch fixed serious problems
> on those distros, yet it hasn't been released by fontconfig yet.

This didn't have any effect.
B
B
Bengt Richter wrote on 9 May 2020 00:18
(name . Leo Famulari)(address . leo@famulari.name)
20200508221846.GA3220@LionPure
Hi Leo, et al,

On +2020-05-08 14:08:51 -0400, Leo Famulari wrote:
Toggle quote (48 lines)
> On Fri, May 08, 2020 at 10:59:46AM +0200, Marius Bakke wrote:
> > Just to be clear, these programs are able to find fonts you have
> > installed through Guix, right?
>
> They can find the font packages I install with Guix, but not the
> hard-coded PostScript fonts.
>
> > > The specific fonts in question are the URW fonts, aka the "PostScript
> > > fonts", provided by Debian's gsfonts and gsfonts-x11 packages.
> >
> > Are those the only affected fonts?
>
> I looked more closely, and Guix applications can no longer see *any*
> fonts from Debian.
>
> > > $ fc-cache -rv
> >
> > [...]
> >
> > > /home/leo/.local/share/fonts: caching, new cache contents: 0 fonts, 0 dirs
> > > /home/leo/.local/share/fonts: failed to write cache
> >
> > [...]
> >
> > > /home/leo/.fonts: caching, new cache contents: 0 fonts, 0 dirs
> > > /home/leo/.fonts: failed to write cache
> >
> > [...]
> >
> > > fc-cache: failed
> >
> > FWIW the new fc-cache fails for me on Guix System too if I create these
> > empty directories.
>
> Confirmed. fc-cache exited successfully when I removed those directories.
>
> > Can you inspect 'fc-list ' with the new and old fontconfig? Are there
> > differences?
>
> The only differences, after running `fc-cache -rfv`, are the differing
> store paths of the hard-coded gs-fonts package.
>
> Another thing I noticed is that I can do `fc-cache -rfv /usr/share/fonts
> && fc-list`, and the hundreds of fonts found in that directory are *not
> shown* in fc-list, but that's the same as on the master branch.
>
> So, I'm still not sure what the difference is.

Didn't I just see a permissions-related bug reminiscent of this go by a short while ago?
Could it be related? Do the dir/file perms look normal?

--
Regards,
Bengt Richter
L
L
Leo Famulari wrote on 9 May 2020 00:52
(name . Bengt Richter)(address . bokr@bokr.com)
20200508225241.GA6953@jasmine.lan
On Sat, May 09, 2020 at 12:18:46AM +0200, Bengt Richter wrote:
Toggle quote (3 lines)
> Didn't I just see a permissions-related bug reminiscent of this go by a short while ago?
> Could it be related? Do the dir/file perms look normal?

Upthread, Tobias pointed out that fc-cache didn't have permissions for
/var/cache/fontconfig, but deleting that didn't seem to make a
difference. Could that be what you were thinking about?
B
B
Bengt Richter wrote on 11 May 2020 18:49
(name . Leo Famulari)(address . leo@famulari.name)
20200511164910.GA5379@LionPure
Hi Leo,

On +2020-05-08 18:52:41 -0400, Leo Famulari wrote:
Toggle quote (8 lines)
> On Sat, May 09, 2020 at 12:18:46AM +0200, Bengt Richter wrote:
> > Didn't I just see a permissions-related bug reminiscent of this go by a short while ago?
> > Could it be related? Do the dir/file perms look normal?
>
> Upthread, Tobias pointed out that fc-cache didn't have permissions for
> /var/cache/fontconfig, but deleting that didn't seem to make a
> difference. Could that be what you were thinking about?

No, I think it was about a deferred build action created as root
and bits needed for later phase or context, as non-root, were inaccessible.
Sorry for the noise.

--
Regards,
Bengt Richter
G
G
Grey Seeker wrote on 17 May 2020 06:05
[core-updates]: Fonts not working on foreign distro (Debian)
(address . 41132@debbugs.gnu.org)
CAJs72a0CKg+diNVL5xs-FZzKSJXcB71QU3qZ=Ngvn=RxzJ2PKw@mail.gmail.com
I'm having the same issue in a Guix System. After a pull and reconfigure
all the fonts in Xfce are messed up. After a lot of meddling and help from
#guix IRC, it seems installing font-dejavu and running fc-cache -rv after
that "solves" the problem. I have done the guix pull and reconfigure in
multiple Guix VMs, both with "sudo -i" and normally, just in case the
underlying system is out of date and causing these issues, but they all
lead to the same situation.
Attachment: file
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send email to 41132@debbugs.gnu.org