#12137 closed defect (fixed)
BUG: +universal variant for ports that depend on lib:libX11.6:XFree86
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.4.42 |
Keywords: | Cc: | ryandesign (Ryan Carsten Schmidt) | |
Port: |
Description
I want to install "glitz +universal" but it doesn't work:
$ sudo port install glitz +universal Error: Error executing universal: Default universal variant only works with ports based on configure Error: Unable to execute port: Error evaluating variants
This is unexpected because glitz is based on configure.
Debug output shows it's actually complaining about the XFree86 dependency:
$ sudo port -dv install glitz +universal DEBUG: Found port in file:///Users/rschmidt/macports/dports/graphics/glitz DEBUG: Changing to port directory: /Users/rschmidt/macports/dports/graphics/glitz DEBUG: Requested variant darwin is not provided by port glitz. DEBUG: Requested variant i386 is not provided by port glitz. DEBUG: Requested variant macosx is not provided by port glitz. DEBUG: Executing variant universal provides universal DEBUG: Found port in file:///Users/rschmidt/macports/dports/x11/XFree86 DEBUG: Changing to port directory: /Users/rschmidt/macports/dports/x11/XFree86 DEBUG: Requested variant i386 is not provided by port XFree86. DEBUG: Executing variant universal provides universal DEBUG: Default universal variant only works with ports based on configure [snip]
But I'm not even using the XFree86 port; I'm using Apple's X11 quite happily.
I tried sudo port -n install glitz +universal
to tell it not to follow dependencies, but it makes no difference.
Removing depends_lib lib:libX11.6:XFree86
from the glitz portfile does allow glitz +universal to build and install properly, so that confirms that this is indeed the problem. Now how do we fix it?
Change History (3)
comment:1 Changed 17 years ago by ryandesign (Ryan Carsten Schmidt)
Component: | base → ports |
---|---|
Milestone: | Needs developer review → Port Bugs |
Owner: | changed from macports-dev@… to ryandesign@… |
Summary: | BUG: +universal variant for ports that depend on lib:libX11.6:XFree86, for example → BUG: +universal variant for ports that depend on lib:libX11.6:XFree86 |
comment:2 Changed 17 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Note: See
TracTickets for help on using
tickets.
So, I think this is why the problem occurred: I asked for "glitz +universal" and MacPorts automatically checked each port on which glitz depends to see if it has a +universal variant. Since MacPorts makes a +universal variant available to all ports, it found one in the XFree86 port, and since the default +universal variant doesn't work with ports that don't use configure, and since XFree86 doesn't use configure, it bailed.
I fixed this in r26296 for ports that depend on XFree86 by specifying "universal_variant no" in XFree86 to delete the universal variant. However, the issue will still remain for other ports that are like XFree86, and I also think there are still some infrastructure problems that this situation exposes, which I'll file as separate issues:
#12169: MacPorts shouldn't evaluate variants of non-required dependencies
#12170: the default +universal variant shouldn't appear in ports where we know it won't work
This bug, now being only about the specific problem of installing +universal versions of ports that depend on XFree86, can now be closed.