all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Andreas Enge <andreas@enge.fr>
To: Ricardo Wurmus <rekado@elephly.net>, 64827@debbugs.gnu.org
Cc: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Subject: bug#64827: Texlive has become slow
Date: Tue, 25 Jul 2023 10:42:24 +0200	[thread overview]
Message-ID: <ZL-K8C-tVZdK1eFm@jurong> (raw)
In-Reply-To: <87sf9darmu.fsf@elephly.net>

Hello,

Am Tue, Jul 25, 2023 at 12:09:06AM +0200 schrieb Ricardo Wurmus:
> > I can't find the format file `pdflatex.fmt'!
> This sounds like a sibling of https://issues.guix.gnu.org/64729

it looks similar indeed. But notice that I use the monolithic package
"texlive".

And I just tried it again and - it just works! In the meantime, I have
rebooted. And while I thought I had done it, I must have forgotten to
include $GUIX_PROFILE/etc/profile for updating environment variables.

However, it has become extremely slow. When compiling a 42 page document:
real	0m22,757s
user	0m7,243s
sys	0m15,370s
Before it even outputs the first page of the document, I get pages and
pages of screen output looking like lisp code:
(/home/enge/.guix-profile/share/texmf-dist/tex/latex/amsmath/amstext.sty (/home/enge/.guix-profile/share/texmf-dist/tex/latex/amsmath/amsgen.sty)) (/home/enge/.guix-profile/share/texmf-dist/tex/latex/amsmath/amsbsy.sty) (/home/enge/.guix-profile/share/texmf-dist/tex/latex/amsmath/amsopn.sty)) ...

This is compared to before:
real	0m1,426s
user	0m1,191s
sys	0m0,113s
Where the lisp style lines look like this:
(/gnu/store/m2hpk7ycdqj6n1nbjnd3d4l088m79smx-texlive-texmf-20210325/share/texmf
-dist/tex/latex/amsmath/amstext.sty
(/gnu/store/m2hpk7ycdqj6n1nbjnd3d4l088m79smx-texlive-texmf-20210325/share/texmf
-dist/tex/latex/amsmath/amsgen.sty))

The difference is that before, /home/enge/.guix-profile/share/texmf-dist
was directly a symbolic link into the store. Now it is a directory, and
each file in it is its own symbolic link to a file in the store, and
resolving them apparently takes a lot of time.

I am confused as to why this happens.
/home/enge/.guix-profile/share/texmf-dist contains 28 symbolic links,
26 of which point to directories and 2 to files (ls-R and README) in
/gnu/store/88apcyl30irw6v03gmyav638wq31k9xq-texlive-20230313/share/texmf-dist/
Then there is the "physical" directory web2c. It contains 47 separate
symbolic links to files and directories in
/gnu/store/88apcyl30irw6v03gmyav638wq31k9xq-texlive-20230313/share/texmf-dist/web2c.

I do not understand why not the complete texmf-dist is a symbolic link
as before, as the content seems to be the same, which should be handled
during the profile creation.
Maybe because of this in the definition of the texlive package:
      ;; Build the union of texlive-bin-full and texlive-texmf, but take the
      ;; conflicting subdirectory share/texmf-dist from texlive-texmf.
What is the role of texlive-bin-full? Why does it contain share/texmf-dist?
The basic architecture was to separate the binaries in texlive-bin (which
needed compilation) from the tex files in texlive-texmf (which mainly needed
copying, plus the black tex magic of format and font map creation), and
their union was texlive.

My impression is that
commit 19fd1004138b60c4479d7516aa0cee261c0b6b57
Author: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Date:   Mon Jun 26 12:00:51 2023 +0200
    gnu: Externalize libkpathsea in texlive and texlive-bin.
poses problems. Which problem is it supposed to solve?

What is the idea of the new architecture? Having texlive-libkpathsea,
texlive-bin and texlive-bin-full, all the three with very long package
definitions, looks very complex to me.
Would it be possible and make sense to revert this commit?

I considered opening a new bug, since this one looked distinct from
not being able to install texlive-biber; but I wonder if texlive-biber
is not simply a symptom of the same problem.

The error message is
updmap: open() failed: No such file or directory at /gnu/store/rhaj62vg3bfzlvrm9bsmif4z1bzgq84a-texlive-scripts-66594/bin/updmap line 2159.
updmap [ERROR]: The following map file(s) couldn't be found:
updmap [ERROR]: 	dvips35.map (in builtin)
updmap [ERROR]: 	pdftex35.map (in builtin)
updmap [ERROR]: 	ps2pk35.map (in builtin)
updmap [ERROR]: Did you run mktexlsr?

Notice the location of the updmap script. The one in my profile points to
/gnu/store/88apcyl30irw6v03gmyav638wq31k9xq-texlive-20230313/bin/updmap
of the texlive package and the missing .map files are there at
/gnu/store/88apcyl30irw6v03gmyav638wq31k9xq-texlive-20230313/share/texmf-dist/fonts/map/dvips/tetex/dvips35.mapand so on.

So my impression is that the new way of packaging breaks the monolithic
texlive package, and that the texlive-biber package by using the
texlive-build-system has become incompatible with the monolithic texlive.
This comes from commit
commit 3aeca58073eff8b7a835f6492e735dd152d9dc99
Author: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Date:   Mon Jun 19 14:43:56 2023 +0200
    gnu: biber -> texlive-biber.
which moves from perl-build-system to texlive-build-system.

Andreas





  reply	other threads:[~2023-07-25  8:43 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-24  9:52 bug#64827: Texlive-biber not installable Andreas Enge
     [not found] ` <handler.64827.B.169019239510118.ack@debbugs.gnu.org>
2023-07-24 10:11   ` bug#64827: Acknowledgement (Texlive-biber not installable) Andreas Enge
2023-07-24 22:09     ` Ricardo Wurmus
2023-07-25  8:42       ` Andreas Enge [this message]
2023-07-26 15:25         ` bug#64827: Texlive has become slow Nicolas Goaziou
2023-07-26 16:33           ` bug#64827: Texlive-biber not installable Andreas Enge
2023-07-26 18:17             ` Andreas Enge
2023-07-26 19:51               ` bug#64827: texlive is broken Andreas Enge
2023-07-26 21:21                 ` Andreas Enge
2023-07-26 22:43                   ` Andreas Enge
2023-07-27  9:55                     ` Nicolas Goaziou
2023-07-27 10:59                       ` Andreas Enge
2023-08-07 11:53                         ` Andreas Enge
2023-08-07 16:16                         ` Andreas Enge
2023-08-09  7:39                           ` Andreas Enge
2023-08-09 16:35                             ` Nicolas Goaziou
2023-08-09 19:02                               ` Andreas Enge
2023-08-13 20:48                                 ` Nicolas Goaziou
2023-08-17 11:54                                   ` Andreas Enge
2023-08-17 12:10                                     ` Andreas Enge
2023-08-17 13:17                                       ` Nicolas Goaziou
2023-08-17 14:31                                         ` Andreas Enge
2023-07-26 14:51     ` bug#64827: Acknowledgement (Texlive-biber not installable) Nicolas Goaziou
2023-07-26 15:02       ` Andreas Enge
2023-07-26 15:35         ` Nicolas Goaziou
2023-07-24 21:23 ` Igor Gajsin via Bug reports for GNU Guix
2023-07-24 21:28 ` bug#64827: (no subject) Igor Gajsin via Bug reports for GNU Guix
2023-08-16  0:15 ` bug#64827: Texlive-biber not installable Vinicius Monego
2023-08-16  9:25   ` Nicolas Goaziou

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZL-K8C-tVZdK1eFm@jurong \
    --to=andreas@enge.fr \
    --cc=64827@debbugs.gnu.org \
    --cc=mail@nicolasgoaziou.fr \
    --cc=rekado@elephly.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.