Opened 12 years ago
Last modified 10 years ago
#37604 reopened defect
doxygen and xorg-libxcb circular dependency
Reported by: | jmercie1@… | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.1.2 |
Keywords: | Cc: | michaelld (Michael Dickens), ryandesign (Ryan Carsten Schmidt), azz_chattock@…, jeremyhu (Jeremy Huddleston Sequoia), cssdev, cooljeanius (Eric Gallager), mkae (Marko Käning), mojca (Mojca Miklavec), petrrr | |
Port: | doxygen xorg-libxcb |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
seems to be a problem I am not sure how to fix....
here is the terminal window:
---> Computing dependencies for octave-devel ---> Dependencies to be installed: ghostscript xorg-libXext xorg-libX11 xorg-libxcb doxygen graphviz gd2 xpm xorg-libXt libLASi pango Xft2 xrender cairo xorg-xcb-util gobject-introspection xorg-libXaw groff xorg-libXmu texlive texlive-basic texlive-bin poppler xorg-libXp texlive-documentation-base texlive-bin-extra dvipng latexmk texlive-latex pdfjam texlive-latex-recommended pgf texlive-context texlive-fonts-recommended texlive-math-extra texlive-metapost texlive-xetex texlive-generic-recommended texlive-documentation-english texlive-fontutils lcdf-typetools ps2eps texlive-lang-czechslovak texlive-lang-dutch texlive-lang-english texlive-lang-french texlive-lang-german texlive-lang-italian texlive-lang-polish texlive-lang-portuguese texlive-lang-spanish texlive-luatex texlive-latex-extra texlive-pictures gnuplot Error: The following dependencies were not installed: ghostscript xorg-libXext xorg-libX11 xorg-libxcb doxygen graphviz gd2 xpm xorg-libXt libLASi pango Xft2 xrender cairo xorg-xcb-util gobject-introspection xorg-libXaw groff xorg-libXmu texlive texlive-basic texlive-bin poppler xorg-libXp texlive-documentation-base texlive-bin-extra dvipng latexmk texlive-latex pdfjam texlive-latex-recommended pgf texlive-context texlive-fonts-recommended texlive-math-extra texlive-metapost texlive-xetex texlive-generic-recommended texlive-documentation-english texlive-fontutils lcdf-typetools ps2eps texlive-lang-czechslovak texlive-lang-dutch texlive-lang-english texlive-lang-french texlive-lang-german texlive-lang-italian texlive-lang-polish texlive-lang-portuguese texlive-lang-spanish texlive-luatex texlive-latex-extra texlive-pictures gnuplot To report a bug, follow the instructions in the guide: http://guide.macports.org/#project.tickets Error: Processing of port octave-devel failed
I have uploaded the log
Attachments (1)
Change History (28)
Changed 12 years ago by jmercie1@…
comment:1 follow-up: 2 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Description: | modified (diff) |
---|
One of octave-devel's dependencies failed to install. We need to see the main.log from that failure to know what went wrong.
comment:2 Changed 12 years ago by jmercie1@…
Replying to ryandesign@…:
One of octave-devel's dependencies failed to install. We need to see the main.log from that failure to know what went wrong.
--- The log was uploaded at the time the ticket was placed, but it seems to have taken some time to upload. The file/link seems to be working now, having checked it myself....
comment:3 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
I have seen the log attached to this ticket, but it is a log of octave-devel, which is not the port that failed to build. The only thing this log tells us is that one of the following ports failed to build:
:error:main The following dependencies were not installed: ghostscript xorg-libXext xorg-libX11 xorg-libxcb doxygen graphviz gd2 xpm xorg-libXt libLASi pango Xft2 xrender cairo xorg-xcb-util gobject-introspection xorg-libXaw groff xorg-libXmu texlive texlive-basic texlive-bin poppler xorg-libXp texlive-documentation-base texlive-bin-extra dvipng latexmk texlive-latex pdfjam texlive-latex-recommended pgf texlive-context texlive-fonts-recommended texlive-math-extra texlive-metapost texlive-xetex texlive-generic-recommended texlive-documentation-english texlive-fontutils lcdf-typetools ps2eps texlive-lang-czechslovak texlive-lang-dutch texlive-lang-english texlive-lang-french texlive-lang-german texlive-lang-italian texlive-lang-polish texlive-lang-portuguese texlive-lang-spanish texlive-luatex texlive-latex-extra texlive-pictures gnuplot
Please attach the main.log of that port, whichever one it is that failed.
comment:4 follow-up: 5 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
If you're not sure which port it was, you can just try it again, but clean before doing so:
sudo port clean octave-devel rdepof:octave-devel sudo port install octave-devel
If it fails again on any of the ports, one of the last lines printed should be the location of the relevant logfile.
comment:5 Changed 12 years ago by jmercie1@…
Replying to ryandesign@…:
If you're not sure which port it was, you can just try it again, but clean before doing so:
sudo port clean octave-devel rdepof:octave-devel sudo port install octave-develIf it fails again on any of the ports, one of the last lines printed should be the location of the relevant logfile.
-- perfect, works like a charm now... thanks.
comment:6 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → worksforme |
---|---|
Status: | new → closed |
comment:7 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | michaelld@… ryandesign@… azz_chattock@… added |
---|---|
Port: | octave-devel added |
Resolution: | worksforme |
Status: | closed → reopened |
Summary: | Error: Processing of port octave-devel failed → octave-devel circular dependency |
comment:8 Changed 12 years ago by jmroot (Joshua Root)
Try not using +docs until you have doxygen installed.
comment:9 Changed 12 years ago by michaelld (Michael Dickens)
Cc: | jeremyhu@… css@… added |
---|---|
Port: | doxygen xorg-libxcb added; octave-devel removed |
Summary: | octave-devel circular dependency → doxygen and xorg-libxcb circular dependency |
I think this problem is really doxygen and xorg-libxcb. Do the following to test:
port rdeps doxygen +docs | grep doxygen port rdeps xorg-libxcb +docs | grep xorg-libxcb
Which results in:
The following ports are dependencies of doxygen @1.8.3_3+docs+latex: doxygen The following ports are dependencies of xorg-libxcb @1.9_0+docs+python27: xorg-libxcb
The dependency comes via:
% port rdeps doxygen +docs The following ports are dependencies of doxygen @1.8.3_3+docs+latex: texlive texlive-basic texlive-documentation-base texlive-bin poppler cairo xrender xorg-libX11 xorg-libxcb doxygen
xorg-libxcb contains, in the variant docs:
depends_build-append port:doxygen
So, maybe a temporary way around this issue is to install doxygen without +docs first, then install "xorg-libxcb +docs", then install "doxygen +docs"?
Anyway, this issue is not due to octave-devel; it's an SEP from my perspective :)
comment:12 Changed 12 years ago by mf2k (Frank Schima)
Port: | doxygen, xorg-libxcb → doxygen xorg-libxcb |
---|
comment:13 Changed 12 years ago by cooljeanius (Eric Gallager)
#38664 is a similar set of circular dependencies that also includes doxygen and xorg-libxcb.
comment:14 Changed 11 years ago by bpabbott@…
I've run into the dependency look with port mpkg octave-devel +atlas+docs...
, and am unable to work around the problem, so I'm editing the Portfiles and commenting out the docs
variant. That gave me an idea to resolve the circular dependency. Rather than a docs
variant, could ports for the documentation be introduced, say xorg-libxcb-docs
?
comment:15 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Separate ports for documentation generally seems like a good idea, and easier to do now that we have subports. But it's still a bit of work for ports that build documentation as part of their regular build process, like xorg-libxcb and octave-devel.
comment:16 Changed 11 years ago by cooljeanius (Eric Gallager)
ok, how about a doxygen-docs
subport for doxygen
then? That seems like its +docs
variant should be easier to split off, and also Fink does something similar...
comment:22 Changed 10 years ago by mojca (Mojca Miklavec)
I don't think it did, even though it was a nice move to remove dependency on the whole texlive monster ;). Probably the best idea would indeed be to split the documentation into a separate subport.
comment:23 follow-up: 26 Changed 10 years ago by mojca (Mojca Miklavec)
I see one more "problem" with the following:
depends_build-append bin:pdflatex:texlive-latex \ bin:gs:ghostscript \ port:texlive-latex-extra
This doesn't make any sense. The whole point of bin:pdflatex
is to allow using external TeX Live. However port:texlive-latex-extra
depends on texlive-latex
, so one ends up installing texlive-latex
no matter what. Plus, if external TeX distribution doesn't provide packages required for doxygen, texlive-latex-extra is of no help anyway. External pdflatex won't see the files from texlive-latex-extra unless configured to search there.
Either change that to
depends_build-append bin:pdflatex:texlive-latex-extra \ bin:gs:ghostscript
and assume that external latex works sufficiently well, or require the package from MP from the start:
depends_build-append port:texlive-latex-extra \ bin:gs:ghostscript
comment:25 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Well, port:texlive-latex-extra
was added by Chris in r69976 to fix #25774 (failed to build with docs variant without this dependency). I do not know if MacTeX provides the same files as the texlive-latex-extra port. #26002 may be relevant. (It talks about differences between TeX Live and pTeX, but there may be similar differences between TeX Live and MacTeX.) Someone who uses MacTeX should let us know.
comment:26 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to mojca@…:
depends_build-append bin:pdflatex:texlive-latex-extra \ bin:gs:ghostscript
This does not make sense, because again, the texlive-latex-extra port does not provide a pdflatex binary; the texlive-latex port does, so to that extent, the dependency is now correct as set in r120417. Consider the scenario where the texlive-latex port is installed and the texlive-latex-extra port is not installed. The proposed dependency "bin:pdflatex:texlive-latex-extra
" would cause MacPorts to not install the port texlive-latex-extra, since the pdflatex binary was found. This would cause the build to fail because the required components from the texlive-latex-extra port were not there.
comment:27 Changed 10 years ago by mojca (Mojca Miklavec)
Problems with pTeX should be "ignored". pTeX has to be removed, sooner or later.
MacTeX usually provides all the necessary files (by default it installs the whole TeX Live), but there is no guarantee that the user will have a full/latest/working TeX distribution installed. User might just as well create
ln -s /usr/bin/true path-to-bin/pdflatex
or use a broken TeX distribution and nothing will work. I'm exaggerating a bit, but if user deliberately uses external tools (possibly broken ones), there's nothing you can do to fix issues other than insisting on using the tools from MP.
I'm sorry. Indeed my suggestion had a flaw you pointed out correctly. But the current solution is still "wrong". If user has external pdflatex
, working or not, then port:texlive-latex-extra
is 100% useless for two reasons already mentioned:
- it will install
texlive-latex
anyway (sobin:pdflatex:texlive-latex
could just as well have been port:texlive-latex in the first place) - assuming that the user has a working TeX distribution, but a minimal one which lacks packages from
texlive-latex-extra
: packages installed bytexlive-latex-extra
are useless because externalpdflatex
binary won't find those files
(In this particular case Fink has/had a point by providing "meta" ports for external TeX distribution.)
The only proper solution would be to check whether bin:pdflatex
comes from external bin
or from port:texlive-latex
and only install texlive-latex-extras
when using pdflatex
from MP.
main.log