Subject: bug#39101: asymptote build fails: Math formula deleted: Insufficient symbol fonts.

From: Ricardo Wurmus <[email-masked]>
Date: Wed, 05 May 2021 15:53:29 +0200

Hi Pierre,

> Asymptote only succeeds building randomly on Berlin.  On my 
> machine, it
> systematically fails with
[…]
> ! Math formula deleted: Insufficient symbol fonts.

Lars and I just ran into this problem with python-nbconvert after 
I changed it to use texlive-union.  It built just fine on our 
respective laptops, but it would fail on ci.guix.gnu.org and 
another build farm.

Because TeX is a mystery to me I resorted to running the failing 
xelatex invocation under strace on ci.guix.gnu.org and my laptop 
to see where they diverge.  LaTeX looks for fonts by reading the 
“share/texmf-dist/fonts/tfm/” directory in the texlive-union; on 
the different machines the order of directories differed.  On my 
laptop LaTeX would find the fonts provided by texlive-cm first; on 
the build farms it would find the fonts provided by 
texlive-amsfonts first.

The immediate problem here was that texlive-amsfonts accidentally 
produced too many fonts — not just those it should but also 
conversions of files from its own inputs, including those provided 
by texlive-cm.  So I added texlive-amsfonts/patched in commit 
9db67988242ad514fa900e840b1494bda6001d6b (we can’t change 
texlive-amsfonts on the “master” branch) and rebuilt 
python-nbconvert with that new texlive-union.  Now that there are 
no duplicate fonts, LaTeX won’t find the wrong font first and the 
build succeeded.

I’m suspecting that its the same problem with asymptote.

Could you please try this patch and report back?  It builds fine 
for me.

diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm
index 7f59bae770..4b89ddafd1 100644
--- a/gnu/packages/plotutils.scm
+++ b/gnu/packages/plotutils.scm
@@ -224,7 +224,7 @@ colors, styles, options and details.")
        ("perl" ,perl)
        ("texinfo" ,texinfo)             ;For generating documentation
        ;; For the manual and the tests.
-       ("texlive" ,(texlive-union (list texlive-amsfonts
+       ("texlive" ,(texlive-union (list texlive-amsfonts/patched
                                         texlive-epsf
                                         texlive-etoolbox
                                         texlive-latex-base

Thanks!

-- 
Ricardo