[-- Attachment #1: Type: text/plain, Size: 7414 bytes --] Asymptote only succeeds building randomly on Berlin. On my machine, it systematically fails with --8<---------------cut here---------------start------------->8--- $ guix build --check --no-grafts asymptote [...] starting phase `install' if test ! -s revision.cc || test "2.61" != "2.61"; then \ echo "const char *REVISION="\"2.61\"\; > revision.cc; \ echo const char *AsyGLVersion=\"1.00\"\; >> revision.cc; \ if test ! -e base/webgl/asygl.js; then \ cp base/webgl/asygl-1.00.js base/webgl/asygl.js; \ fi \ fi g++ -Wall -DHAVE_CONFIG_H -D_FILE_OFFSET_BITS=64 -DUSEGC -pthread -DFFTWPP_SINGLE_THREAD -I/gnu/store/3xs3dnc28p9fi8in7hkfcdx20incrdvq-libgc-7.6.12/include/gc -I/usr/include/tirpc -std=c++11 -g -O3 -fno-var-tracking -o revision.o -c revision.cc; echo string VERSION=\"2.61\"\; > base/version.asy echo @set VERSION 2.61 > doc/version.texi echo @set Datadir /gnu/store/6x374bczmq65fr7qglqxwjhhwlqjlyq1-asymptote-2.61/share >> doc/version.texi echo "#!/usr/bin/env python3" > GUI/xasyVersion.py echo xasyVersion = \"2.61\" >> GUI/xasyVersion.py if test -n ""; then \ cat asy.rc | sed -e "s/ASYMPTOTE_VERSION/2.61/" | \ windres -o asy.o; \ fi if test -n ""; then \ g++ -Wall -DHAVE_CONFIG_H -D_FILE_OFFSET_BITS=64 -DUSEGC -pthread -DFFTWPP_SINGLE_THREAD -I/gnu/store/3xs3dnc28p9fi8in7hkfcdx20incrdvq-libgc-7.6.12/include/gc -I/usr/include/tirpc -std=c++11 -g -O3 -fno-var-tracking -o asy camperror.o path.o drawpath.o drawlabel.o picture.o psfile.o texfile.o util.o settings.o guide.o flatguide.o knot.o drawfill.o path3.o drawpath3.o drawsurface.o beziercurve.o bezierpatch.o pen.o pipestream.o types.o builtin.o gsl.o runtime.o runbacktrace.o runpicture.o runlabel.o runhistory.o runarray.o runfile.o runsystem.o runpair.o runtriple.o runpath.o runpath3d.o runstring.o runmath.o env.o genv.o stm.o dec.o errormsg.o callable.o name.o symbol.o entry.o exp.o newexp.o stack.o camp.tab.o lex.yy.o access.o virtualfieldaccess.o absyn.o record.o interact.o fileio.o fftw++asy.o simpson.o coder.o coenv.o impdatum.o locate.o parser.o program.o application.o varinit.o fundec.o refaccess.o envcompleter.o process.o constructor.o array.o Delaunay.o predicates.o PRCbitStream.o oPRCFile.o PRCdouble.o writePRC.o glrender.o tr.o shaders.o jsfile.o main.o revision.o asy.o glew.o -lglut -lrt -lz -L/gnu/store/3xs3dnc28p9fi8in7hkfcdx20incrdvq-libgc-7.6.12/lib -lgc -lreadline -ltermcap -lfftw3 -lgsl -lgslcblas -lGL -lgdi32 -lwinmm -s -static; \ else \ ln -sf GUI/xasy.py xasy; \ g++ -Wall -DHAVE_CONFIG_H -D_FILE_OFFSET_BITS=64 -DUSEGC -pthread -DFFTWPP_SINGLE_THREAD -I/gnu/store/3xs3dnc28p9fi8in7hkfcdx20incrdvq-libgc-7.6.12/include/gc -I/usr/include/tirpc -std=c++11 -g -O3 -fno-var-tracking -o asy camperror.o path.o drawpath.o drawlabel.o picture.o psfile.o texfile.o util.o settings.o guide.o flatguide.o knot.o drawfill.o path3.o drawpath3.o drawsurface.o beziercurve.o bezierpatch.o pen.o pipestream.o types.o builtin.o gsl.o runtime.o runbacktrace.o runpicture.o runlabel.o runhistory.o runarray.o runfile.o runsystem.o runpair.o runtriple.o runpath.o runpath3d.o runstring.o runmath.o env.o genv.o stm.o dec.o errormsg.o callable.o name.o symbol.o entry.o exp.o newexp.o stack.o camp.tab.o lex.yy.o access.o virtualfieldaccess.o absyn.o record.o interact.o fileio.o fftw++asy.o simpson.o coder.o coenv.o impdatum.o locate.o parser.o program.o application.o varinit.o fundec.o refaccess.o envcompleter.o process.o constructor.o array.o Delaunay.o predicates.o PRCbitStream.o oPRCFile.o PRCdouble.o writePRC.o glrender.o tr.o shaders.o jsfile.o main.o revision.o glew.o -lglut -lrt -lz -L/gnu/store/3xs3dnc28p9fi8in7hkfcdx20incrdvq-libgc-7.6.12/lib -lgc -lreadline -lncurses -lfftw3 -lgsl -lgslcblas -lGL ; \ fi Creating asy-keywords.el ./asy -dir base -config "" -render=0 -l > asy.list ls base/*.asy | grep -v plain\* | \ grep -v three_\* | grep -v featpost3D | xargs ./asy -dir base -config "" -render=0 -l >> asy.list perl ./asy-list.pl asy.list 2.61 cd doc && make asy-latex.pdf make[1]: Entering directory '/tmp/guix-build-asymptote-2.61.drv-0/asymptote-2.61/doc' pdflatex asy-latex.dtx This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018) (preloaded format=pdflatex) restricted \write18 enabled. entering extended mode (./asy-latex.dtx LaTeX2e <2018-04-01> patch level 2 (/gnu/store/21mmsf9y6wjb1lj8kphdc1mqdgp00xrd-texlive-union-49435/share/texmf-dist/tex/latex/base/docstrip.tex Utility: `docstrip' 2.5e <2014/09/29> English documentation <2017/03/13> ********************************************************** * This program converts documented macro-files into fast * * loadable files by stripping off (nearly) all comments! * ********************************************************** ******************************************************** * No Configuration file found, using default settings. * ******************************************************** )Input index file asy-latex.idx not found. Usage: makeindex [-ilqrcgLT] [-s sty] [-o ind] [-t log] [-p num] [idx0 idx1 ...] system returned with code 256 Input index file asy-latex.glo not found. Usage: makeindex [-ilqrcgLT] [-s sty] [-o ind] [-t log] [-p num] [idx0 idx1 ...] system returned with code 256 Generating file(s) ./asymptote.sty Processing file asy-latex.dtx (pkg) -> asymptote.sty Lines processed: 722 Comments removed: 282 Comments passed: 0 Codelines passed: 424 Generating file(s) ./asy-latex.ins Processing file asy-latex.dtx (batchfile) -> asy-latex.ins Lines processed: 722 Comments removed: 282 Comments passed: 0 Codelines passed: 424 (/gnu/store/21mmsf9y6wjb1lj8kphdc1mqdgp00xrd-texlive-union-49435/share/texmf-dist/tex/latex/base/ltxdoc.cls Document Class: ltxdoc 2018/03/15 v2.0x Standard LaTeX documentation class (/gnu/store/21mmsf9y6wjb1lj8kphdc1mqdgp00xrd-texlive-union-49435/share/texmf-dist/tex/latex/base/article.cls Document Class: article 2014/09/29 v1.4h Standard LaTeX document class (/gnu/store/21mmsf9y6wjb1lj8kphdc1mqdgp00xrd-texlive-union-49435/share/texmf-dist/tex/latex/base/size10.clo)) (/gnu/store/21mmsf9y6wjb1lj8kphdc1mqdgp00xrd-texlive-union-49435/share/texmf-dist/tex/latex/base/doc.sty (/gnu/store/21mmsf9y6wjb1lj8kphdc1mqdgp00xrd-texlive-union-49435/share/texmf-dist/tex/latex/tools/multicol.sty))) Writing index file asy-latex.idx No file asy-latex.aux. (./asy-latex.dtx ! Math formula deleted: Insufficient symbol fonts. \endtabular ->\crcr \egroup \egroup $ \egroup l.60 % \maketitle ? ! Emergency stop. \endtabular ->\crcr \egroup \egroup $ \egroup l.60 % \maketitle ! ==> Fatal error occurred, no output PDF file produced! Transcript written on asy-latex.log. make[1]: *** [Makefile:20: asy-latex.pdf] Error 1 make[1]: Leaving directory '/tmp/guix-build-asymptote-2.61.drv-0/asymptote-2.61/doc' make: *** [Makefile:183: sty] Error 2 command "make" "install" failed with status 2 builder for `/gnu/store/n96jkms4b54jl7g261qk9ykrx6pdfdrl-asymptote-2.61.drv' failed with exit code 1 build of /gnu/store/n96jkms4b54jl7g261qk9ykrx6pdfdrl-asymptote-2.61.drv failed --8<---------------cut here---------------end--------------->8--- -- Pierre Neidhardt https://ambrevar.xyz/ [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --]
[-- Attachment #1: Type: text/plain, Size: 1578 bytes --] 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. [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: foo.diff --] [-- Type: text/x-patch, Size: 661 bytes --] 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 [-- Attachment #3: Type: text/plain, Size: 22 bytes --] Thanks! -- Ricardo
[-- Attachment #1: Type: text/plain, Size: 190 bytes --] Hi Ricardo, Excellent investigation, and it turns out that it did the trick for Asymptote! Feel free to patch it. Thank you so much! -- Pierre Neidhardt https://ambrevar.xyz/ [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 511 bytes --]
Pierre Neidhardt <mail@ambrevar.xyz> writes:
> Excellent investigation, and it turns out that it did the trick
> for
> Asymptote! Feel free to patch it.
Great! It’s fixed with commit
41bbbd53d2a4b8ad059c9a943e28fe7dda479149.
--
Ricardo