texlive-20240312-source

Introduksjon til TeX Live fra kilden

[Notat]

Notat

I følge https://www.tug.org/historic/ master nettstedet i Frankrike støtter bare ftp og rsync. Nå som ftp generelt er utdatert, den siden har lenker til speil, hvorav noen støtter https, f.eks. i Utah og Chemntiz samt i Kina. Hvis du foretrekker å bruke et annet speil fra eksempelkoblingene her, må du navigere til systems/historic/texlive/2024 eller systems/texlive/2024 som tilfellet kan være.

Det meste av TeX Live kan bygges fra kilden uten en forhåndseksisterende installasjon, men xindy (for indeksering) trenger en fungerende versjon av latex og pdflatex når konfigurering kjøres, og testpakken og installere asy (for vektorgrafikk) vil mislykkes hvis TeX ikke allerede er installert. I tillegg, biber er ikke gitt innenfor texlive kilden og versjonen av dvisvgm i texlive treet kan ikke bygges hvis delte systembiblioteker brukes.

Alle disse pakkene behandles på deres egne sider og kan bli bygget etter installasjon av denne pakken. Hvis du ikke allerede har gjort det, burde du starte med Sette PATH for TeX Live slik at de siste kommandoene til å initialisere den nye installasjonen vil bli funnet.

[Notat]

Notat

Utviklingsversjoner av BLFS kan ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden den siste stabile versjonene av bøkene.

Pakkeinformasjon

Påkrevd Ytterligere Nedlastinger

Mye av texlive miljøet (inkludert skript, dokumentasjon, fonter og diverse andre filer) er ikke en del av kilde tarballen. Du må laste de ned separat. Dette vil gi deg alt av tilleggsfiler som leveres av en full installasjon av binærfil versjonen, det er ingen realistisk måte å begrense hvilke deler som blir installert.

På grunn av størrelsen på denne pakken er det usannsynlig at den speiles av BLFS speil. Hvis du ikke kan laste ned filene for denne pakken, gå til https://www.ctan.org/mirrors/ for å finne et mer tilgjengelig speil.

tlpdb databasen sendes som en egen tarball. texdoc programmet trenger en hurtiglagerfil avledet fra dette (og vil opprette et hurtiglager ved første kjøring).

TeX Live fra kilden Avhengigheter

Anbefalt

Valgfri

Kilden leveres med egne versjoner av flere biblioteker som enten ikke er under aktiv utvikling, eller kun brukt for begrenset funksjonalitet. Hvis du installerer disse, som med noen andre valgfrie avhengigheter i denne boken må fortelle configure til å bruke systemversjonene. GD, t1lib, ZZIPlib, TECkit

Kjøretids avhengigheter

Python2 brukes av ikke-vedlikeholde ebong CTAN modulen (ment for å skrive bengali i Rapid Roman Format). /usr/bin/python er også i shebang linjen for lateks papirstørrelse og lilyglyphs skript, og dokumentasjon hos CTAN sier begge moduler har blitt oppdatert for å fungere med python3. I pythontex er det skript for å starte python3 eller python2 i henhold til systemets versjon av python. Ruby-3.3.5 brukes av to skript, det ene er for pTex (japansk vertikal skrift) og det andre er match_parens som kan være generelt nyttig. Perl modulen Tk, som må kjøres fra en X11 økt for å kjøre testene og krever Tk-8.6.15 brukes av et av skriptene for ptex og er nødvendig for texdoctk (et GUI grensesnitt for å finne dokumentasjonsfiler og åpne dem med riktig viser). ps2pdf, fra ghostscript-10.04.0, blir brukt av noen verktøy og skript.

Installasjon av TeX Live

Installer TeX Live ved å kjøre følgende kommandoer:

[Obs]

Obs

Hvis du ønsker å oppgradere til gjeldende texlive på et eldre system hvor ekstrapakker (asymptote, dvisvgm, eller xindy) har blitt installert, må du installer disse på nytt i tillegg til å fikse opp PATH for $TEXLIVE_PREFIX.

[Notat]

Notat

En vellykket installasjon krever litt texlive kommandoer skal kjøres som root bruker, så vi eksporterer TEXARCH variabel for å la root bruke det.

Nå, som en vanlig bruker:

export TEXARCH=$(uname -m | sed -e 's/i.86/i386/' -e 's/$/-linux/') &&

patch -Np1 -i ../texlive-20240312-source-upstream_fixes-1.patch &&

mkdir texlive-build &&
cd    texlive-build &&

../configure -C                                   \
    --prefix=$TEXLIVE_PREFIX                      \
    --bindir=$TEXLIVE_PREFIX/bin/$TEXARCH         \
    --datarootdir=$TEXLIVE_PREFIX                 \
    --includedir=$TEXLIVE_PREFIX/include          \
    --infodir=$TEXLIVE_PREFIX/texmf-dist/doc/info \
    --libdir=$TEXLIVE_PREFIX/lib                  \
    --mandir=$TEXLIVE_PREFIX/texmf-dist/doc/man   \
    --disable-native-texlive-build                \
    --disable-static --enable-shared              \
    --disable-dvisvgm                             \
    --with-system-cairo                           \
    --with-system-fontconfig                      \
    --with-system-freetype2                       \
    --with-system-gmp                             \
    --with-system-graphite2                       \
    --with-system-harfbuzz                        \
    --with-system-icu                             \
    --with-system-libgs                           \
    --with-system-libpaper                        \
    --with-system-libpng                          \
    --with-system-mpfr                            \
    --with-system-pixman                          \
    --with-system-zlib                            \
    --with-banner-add=" - BLFS" &&

make

For å teste resultatene, utsted: make -k check. En test psutils.test er kjent for å mislykkes hvis du bruker systemets libpaper fordi TeX Live inkluderer gamle versjoner av både psutils og libpaper som resulterer i en forskjell i de siste desimalene til psresize testen. libpaper utvikler tror ikke dette er av betydning.

Nå, som root bruker:

make install-strip &&
make texlinks      &&
mkdir -pv                                $TEXLIVE_PREFIX/tlpkg/TeXLive/ &&
install -v -m644 ../texk/tests/TeXLive/* $TEXLIVE_PREFIX/tlpkg/TeXLive/ &&
tar -xf ../../texlive-20240312-extra.tar.xz -C $TEXLIVE_PREFIX/tlpkg --strip-components=2
[Notat]

Notat

Bare kjør make texlinks en gang. Hvis den kjøres på nytt, kan den endre alle programsymlinkene slik at de peker til seg selv og er ubrukelige.

Installer nå tilleggsfilene som root bruker:

tar -xf ../../texlive-20240312-texmf.tar.xz -C $TEXLIVE_PREFIX --strip-components=1

Fortsatt som root bruker, initialiser det nye systemet (kommandoen fmtutil-sys --all vil produsere masse utdata):

mktexlsr &&
fmtutil-sys --all

For å tillate Evince-46.3.1 or dvisvgm-3.4.1 å lenke til libkpathsea.so, som root bruker (gjen)opprette en symbolkobling fra /usr/lib:

ln -svf $TEXLIVE_PREFIX/lib/libkpathsea.so{,.6} /usr/lib
[Notat]

Notat

TeX Live inkluderer ikke kilden for ConTeXt, bare elementene som er på CTAN. Å prøve å bygge ConTeXt rent fra kilden på et BLFS TeX Live system er en nisjebruk og ser ut som om det vil være mer trøbbel enn det er verdt.

Hvis du ønsker å bruke ConTeXt med luametatex (det meste av den gamle MKII og MKIV koden ble fjernet fra TeX Live 2023 av ConTeXt utvikler), starter med binæren (bare installere ConTeXt, 753 MB i mars 2024) vil sannsynligvis være den enkleste måten å starte den på. Kilden til luametatex kan hentes med git fra github luametatex, kompilert med meson og ninja, og installert ved å kopiere til riktig programmappe. Dette bør unngå å måtte fikse alle symbolkoblinger osv. og unngå også å inkludere de mange urelaterte deler av texmf-dist. Se kommentarer 1 til 5 av #17823.

Du kan nå gå videre til asymptote-2.91, biber-2.20, dvisvgm-3.4.1 og / eller xindy-2.5.1 hvis du ønsker å installere dem.

Parameterforklaringer

-C: oppretter config.cache, som sparer betydelig tid i et parallellbygg.

--prefix=, --bindir=, --datarootdir=, og andre «dir» brytere: disse bryterne sørger for at filene installert fra kilden vil overskrive alle tilsvarende filer som tidligere er installert av install-tl-unx slik at alternative metoder for å installere texlive er konsistente.

--includedir= --libdir= : disse bryterne sikrer at bibliotekene og inkluderte filer vil være innenfor mappen for dette års texlive.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--enable-shared: Bruk delte versjoner av libkpathsea, libptexenc, libsynctex, libtexlua52 og libtexluajit.

--with-system-...: Med mindre denne parameteren brukes, vil de inkluderte versjonene av disse bibliotekene bli statisk kompilert inn i programmene som trenger dem. Hvis du bestemte deg for ikke å installere et anbefalt bibliotek, utelat den tilsvarende bryteren.

--disable-dvisvgm: Som nevnt ovenfor, den sendte versjonen av dvisvgm, som har modifiserte konfigurasjonsfiler, kan ikke bygges med delte systembiblioteker.

make texlinks : dette kjører skriptet texlinks.sh for å lage symbolske lenker fra formater til motorer. I praksis, flere av målene som f.eks xetex er nå separate binærfiler og for disse vil den rapportere "file already exists".

tar -xf texlive-20240312-texmf.tar.xz -C $TEXLIVE_PREFIX --strip-components=1: tarballen inneholder filene for texmf-dist mappen, og fordi dens størrelse ønsker vi ikke å kaste bort tid og plass på å pakke den ut og etterpå kopiere filene.

install -v -m644 ../texk/tests/TeXLive/* $TEXLIVE_PREFIX/tlpkg/TeXLive/: Dette setter perl modulene TLConfig.pm og TLUtils.pm inn i mappen der det binære installasjonsprogrammet plasserer dem - det er på starten av perl @INC@ PATH i texlive når installert ved hjelp av ovenstående konfigurasjons brytere. Uten disse modulene er texlive ubrukelig.

--without-x: bruk dette hvis du ikke har Xorg installert.

Det er mange andre "--disable" eller "--without" alternativer. Noen av dem slik som --without-texinfo blir akseptert, men ikke lenger gjør noe, andre vil forhindre at et program bygges - men desto større mengde plass brukt til de relaterte elementene i texmf betyr at det ikke er noen åpenbar fordel fra å deaktivere noen av programmene.

fmtutil-sys --all: Dette initialiserer TeX formatene, Metafont baser og Metapost mems.

mtxrun --generate: Dette initialiserer ConTeXt systemet.

Innhold

Installerte Programmer: Over 300 binærfiler og symbolkoblinger til skript
Installerte Biblioteker: libkpathsea.so, libptexenc.so, libsynctex.so, libtexlua52.so, libtexluajit.so
Installerte Mapper: $TEXLIVE_PREFIX/bin, $TEXLIVE_PREFIX/include, $TEXLIVE_PREFIX/lib, $TEXLIVE_PREFIX/texmf-dist

Korte Beskrivelser

TeX programs

Programmene som inngår i TeX er for mange til å liste opp hver for seg. Vennligst referer til det enkelte programmets HTML og PDF sider i ulike html, man eller pdf filer i undermappene til 2024/texmf-dist/. Ved bruk av texdoc pdflatex ( erstatt pdflatex med kommandonavnet ) kan også være nyttig

libkpathsea.so

(kpathsearch) eksisterer for å slå opp en fil i en liste over mapper og brukes av kpsewhich

libptexenc.so

er et bibliotek for japansk pTeX (publishing TeX)

libsynctex.so

er SyncTeX (Synchronize TeXnology) parserbibliotek

libtexlua52.so

gir Lua 5.2, modifisert for bruk med LuaTeX

libtexluajit.so

gir LuaJIT, modifisert for bruk med LuaJITTeX