Opened 12 years ago

Closed 12 years ago

Last modified 11 years ago

#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 12 years ago by milosh@…

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.

comment:2 Changed 12 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 12 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 12 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 12 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 12 years ago by vinc17@…

Resolution: fixed
Status: newclosed

It also works fine here. Thanks.

comment:7 Changed 11 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

Note: See TracTickets for help on using tickets.