#13969 closed defect (fixed)
texlive_base doesn't provide latex and pdflatex binaries
Reported by: | vinc17@… | Owned by: | milosh@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.6.0 |
Keywords: | Cc: | vinc17@… milosh@… | |
Port: |
Description
After installing texlive +doc, latex and pdflatex commands cannot be found. The man pages are there, though. FYI:
$ port contents texlive_base|grep latex /opt/local/bin/bg5+latex /opt/local/bin/bg5+pdflatex /opt/local/bin/bg5latex /opt/local/bin/bg5pdflatex /opt/local/bin/cef5latex /opt/local/bin/cef5pdflatex /opt/local/bin/ceflatex /opt/local/bin/cefpdflatex /opt/local/bin/cefslatex /opt/local/bin/cefspdflatex /opt/local/bin/gbklatex /opt/local/bin/gbkpdflatex /opt/local/bin/htlatex /opt/local/bin/pslatex /opt/local/bin/sjislatex /opt/local/bin/sjispdflatex /opt/local/share/info/latex.info /opt/local/share/man/man1/latex.1.gz /opt/local/share/man/man1/pdflatex.1.gz /opt/local/share/man/man1/pslatex.1.gz
Change History (7)
comment:1 Changed 17 years ago by milosh@…
comment:2 Changed 17 years ago by vinc17@…
OK, it seems that the post-activate phase didn't run. "port install texlive_base" failed at the activate phase due to a conflict with teTeX. So, I deactivated teTeX and activated texlive_base with "port activate texlive_base". This is probably a design bug in MacPorts; the post-activate phase should be replaced by a phase that is run both after the install phase in direct mode and after the activate phase in image mode. And if MacPorts cannot know which port the links belong to, this is nasty. Can't the links be installed in destroot? In Debian, the links are in one of the architecture-independent packages (i.e. not with the other binaries):
vin:~> dpkg -L texlive-latex-base | grep /usr/bin/ /usr/bin/latex /usr/bin/pdflatex
So, I suppose there is a solution (are they hardcoded?).
comment:3 Changed 17 years ago by vinc17@…
But I have a file /opt/local/share/texmf/ls-R (more recent than the other files in this directory). So, perhaps the post-activate phase did run after all (but this doesn't explain why I don't have the symbolic links).
comment:4 Changed 17 years ago by milosh@…
The ls-R are regenerated after the install of the texmf-full tree. So if the post-activate of texlive_texmf-full was executed but not the one from texlive_base, the ls-R files are uptodate but not the links.
Yes, there is a (simple) solution: in fact, the texlinks command does not need to be in the post-activate of texlive_base. I will try putting it in the destroot phase of the texlive port. texlinks does not seem to have an option to write in the destroot, so maybe I'll have to use plain ln instead.
comment:5 Changed 17 years ago by milosh@…
I did this in r33079 and r33085 It works for me:
% port contents texlive Port texlive contains: /opt/local/bin/amstex /opt/local/bin/cslatex /opt/local/bin/csplain /opt/local/bin/eplain /opt/local/bin/etex /opt/local/bin/jadetex /opt/local/bin/lambda /opt/local/bin/lamed /opt/local/bin/latex /opt/local/bin/mex /opt/local/bin/mllatex /opt/local/bin/mltex /opt/local/bin/pdfcslatex /opt/local/bin/pdfcsplain /opt/local/bin/pdfetex /opt/local/bin/pdfjadetex /opt/local/bin/pdflatex /opt/local/bin/pdfmex /opt/local/bin/pdfplatex /opt/local/bin/pdfxmltex /opt/local/bin/physe /opt/local/bin/phyzzx /opt/local/bin/platex /opt/local/bin/texsis /opt/local/bin/utf8mex /opt/local/bin/xmltex % ls -l =latex lrwxr-xr-x 1 root admin 21 Jan 17 18:22 /opt/local/bin/latex -> /opt/local/bin/pdftex
comment:6 Changed 17 years ago by vinc17@…
Resolution: | → fixed |
---|---|
Status: | new → closed |
It also works fine here. Thanks.
latex and pdflatex are links generated by texlinks. This is done in post-activate phase as it would fail as long as the files are not in ${prefix}. I know that it can cause problems for particular configuration of macports (no image mode for example), but don't know how to do another way. And as you remarked, these files are not listed in port contents texlive_base and macports does not know which port they belong to.