Installing Octave port into new Mavericks system fails

Ryan Schmidt ryandesign at macports.org
Sat May 10 17:41:08 PDT 2014


On May 9, 2014, at 19:42, Jerry wrote:

> Thanks, Ryan. Light testing of Octave indicates that it is currently working. However, at least some of the dependencies indicated in the list above ("Error: The following dependencies were not installed:...") are in fact not installed--but some are. For some reason Octave needs texlive and it is not installed. Some parts of texlive e.g. texlive-bin are installed but others are not. Obviously I can install texlive separately but I'm wondering if something went wrong.
> 
> Do you think something went wrong, i.e, will I find some of these dependencies missing later? Do you think your recipe above (install Octave without +docs, then with +docs) will fix any problems?

You've got the port installed with the +docs variant as you wanted, so no further action is needed on your part; my message was mainly for the archives for anyone else encountering the problem later.

Probably, a bin:-style dependency is declared incorrectly in some port. It might be doxygen.

doxygen is an indirect dependency of octave +docs, and doxygen itself also has a +docs variant. When you request a variant, that variant request gets passed on to all the dependencies that have not yet been installed. So MacPorts tried to install doxygen with the +docs variant as well.

doxygen's +docs variant has an incorrect bin:-style dependency on "bin:pdflatex:texlive"; I filed https://trac.macports.org/ticket/43669 for that.

The dependency "bin:pdflatex:texlive" means: if there is not a binary "pdflatex" in the path, install the port "texlive". The implication is that the port "texlive" will provide the binary "pdflatex", but that's not the case; "pdflatex" is actually provided by texlive-latex. texlive depends on texlive-latex, but it also depends on a lot of other ports that don't relate to latex.

So in your case, MacPorts saw the "bin:pdflatex:texlive" dependency of the doxygen port's +docs variant, saw that the binary "pdflatex" didn't exist, and began installing texlive's dependencies, most of which weren't actually needed, and one of which introduces a circular dependency back to doxygen which makes MacPorts unable to proceed.

If you were to install texlive-latex, either manually or as a dependency of something else, and then try again to install octave +docs, it would work, because now the dependency "bin:pdflatex:texlive" is satisfied by the existence of the pdflatex binary that the texlive-latex port installed. Alternately, first installing doxygen without the +docs variant would work too.

pdfjam has a similar dependency error; I filed https://trac.macports.org/ticket/43668 for that.

latex-mk had a similar problem; it is openmaintainer so I fixed it in https://trac.macports.org/changeset/119933 .




More information about the macports-users mailing list