On Sun, Jun 11, 2017 at 07:41:36PM +0200, Pierre Labastie wrote:
(some detailed information which helped me understand the problem,
but which I have now snipped)
Summary: I think running plain 'ldconfig' is the problem, and that
texlive doesn't need to know about anything more.
Sorry for the delay in replying, I was looking at the things I
upgrade for a new firefox (due this week, I think) and testing out
nss, then catching up with food and TV/recording. I started a
reply, but I've had to build texlive again to check things.
The thing we run before 'make texlinks' is ldconfig. That is in
/sbin, so the '&&' means things will stop at that point for those
who do not have that on their PATH, I think ?
To fix that, I will change it to invoke /sbin/ldconfig like we do
for e.g. Xorg Libraries. I think that should solve the problem.
There now follows a breakdown of what *I* think 'make texlinks'
does. TLDR: ln -s (for progs and scripts,if the links do not yet
exist, or trash them if they do).
For 'make texlinks', the top-level Makefile has
texlinks_dir = texk/texlive/tl_scripts
and
texlinks:
cd $(texlinks_dir) && $(MAKE) $(AM_MAKEFLAGS) run-texlinks
and also
LN_S = ln -s
When that file has been created below the tex-build directory, it
eventually invokes the *links.am files in the am directory below the
top source directory (i.e. ../am/ from texlive-build).
For programs (bin_links.am)
install-bin-links:
if !WIN32
$(MKDIR_P) $(DESTDIR)$(bindir)
@cd $(DESTDIR)$(bindir) && \
for s in $(bin_links); do \
link=`echo $$s | sed 's,.*:,,'`; \
file=`echo $$s | sed 's,:.*,,'`; \
rm -f $$link; \
echo "creating link '$$link' -> '$$file'"; \
$(LN_S) $$file $$link || exit 1; \
done
endif !WIN32
similarly for header links (hdr_links.am) (are there any?)
all-local:
@for file in $(hdr_links); do \
test -f $$file || continue; \
inst=`echo $$file | sed -e 's/^.*\///'`; \
test -f $$inst || { \
rm -f $$inst; \
if $(AM_V_P); then echo "$(LN_S) $$file $$inst"; \
else echo " INST $$inst"; fi; \
$(LN_S) $$file $$inst; } || exit 1; \
done
for man pages (man1_links.am)
install-man1-links:
@cd $(DESTDIR)$(man1dir) && \
for s in $(man1_links); do \
link=`echo $$s | sed 's,.*:,,'`; \
file=`echo $$s | sed 's,:.*,,'`; \
rm -f $$link.1; \
echo "creating link '$$link.1' -> '$$file.1'"; \
echo ".so man1/$$file.1" >$$link.1; \
done
and for scripts (script_links.am) it runs install-links for lua,
perl (pl), shell (sh) :
install-links:
@relpath="$(top_srcdir)/../../build-aux/relpath"; \
test -r $$relpath || { \
echo 'script_links.am:install-links: could not find
relpath script'; \
exit 1; \
}; \
REL=`$(SHELL) $$relpath '$(DESTDIR)' '$(bindir)'
'$(datarootdir)'`; \
if test -z "$$REL"; then \
echo 'script_links.am:install_links: unable to compute
relative path for linked $(TYPE) scripts' >&2; \
exit 1; \
fi; \
cd $(DESTDIR)$(bindir) && \
for f in $($(TYPE)_scripts); do \
rm -f $$f; \
if $(AM_V_P); then echo "creating link '$$f' ->
'$$REL/$(scriptsdir)/$$f.$(EXT)'"; \
else echo " LINK $$f"; fi; \
$(LN_S) $$REL/$(scriptsdir)/$$f.$(EXT) $$f || exit 1; \
done
This also means that the original poster (Diego) will not have run
any of the commands in the block after 'ldconfig', so that he does
not have any perl modules in /opt/texlive/2017/tlpkg/TeXLive/ (or
2016 if that was what he built).
IFF (and only if) that is true, he can as root run
/sbin/ldconfig &&
make texlinks &&
(etc.)
and then he should probably also rerun mktexlsr, fmt-util-sys --all,
mtxrun --generate to be sure those fix up everything.
ĸen
--
I live in a city. I know sparrows from starlings. After that
everything is a duck as far as I'm concerned. -- Monstrous Regiment
--
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page