[tlbuild] Can't locate mktexlsr.pl]

YuGiOhJCJ Mailing-List yugiohjcj-mailinglist at laposte.net
Tue Feb 16 04:43:25 CET 2016


On Mon, 15 Feb 2016 18:28:23 +0000
Ken Moffat <zarniwhoop at ntlworld.com> wrote:

> On Mon, Feb 15, 2016 at 02:38:17PM +0100, YuGiOhJCJ Mailing-List wrote:
> > On Sun, 14 Feb 2016 16:34:47 +0000
> > Ken Moffat <zarniwhoop at ntlworld.com> wrote:
> > 
> > > On Sun, Feb 14, 2016 at 05:22:17PM +0100, YuGiOhJCJ Mailing-List wrote:
> > > > On Fri, 12 Feb 2016 17:11:09 +0000
> > > > Ken Moffat <zarniwhoop at ntlworld.com> wrote:
> > > > 
> > > > > > For texmf, I am also using the year "2015" in the path:
> > > > > > ---
> > > > > > tar xvf ${DIR}.tar.xz -C ${DESTDIR}/opt/texlive/2015 --strip-components=1
> > > > > > ---
> > > > > > So, I still don't understand why "fmtutil-sys" is looking at an incorrect location to find the mktexlsr.pl file.
> > > > > > 
> > > > > 
> > > > > fmtutil-sys invokes fmtutil (texmf-dist/scripts/texlive/fmtutil.pl).
> > > > > 
> > > > > In that is the line
> > > > > $TEXMFROOT = `kpsewhich -var-value=TEXMFROOT`;
> > > > > 
> > > > > If (as a user) I try that, it includes the year:
> > > > > ken at deluxe ~ $kpsewhich -var-value=TEXMFROOT
> > > > > /opt/texlive/2015
> > > > > 
> > > > > Do you get a different result ?
> > > > > 
> > > > > ĸen
> > > > 
> > > > I get a different result:
> > > > $ kpsewhich -var-value=TEXMFROOT
> > > > /opt/texlive
> > > > 
> > > > Indeed, the year "2015" is missing.
> > > > But why? I don't know.
> > > 
> > > Have you had a previous install in /opt/texlive ?
> > > 
> > > ken at jtm1 ~ $which kpsewhich
> > > /opt/texlive/2015/bin/x86_64-linux/kpsewhich
> > > 
> > > Are you running as a normal user, or are you using sudo, when you
> > > run that kpsewhich command ?  I suspect perhaps where you set $PATH
> > > there might be something odd.  At the moment my PATH is:
> > > 
> > > ken at jtm1 ~ $echo $PATH
> > > /bin:/usr/bin:/usr/local/bin:/opt/kf5/bin:/opt/qt5/bin:/opt/texlive/2015/bin/x86_64-linux
> > > ken at jtm1 ~ $cat /etc/ld.so.conf
> > > 
> > > ĸen
> > 
> > No I don't have a previous install in /opt/texlive.
> > It is a clean install.
> > I removed all previous versions before installing this one.
> > 
> > $ which kpsewhich
> > /opt/texlive/2015/bin/kpsewhich
> > 
> 
> That is one place where you have not followed the BLFS instructions :
> probably harmless, but it's not how we do it.  If you look at our
> instructions, we use $TEXARCH.  The reason for that is because we
> originally used the binaries to bootstrap building from source, and
> doing that ensures the from-source programs overwrite the pre-built
> ones.
> 
> > I am running kpsewhich as a normal user (without sudo).
> > 
> > I have a lot of things in my PATH environment variable:
> > $ echo $PATH
> > /bin:/sbin:/usr/bin:/usr/sbin:/usr/games:/usr/local/bin:/usr/local/sbin:/usr/local/games:/home/yugiohjcj/.cabal/bin:/home/yugiohjcj/fpc-2.4.2/bin:/home/yugiohjcj/documents/downloads/software/eclipse-standard-luna-R-linux-gtk:/home/yugiohjcj/documents/downloads/software/eclipse-modeling-luna-R-linux-gtk:/home/yugiohjcj/documents/downloads/software/eclipse-modeling-juno-SR1-linux-gtk:/home/yugiohjcj/documents/downloads/software/kermeta-1.4.1-galileo-linux_x86:/home/yugiohjcj/documents/downloads/software/apache-ant-1.9.4/bin:/home/yugiohjcj/apps/maven/apache-maven-3.0-SNAPSHOT/bin:/home/yugiohjcj/documents/downloads/software/jdk1.8.0_05/bin:/home/yugiohjcj/documents/downloads/software/WTK2.5.2/bin:/home/yugiohjcj/bin:/home/yugiohjcj/mvn/bin:/opt/texlive/2015/bin/
> > 
> > But I can do this:
> > $ PATH=/bin:/usr/bin:/usr/local/bin:/opt/kf5/bin:/opt/qt5/bin:/opt/texlive/2015/bin
> > $ echo $PATH
> > /bin:/usr/bin:/usr/local/bin:/opt/kf5/bin:/opt/qt5/bin:/opt/texlive/2015/bin
> > $ which kpsewhich
> > /opt/texlive/2015/bin/kpsewhich
> > $ kpsewhich -var-value=TEXMFROOT
> > /opt/texlive
> > So, changing the PATH value does change the result.
> 
> I asked about the PATH because I wondered if kpsewhich was a remnant
> of an older install, but apparently it is not.
> > 
> > $ cat /etc/ld.so.conf 
> > /lib
> > /usr/lib
> > /usr/local/lib
> > /usr/i486-slackware-linux/lib
> > /usr/lib/seamonkey
> > I have not edited the /etc/ld.so.conf file whereas on the LFS instructions [1], it is written to modify this file.
> > 
> > Is it the reason of this failure?
> > 
> 
> Maybe.  You can try that change out for yourself and see if it fixes
> it.  Unless we (BLFS) say that an instruction is optional (e.g.
> building API docs for some programs, or explanations of optional
> configure switches), we expect you to use all the instructions we
> offer.
> 
> > [1] http://www.linuxfromscratch.org/blfs/view/svn/pst/texlive.html
> 
> If you look at the libraries listed at the bottom of that page, ALL
> of them are in /opt/texlive/2015/lib : I am surprised that kpathsea
> runs at all if it cannot find its libraries, and similarly I would
> expect problems with the lua parts of TeX.
> 
> But please answer Norbert's questions first, he is more likely to
> get to the root of the problem (and that may still be in what we are
> doing ;)
> 
> ĸen

OK you found the problem.
I have not completely followed the instructions because I thought this part was not important and I was totally wrong.

I have edited /etc/ld.so.conf:
$ cat /etc/ld.so.conf 
/lib
/usr/lib
/usr/local/lib
/usr/i486-slackware-linux/lib
/usr/lib/seamonkey
/opt/texlive/2015/lib

Then, I have added the architecture to the path:
[...]
TEXARCH=`uname -m | sed -e 's/i.86/i386/' -e 's/$/-linux/'`
[...]
../configure                                        \
    --prefix=/opt/texlive/2015                      \
    --bindir=/opt/texlive/2015/bin/$TEXARCH         \
[...]

Now, that's what I have:
$ which kpsewhich
/opt/texlive/2015/bin/i386-linux/kpsewhich
$ kpsewhich -var-value=TEXMFROOT
/opt/texlive/2015
$ sudo mktexlsr
mktexlsr: Updating /opt/texlive/2015/texmf-dist/ls-R... 
mktexlsr: Updating /opt/texlive/2015/texmf-var/ls-R... 
mktexlsr: Done.
$ sudo fmtutil-sys --all
[...]
50 preloaded fonts
0 words of pdf memory
0 indirect objects
No pages of output.
Transcript written on dviluatex.log.
fmtutil [INFO]: /opt/texlive/2015/texmf-var/web2c/luatex/dviluatex.fmt installed.
fmtutil [INFO]: Disabled formats: 10
fmtutil [INFO]: Successfully rebuild formats: 46
$ sudo mtxrun --generate
[...]
resolvers       | caching | 'files' compiled to '/opt/texlive/2015/texmf-var/luatex-cache/context/1b4da46d1f340757f9984eae810b1464/trees/929f6dbc83f6d3b65dab91f1efa4aacb.luc'
mtxrun          |
mtxrun          | elapsed lua time: 1.935 seconds

That's good: My error "Can't locate mktexlsr.pl" has gone.
But after that, I am unable to compile a simple .tex file:
$ pdftex test.tex 
This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015 - BLFS) (preloaded format=pdftex)
 restricted \write18 enabled.
entering extended mode
(./test.tex
! Undefined control sequence.
l.1 \documentclass
                  {article}
? 

Something wrong?


More information about the tlbuild mailing list