PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : TeX Live Umgebungsvariablen (Fedora Linux)



André25
04-09-2014, 19:15
Hallo Freunde,

ich probiere gerade Linux (Fedora) aus und da möchte ich natürlich unbedingt TeX zum Laufen bekommen. Ich habe TeX Live über das Internet installiert -- und soweit ersichtlich war das erfolgreich. Leider kann ich keinen LaTeX-Lauf ausführen. Ich bekomme (in TeXstudio) Fehlermeldungen, dass [sätmliche Pakete] nicht gefunden werden.

Also liegt es wohl an den Umgebungsvariablen. Ich hatte schon verschiedene Versionen ausprobiert, die ich im Netz gefunden habe, aber nichts davon hat geholfen. Z. B. habe ich in der Datei „~/.bashrc“ den Pfad gesetzt:

PATH=$PATH:/usr/local/texlive/2014/bin/x86_64-linux
export PATH


Kann mir jemand einen Tipp geben, welche Pfade ich in welcher Datei eintrage oder wie ich herausfinden kann, ob es richtig eingetragen ist?

Danke und viele Grüße,
André

Johannes_B
04-09-2014, 22:27
Hast du dich ab und wieder angemeldet?

André25
04-09-2014, 22:50
Hast du dich ab und wieder angemeldet?
Ja, schon mehrfach (und auch neu gestartet ...).

rais
06-09-2014, 00:27
ich probiere gerade Linux (Fedora) aus und da möchte ich natürlich unbedingt TeX zum Laufen bekommen. Ich habe TeX Live über das Internet installiert -- und soweit ersichtlich war das erfolgreich. Leider kann ich keinen LaTeX-Lauf ausführen. Ich bekomme (in TeXstudio) Fehlermeldungen, dass [sätmliche Pakete] nicht gefunden werden.

Also liegt es wohl an den Umgebungsvariablen. Ich hatte schon verschiedene Versionen ausprobiert, die ich im Netz gefunden habe, aber nichts davon hat geholfen. Z. B. habe ich in der Datei „~/.bashrc“ den Pfad gesetzt:

PATH=$PATH:/usr/local/texlive/2014/bin/x86_64-linux
export PATH


Deiner Beschreibung nach wird LaTeX (das Programm) vom System gefunden (zumindest lese ich das da heraus).
Welches denn? (Es wäre nicht das erste Mal, daß ein Linux-Paketmanager meint, wenn z.B. ein LaTeX-Editor installiert werden soll, dann doch bitte mit der (hauseigenen) TeX-Distri (keine Ahnung, wie das bei Fedora gehandhabt wird).
Tipp mal in einer Konsole


type -p latex

Liefert Dir das `/usr/local/texlive/2014/bin/x86_64-linux/latex'?
Wenn nicht, was dann?
(Tipp ggf. `ls -l was-auch-immer-oben-rausgekommen-ist', wenn dabei etwas mit `->' herauskommt, handelt es sich dabei um einen symbolischen Link, da wäre das Ziel interressant)
Danach tipp


kpsewhich -show-path tex

das sollte Dir anzeigen, wo (La)TeX nach .cls, .sty und noch ein paar Dateien sucht. `kpsewhich -help' sagt Dir genau, welche das sind (und was Du da noch so angeben könntest).

MfG

André25
06-09-2014, 01:00
Tipp mal in einer Konsole

type -p latex
Liefert Dir das `/usr/local/texlive/2014/bin/x86_64-linux/latex'?
Wenn nicht, was dann?

Das liefert

/usr/bin/latex


(Tipp ggf. `ls -l was-auch-immer-oben-rausgekommen-ist', wenn dabei etwas mit `->' herauskommt, handelt es sich dabei um einen symbolischen Link, da wäre das Ziel interressant)
Da steht unter anderem

latex -> pdftex
Ein Ziel scheint es nicht zu geben. Wenn ich den symbolischen Link auswähle, passiert nix.


Danach tipp

kpsewhich -show-path tex
das sollte Dir anzeigen, wo (La)TeX nach .cls, .sty und noch ein paar Dateien sucht. `kpsewhich -help' sagt Dir genau, welche das sind (und was Du da noch so angeben könntest).
Ähm, da kommt recht viel. Z. B.

/home/andre/.texlive2013/texmf-config/tex/kpsewhich
Dieses Verzeichnis unter meinem Benutzer gibt es gar nicht. Vor allem 2013?! Da fällt mir ein, dass ich in den Zeilen, von denen ich im ersten Thread geschrieben habe, dass ich sie in die „~/.bashrc“ eingetragen habe, zuerst versehentlich 2013 statt 2014 stehen hatte. Aber ich habe es ja anschließend geändert ...?!

So, weiter weiß ich nun nicht. Was sollte ich tun? Tausend Dank schon mal!

rais
06-09-2014, 02:06
Das liefert

/usr/bin/latex


Da steht unter anderem

latex -> pdftex
Ein Ziel scheint es nicht zu geben. Wenn ich den symbolischen Link auswähle, passiert nix.

was meinst Du mit `den symbolischen Link auswählen'?
Vllt die bessere Alternative: Was gibt Dir


latex -v
?

MfG

André25
06-09-2014, 14:38
was meinst Du mit `den symbolischen Link auswählen'?
Den Link im Dateibrowser doppelt anklicken, so dass er mich da hinführt, wo sein Ziel ist. Auf den Doppelklick hin passiert nix.


Vllt die bessere Alternative: Was gibt Dir

latex -v?
Das ergibt

pdfTeX 3.1415926-2.6-1.40.14 (TeX Live 2014/dev)
kpathsea version 6.2.0dev
Copyright 2013 Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX).
There is NO warranty. Redistribution of this software is
covered by the terms of both the pdfTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the pdfTeX source.
Primary author of pdfTeX: Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX).
Compiled with libpng 1.6.3; using libpng 1.6.6
Compiled with zlib 1.2.8; using zlib 1.2.8
Compiled with poppler version 0.24.3

rais
06-09-2014, 16:41
Den Link im Dateibrowser doppelt anklicken, so dass er mich da hinführt, wo sein Ziel ist. Auf den Doppelklick hin passiert nix.

Aha. Hast Du denn dem TL-Installer erzählt, er soll die ausführbaren Dateien nach /usr/bin kopieren?


Das ergibt

pdfTeX 3.1415926-2.6-1.40.14 (TeX Live 2014/dev)

das `dev' tönt verdächtig nach einer Entwicklerversion.
Was sagt denn zum Vergleich


/usr/local/texlive/2014/bin/x86_64-linux/latex -v

Wenn da was anderes bei rauskommt, etwa


pdfTeX 3.14159265-2.6-1.40.15 (TeX Live 2014)
kpathsea version 6.2.0
Copyright 2014 Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX).
There is NO warranty. Redistribution of this software is
covered by the terms of both the pdfTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the pdfTeX source.
Primary author of pdfTeX: Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX).
Compiled with libpng 1.6.10; using libpng 1.6.10
Compiled with zlib 1.2.8; using zlib 1.2.8
Compiled with xpdf version 3.03

dann hast Du zwei unterschiedliche TL Installationen, wovon die ältere vor der neueren gefunden wird. In dem Fall hilft es vllt, wenn Du in Deiner .bashrc den TeXLive-bin-Ordner vorne im PATH einträgst (und nicht hinten, so wie Du es bisher machst).

Sollte da das gleiche stehen (also auch wieder `TeX Live 2014/dev'): woher hast Du Deine TL-Version genau?

MfG

André25
06-09-2014, 17:16
Aha. Hast Du denn dem TL-Installer erzählt, er soll die ausführbaren Dateien nach /usr/bin kopieren?
Nicht dass ich wüsste. Ich habe folgendes auf der Konsole ausgeführt:

wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
tar xf install-tl-unx.tar.gz
cd install-tl-20140904/
./install-tl


Was sagt denn zum Vergleich

/usr/local/texlive/2014/bin/x86_64-linux/latex -v

Das sagt

pdfTeX 3.14159265-2.6-1.40.15 (TeX Live 2014)
kpathsea version 6.2.0
Copyright 2014 Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX).
There is NO warranty. Redistribution of this software is
covered by the terms of both the pdfTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the pdfTeX source.
Primary author of pdfTeX: Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX).
Compiled with libpng 1.6.10; using libpng 1.6.10
Compiled with zlib 1.2.8; using zlib 1.2.8
Compiled with xpdf version 3.03



woher hast Du Deine TL-Version genau?
Siehe oben -> aus dem Internet.

klops
06-09-2014, 19:00
Z. B. habe ich in der Datei „~/.bashrc“ den Pfad gesetzt:

PATH=$PATH:/usr/local/texlive/2014/bin/x86_64-linux
export PATH
PATH wird von vorn nach hinten durchsucht und es wird nicht weiter gesucht, wenn das Programm gefunden wurde. Wenn Du also das Verzeichnis von texlive hinten anfügst, werden immer zuerst Programme im bisherigen Suchpfad, also beispielsweise in /usr/bin gefunden. Daher:

PATH="/usr/local/texlive/2014/bin/x86_64-linux:$PATH"
export PATH

André25
06-09-2014, 22:21
Daher [...]
Das ändert leider gar nichts ... :confused:

rais
07-09-2014, 11:03
Das ändert leider gar nichts ... :confused:
hast Du Dich nach der Änderung ab- und wieder angemeldet?

Überzeuge Dich mit `type -p latex', ob nun die richtige Datei gefunden wird (also aus /usr/local/texlive/2014/bin/x86_64-linux).

Kompiliere ein möglichst kleines Dokument, etwa


\documentclass{article}
\begin{document}
x
\end{document}

und zeige davon die .log-Datei.

MfG

André25
07-09-2014, 12:50
hast Du Dich nach der Änderung ab- und wieder angemeldet?
Ja, das hatte ich ...


Überzeuge Dich mit `type -p latex', ob nun die richtige Datei gefunden wird (also aus /usr/local/texlive/2014/bin/x86_64-linux).
Das sieht gut aus:

/usr/local/texlive/2014/bin/x86_64-linux/latex


Kompiliere ein möglichst kleines Dokument, etwa [...]
und zeige davon die .log-Datei.
Das geht zu kompilieren. Hier die .log-Datei:

This is pdfTeX, Version 3.1415926-2.6-1.40.14 (TeX Live 2014/dev) (format=pdflatex 2014.9.4) 7 SEP 2014 12:38
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
**x.tex
(./x.tex
LaTeX2e <2011/06/27>
Babel <3.9h> and hyphenation patterns for 2 languages loaded.
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2007/10/19 v1.4h Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo
File: size10.clo 2007/10/19 v1.4h Standard LaTeX file (size option)
)
\c@part=\count79
\c@section=\count80
\c@subsection=\count81
\c@subsubsection=\count82
\c@paragraph=\count83
\c@subparagraph=\count84
\c@figure=\count85
\c@table=\count86
\abovecaptionskip=\skip41
\belowcaptionskip=\skip42
\bibindent=\dimen102
) (./x.aux)
\openout1 = `x.aux'.

LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 2.
LaTeX Font Info: ... okay on input line 2.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 2.
LaTeX Font Info: ... okay on input line 2.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 2.
LaTeX Font Info: ... okay on input line 2.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 2.
LaTeX Font Info: ... okay on input line 2.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 2.
LaTeX Font Info: ... okay on input line 2.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 2.
LaTeX Font Info: ... okay on input line 2.
[1

{/usr/share/texlive/texmf-dist/fonts/map/pdftex/updmap/pdftex.map}] (./x.aux) )

Here is how much of TeX's memory you used:
201 strings out of 495034
2100 string characters out of 6181678
46878 words of memory out of 5000000
3497 multiletter control sequences out of 15000+600000
3640 words of font info for 14 fonts, out of 8000000 for 9000
14 hyphenation exceptions out of 8191
23i,4n,17p,148b,107s stack positions out of 5000i,500n,10000p,200000b,80000s
</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb>
Output written on x.pdf (1 page, 8691 bytes).
PDF statistics:
12 PDF objects out of 1000 (max. 8388607)
7 compressed objects within 1 object stream
0 named destinations out of 1000 (max. 500000)
1 words of extra memory for PDF output out of 10000 (max. 10000000)


Wenn ich aber ein größeres Dokument nehme, was einige Pakete lädt, dann wird alles mögliche nicht gefunden. Wenn ich das Paket, welches gerade nicht gefunden wird, auskommentiere, dann wird das nächste nicht gefunden usw. :confused:

rais
07-09-2014, 13:31
Das geht zu kompilieren. Hier die .log-Datei:

This is pdfTeX, Version 3.1415926-2.6-1.40.14 (TeX Live 2014/dev) (format=pdflatex 2014.9.4) 7 SEP 2014 12:38


hier kompilierst Du aber wieder mit der Entwicklerversion.


Wenn ich aber ein größeres Dokument nehme, was einige Pakete lädt, dann wird alles mögliche nicht gefunden. Wenn ich das Paket, welches gerade nicht gefunden wird, auskommentiere, dann wird das nächste nicht gefunden usw. :confused:
kompiliere testhalber mal über die Konsole.
Wenn das klappt, schau in den Einstellungen von TeXStudio, ob da irgendwo `/usr/bin' verwendet wird (die Pfade solltest Du dort löschen, sonst ist es kein Wunder, daß TeXStudio noch die ausführbaren Dateien aus dem falschen Pfad nimmt).

MfG

André25
07-09-2014, 15:42
hier kompilierst Du aber wieder mit der Entwicklerversion.
Allerdings nicht beabsichtigt. :cool:

Ein Vergleich zeigt, dass auf der Konsole mit der korrekten Version kompiliert wird, wogegen TeXstudio die Entwicklerversion nimmt. Leider kann ich in TeXstudio nicht sehen, dass ein Pfad voreingestellt ist (siehe angehängten Screenshot).
6077

Auch in der Datei texstudio.ini konnte ich keine Hinweise für einen solchen voreingestellten Pfad finden. :confused:

rais
07-09-2014, 18:17
Ein Vergleich zeigt, dass auf der Konsole mit der korrekten Version kompiliert wird, wogegen TeXstudio die Entwicklerversion nimmt. Leider kann ich in TeXstudio nicht sehen, dass ein Pfad voreingestellt ist (siehe angehängten Screenshot).
6077

ich kenne TeXStudio nicht, Du könntest aber herausfinden, welcher Pfad (bzw. ob überhaupt) von TeXStudio gesetzt wird:
Ergänze (nur für diesen Test) -shell-escape bei den Optionen für PdfLaTeX, kompiliere (mit TeXStudio)


\documentclass{article}
\begin{document}
\immediate\write18{echo $PATH > \jobname.i}
\end{document}

und vergleiche auf der Konsole (nachdem Du Dich per cd zu dieser .tex-Datei gehangelt hast)


cat wie-auch-immer-Du-diese-Testdatei-genannt-hast.i

mit


echo $PATH

und dann schau in der Doku zu TeXStudio nach, wie Du diesen Pfad (so das Ergebnis oben denn unterschiedlich ausfiel) anpassen kannst bzw. wo er bei TeXStudio überhaupt gesetzt wird.

Für mich klingt das jedenfalls so, als ob Du erst TeXStudio (wohlmöglich über den Fedora-Paketmanager, was erklären könnte, wo die zweite TL-Installation herkommt: der Paketmanager hat eine Abhängigkeit von TeXStudio zu eben einer TeX-Distri festgestellt und diese mitinstalliert), danach erst TeXLive. Wobei die tatsächliche Reihenfolge wohlmöglich noch nicht mal eine Rolle gespielt hat (der TL-Installer geht am Paketmanager von Fedora vorbei).
AFAIR gibt es auch sog. Dummy-Pakete (etwa http://www.ctan.org/pkg/texlive-dummy-opensuse), die dem Linux-Paketmanager quasi sagen: ``Du brauchst keine TeX-Distribution zu installieren''; ob es sowas auch für Fedora gibt, kann ich nicht beurteilen.

MfG

André25
09-09-2014, 11:25
[...]
cat wie-auch-immer-Du-diese-Testdatei-genannt-hast.i
Das ergibt:

/usr/local/bin:/usr/bin:/bin:


Für mich klingt das jedenfalls so, als ob Du erst TeXStudio (wohlmöglich über den Fedora-Paketmanager, was erklären könnte, wo die zweite TL-Installation herkommt: der Paketmanager hat eine Abhängigkeit von TeXStudio zu eben einer TeX-Distri festgestellt und diese mitinstalliert), danach erst TeXLive. Wobei die tatsächliche Reihenfolge wohlmöglich noch nicht mal eine Rolle gespielt hat (der TL-Installer geht am Paketmanager von Fedora vorbei).
So scheint es wohl zu sein. Ich habe jedoch zuerst TeX Live über das Internet installiert und anschließend TeXstudio über den Paketmanager. Dabei kann aber kein TeX Live (erneut) mit installiert worden sein, weil es dafür viel zu schnell ging. Aber auf jeden Fall sucht TeXstudio irgendwo, wo nix gefunden wird. Wo ich das in TeXstudio einstellen kann, habe ich nicht herausgefunden. Aber das werde ich noch. ;)


AFAIR gibt es auch sog. Dummy-Pakete (etwa http://www.ctan.org/pkg/texlive-dummy-opensuse), die dem Linux-Paketmanager quasi sagen: ``Du brauchst keine TeX-Distribution zu installieren''; ob es sowas auch für Fedora gibt, kann ich nicht beurteilen.
Da schaue ich mal. Auf jeden Fall vielen Dank für die kompetente Hilfe! (Sofern ich es zum Laufen bekomme, werde ich rückmelden wie.)

André25
28-09-2014, 18:32
So, hier also die Auflösung. Mit den Umgebungsvariablen hatte es insgesamt weniger zu tun...

Ich hatte als nächsten Schritt auf der Sourceforge-Seite gefragt, woran es liegen könnte: https://sourceforge.net/p/texstudio/discussion/907840/thread/d1ee71ea/

Es stellte sich heraus, dass sich das Problem (dass keine Pakete gefunden werden) nur zeigt, wenn ich TeXstudio dadurch öffne, dass ich eine *.tex-Datei via Doppelklick öffne. Wenn ich hingegen TeXstudio von der Kommandozeile aus öffne, gibt es das Problem nicht und es kann kompiliert werden.

Ich hatte TeX Live via Internet installiert. Beim besagten Öffnen von TeXstudio via Doppelklick auf eine *.tex-Datei wurde eine TeX Live Version gefunden, die ich nicht installiert hatte. Das das Datum dieses Phantom-TeX Live vor dem Installationszeitpunkt der Linux-Version lag, muss sie wohl automagisch bei Fedora dabei sein. Hierbei handelte es sich um Link-Dateien (unter /usr/bin/), die kein wirkliches Ziel hatten -- wenn ich die Datei pdflatex unter /usr/bin/ doppelt geklickt habe, ist nichts passiert...

Ich habe jetzt einfach den Link pdflatex unter /usr/bin/ entfernt und damit keine Probleme mehr.

Danke für die Hilfe -- v. a. an rais/Rainer!!!

cookie170
28-09-2014, 21:56
...

Danke für die Hilfe -- v. a. an rais/Rainer!!!

Ich habe ja ganz gespannt mitgelesen, ob sich die Sache klären lässt, hey, Rainer, das war klasse.