Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

mktexlsr ignoriert $TEXMFHOME

25 views
Skip to first unread message

Christoph Bier

unread,
Oct 20, 2007, 9:40:04 AM10/20/07
to
Hallo,

wegen eines dummen Fehlers musste ich mein System und somit auch TL
2007 neu installieren. Mein altes Homeverzeichnis und das des
Benutzers »test« habe ich aus einem Backup eingespielt und zumindest
für den Benutzer »chris« funktioniert (fast) alles wieder wie
vorher, ohne dass Verrenkungen notwendig waren. Benutzer »test« kann
aber bestimmte .tex-Dokumente nicht mehr mit pdflatex übersetzen (!
pdfTeX error (font expansion): auto expansion is only possible with
scalable fonts) und bei der Fehlersuche ist mir aufgefallen, dass
texhash/mktexlsr $TEXMFHOME ignoriert:

$ kpsewhich --expand-path='$TEXMFHOME'
/home/chris/texmf
chris@lotus:~$ texhash
texhash: /usr/local/texlive/2007/texmf: directory not writable.
Skipping...
texhash: /usr/local/texlive/2007/texmf-config: directory not
writable. Skipping...
texhash: /usr/local/texlive/2007/texmf-dist: directory not writable.
Skipping...
texhash: /usr/local/texlive/2007/../texmf-local: directory not
writable. Skipping...
texhash: Updating /usr/local/texlive/2007/texmf-var/ls-R...
texhash: Done.
chris@lotus:~$ sudo texhash
[sudo] password for chris:
texhash: Updating /usr/local/texlive/2007/texmf/ls-R...
texhash: Updating /usr/local/texlive/2007/texmf-config/ls-R...
texhash: Updating /usr/local/texlive/2007/texmf-dist/ls-R...
texhash: Updating /usr/local/texlive/2007/../texmf-local/ls-R...
texhash: Updating /usr/local/texlive/2007/texmf-var/ls-R...
texhash: Done.

Die TL-Installation habe ich im Unterschied zur vorherigen
Installation von einem ISO-Image der TL-CD gemacht; die vorherige
Installation hatte ich von der TL-DVD gemacht. Das ist laut meinen
Aufzeichungen der einzige Unterschied zwischen beiden
Installationen. Aber vorher wurde mit texhash auch $TEXMFHOME
aktualisiert.

Habe ich etwas vergessen?

Grüße
Christoph
--
(La)TeX-FAQ: http://www.dante.de/faq/ +++ Minimalbeispiel erstellen
und Einführung in de.comp.text.tex: http://www.latex-einfuehrung.de/
+++ Veraltete Befehle, Pakete und andere Fehler:
ftp://ftp.dante.de/tex-archive/info/l2tabu/german/l2tabu.pdf
+++ Typografie-Regeln: http://zvisionwelt.de/downloads.html (1.6)

Thomas A. Schmitz

unread,
Oct 20, 2007, 10:25:15 AM10/20/07
to
Christoph Bier <christo...@web.de> writes:

Standardmaessig legt TeXLive in $TEXMFHOME keine ls-R Datei an und
durchsucht einfach den Verzeichnisbaum. Wenn du das aendern willst
und dort auch ls-R Verzeichnisse haben willst, musst du

1. im relevanten texmf.cnf in der Definition von $TEXMF $TEXMFHOME
durch !!$TEXMFHOME ersetzen;

2. $TEXMFHOME in die Variable $TEXMFDBS eintragen.

Hier sind die relevanten Auszuege aus texmf.cnf:

% Where to look for ls-R files. There need not be an ls-R in the
% directories in this path, but if there is one, Kpathsea will use
% it. By default, this is only the !! elements of TEXMF, so that
% mktexlsr does not create ls-R files in the non-!! elements --
% because if an ls-R is present, it will be used, and the disk
% will not be searched. This is arguably a bug in kpathsea, but
% we will not think about it now. TEXMFDBS =
% {!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST,!!$TEXMFGWTEX}


HTH

Thomas

Ralf Stubner

unread,
Oct 20, 2007, 10:40:19 AM10/20/07
to
Christoph Bier <christo...@web.de> writes:

> Benutzer »test« kann
> aber bestimmte .tex-Dokumente nicht mehr mit pdflatex übersetzen (!
> pdfTeX error (font expansion): auto expansion is only possible with
> scalable fonts)

Welche Schriften werden verwendet?

> und bei der Fehlersuche ist mir aufgefallen, dass
> texhash/mktexlsr $TEXMFHOME ignoriert:

Das ist nicht ungewöhnlich:

$ mktexlsr --help
Usage: mktexlsr [DIR]...

Only options are --help, --version, and --verbose. If standard input is
a terminal, --verbose is on by default.

Rebuild all necessary ls-R filename databases completely. If one or
more arguments DIRS are given, these are used as texmf directories to
build ls-R for. Else all directories in the search path for ls-R files
($TEXMFDBS) are used.

TEXMFHOME ist typischerweise nicht (mehr) in TEXMFDBS.

> Die TL-Installation habe ich im Unterschied zur vorherigen
> Installation von einem ISO-Image der TL-CD gemacht; die vorherige
> Installation hatte ich von der TL-DVD gemacht. Das ist laut meinen
> Aufzeichungen der einzige Unterschied zwischen beiden
> Installationen. Aber vorher wurde mit texhash auch $TEXMFHOME
> aktualisiert.

Sicher?

Schuss ins Blaue: Die fraglichen Dokumente verwenden die
EC-Schriften. Und die Type1-Versionen dieser Schriftne (ie cm-super)
wurden auf der CD aus Platzgründen eingspart.

cheerio
ralf

Christoph Bier

unread,
Oct 20, 2007, 10:49:26 AM10/20/07
to
Thomas A. Schmitz schrieb am 20.10.2007 16:25:

[...]

> Standardmaessig legt TeXLive in $TEXMFHOME keine ls-R Datei an und
> durchsucht einfach den Verzeichnisbaum. Wenn du das aendern willst
> und dort auch ls-R Verzeichnisse haben willst, musst du
>
> 1. im relevanten texmf.cnf in der Definition von $TEXMF $TEXMFHOME
> durch !!$TEXMFHOME ersetzen;
>
> 2. $TEXMFHOME in die Variable $TEXMFDBS eintragen.
>
> Hier sind die relevanten Auszuege aus texmf.cnf:
>
> % Where to look for ls-R files. There need not be an ls-R in the
> % directories in this path, but if there is one, Kpathsea will use
> % it. By default, this is only the !! elements of TEXMF, so that
> % mktexlsr does not create ls-R files in the non-!! elements --
> % because if an ls-R is present, it will be used, and the disk
> % will not be searched. This is arguably a bug in kpathsea, but
> % we will not think about it now. TEXMFDBS =
> % {!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST,!!$TEXMFGWTEX}

Ja, beides ist mir klar und ich habe auch die entsprechenden
Änderungen in texmf.cnf vorgenommen. Aber ich sehe gerade, dass die
Änderungen nicht mehr in texmf.cnf vorhanden sind. Ich habe sie auf
jeden Fall vorgenommen! Ich erinnere mich noch, dass ich zuerst das
Dollar-Zeichen vor TEXMFHOME vergessen hatte. Im Backupverzeichnis,
in das ich Emacs automatisch Sicherheitskopien speichern lasse, sind
die Änderungen auch noch zu sehen. Wie kann das denn sein?

Danke für Deine Antwort, es klappt jetzt -- das hatte es gestern
allerdings auch schon mal. Mal sehen, ob demnächst wieder das
Problem auftritt. Dann kann ich mich jetzt dem anderen Problem
widmen, das leider immer noch auftritt :-(.

Viele Grüße

Christoph Bier

unread,
Oct 20, 2007, 11:01:13 AM10/20/07
to
Ralf Stubner schrieb am 20.10.2007 16:40:

> Christoph Bier <christo...@web.de> writes:
>
>> Benutzer »test« kann
>> aber bestimmte .tex-Dokumente nicht mehr mit pdflatex übersetzen (!
>> pdfTeX error (font expansion): auto expansion is only possible with
>> scalable fonts)
>
> Welche Schriften werden verwendet?

MinionPro und MyriadPro. chris kann die Dokumente übersetzen, test
nicht. Die .pdf-Dateien werden gefunden:

test@lotus:~$ kpsewhich MinionPro-It.pfb
/home/test/texmf/fonts/type1/adobe/MinionPro/MinionPro-It.pfb

>> und bei der Fehlersuche ist mir aufgefallen, dass
>> texhash/mktexlsr $TEXMFHOME ignoriert:
>
> Das ist nicht ungewöhnlich:
>
> $ mktexlsr --help
> Usage: mktexlsr [DIR]...
>
> Only options are --help, --version, and --verbose. If standard input is
> a terminal, --verbose is on by default.
>
> Rebuild all necessary ls-R filename databases completely. If one or
> more arguments DIRS are given, these are used as texmf directories to
> build ls-R for. Else all directories in the search path for ls-R files
> ($TEXMFDBS) are used.
>
> TEXMFHOME ist typischerweise nicht (mehr) in TEXMFDBS.

Siehe meine Antwort auf Thomas. Ich weiß, das hört sich merkwürdig
bis unglaubwürdig an.

>> Die TL-Installation habe ich im Unterschied zur vorherigen
>> Installation von einem ISO-Image der TL-CD gemacht; die vorherige
>> Installation hatte ich von der TL-DVD gemacht. Das ist laut meinen
>> Aufzeichungen der einzige Unterschied zwischen beiden
>> Installationen. Aber vorher wurde mit texhash auch $TEXMFHOME
>> aktualisiert.
>
> Sicher?

Ja, hunderprozentig!

> Schuss ins Blaue: Die fraglichen Dokumente verwenden die
> EC-Schriften. Und die Type1-Versionen dieser Schriftne (ie cm-super)
> wurden auf der CD aus Platzgründen eingspart.

Nein, wie gesagt MinionPro und MyriadPro. Ich suche jetzt erst mal
weiter und öffne dann gegebenenfalls nochmal einen neuen Thread.

Es hat sich erledigt: Ich musste für test nochmal updmap mit der
enable-Option aufrufen. Das war für chris nicht notwendig ... Egal.
Ich muss jetzt fertig werden :-).

Grüße und Danke

thomas.nos...@uni-bonn.de

unread,
Oct 20, 2007, 2:08:47 PM10/20/07
to
Christoph Bier <christo...@web.de> writes:

> Ja, beides ist mir klar und ich habe auch die entsprechenden
> Änderungen in texmf.cnf vorgenommen. Aber ich sehe gerade, dass
> die Änderungen nicht mehr in texmf.cnf vorhanden sind. Ich habe
> sie auf jeden Fall vorgenommen! Ich erinnere mich noch, dass ich
> zuerst das Dollar-Zeichen vor TEXMFHOME vergessen hatte. Im
> Backupverzeichnis, in das ich Emacs automatisch
> Sicherheitskopien speichern lasse, sind die Änderungen auch noch
> zu sehen. Wie kann das denn sein?

Manchmal koennte man schwoeren, dass der Computer ein Eigenleben
fuehrt, aber meist sitzt der Fehler dann doch zwischen Stuhl und
Tastatur... Ich wuerde darauf tippen, dass auf deinem System
mehrere texmf.cnf sind und du die "falsche" Datei bearbeitet
hat. Such mal mit kpsewhere und locate nach texmf.cnf; ich wuerde
vermuten, dann siehst du mehr.

Thomas

Christoph Bier

unread,
Oct 20, 2007, 2:47:26 PM10/20/07
to

Glaub mir, habe ich alles schon gemacht (auch gestern schon).
Mehrmals updatedb aufgerufen und anschließend locate (immer das
gleiche Ergebnis):

chris@lotus:~$ locate texmf.cnf
/home/chris/Backups/texmf.cnf~
/home/chris/dateien/Sarge-Upgrade/etc/texmf/texmf.cnf
/usr/local/texlive/2007/texmf/web2c/texmf.cnf
/usr/local/texlive/2007/texmf/web2c/texmf.cnf-4WIN

Außerdem habe ich die texmf.cnf über

$ emacs -nw `kpsewhich texmf.cnf`

aufgerufen und bearbeitet.

Ich behaupte nicht und glaube auch nicht, dass mein Rechner ein
Eigenleben führt. Aber so sehr ich auch nachdenke, finde ich nicht
die Stelle, an der /ich/ Mist gebaut habe. Schon lange habe ich mir
angewöhnt, Änderungen am System genau zu dokumentieren, alleine
schon, um es zukünftig einfacher zu haben, wenn die gleiche Aufgabe
nochmal ansteht. Ich würde annehmen, dass ich unter Umständen eine
»falsche« texmf.cnf auf einem anderen Rechner bearbeitet habe, weil
ich gleichzeitig auf drei Rechnern in der Konsole eingeloggt war.
Bloß gestern habe ich ja noch erfolgreich ls-R in $TEXMFHOME
aktualisieren können ... Außer ich habe das auch auf einem anderen
Rechner getan ... Wenn ich die Ursache gefunden habe, werde ich
berichten. Für heute mache ich aber Feierabend.

Schöne Grüße

Olaf Meltzer

unread,
Oct 21, 2007, 4:17:44 AM10/21/07
to
* Christoph Bier schrieb:

> Ich behaupte nicht und glaube auch nicht, dass mein Rechner ein
> Eigenleben führt.

Das tut er aber u. U. gerade an dieser Stelle. Wenn Du bei Änderungen
an der texmf.cnf vergißt, das -original in der ersten Zeile zu
löschen, wird bei jedem Update oder bei "Selbstheilungsprozessen" die
Datei wieder mit dem Original überschrieben.

Gruß -- Olaf Meltzer

Christoph Bier

unread,
Oct 21, 2007, 8:11:37 AM10/21/07
to

Das könnte eine Erklärung sein. Das »original« habe ich erst jetzt
entfernt. Danke für den Hinweis!

Dominik Waßenhoven

unread,
Oct 21, 2007, 1:17:46 PM10/21/07
to
thomas.nos...@uni-bonn.de schrieb:

> Manchmal koennte man schwoeren, dass der Computer ein Eigenleben
> fuehrt, aber meist sitzt der Fehler dann doch zwischen Stuhl und
> Tastatur...

Ich weiß ja nicht, wie du arbeitest, aber bei mir sitzt der Fehler meist
*auf* dem Stuhl...

SCNR,
Dominik.-

0 new messages