Opened 14 years ago

Closed 14 years ago

Last modified 13 years ago

#24855 closed defect (invalid)

Non-universal build dependencies prevent universal builds

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: base Version: 1.8.99
Keywords: Cc: aaron@…
Port:

Description

MacPorts 1.9.0 beta 1 prevents the installation of the universal variant of some ports that had no trouble installing with the universal variant under MacPorts 1.8.2, specifically those which have build dependencies that can't build universal:

bash-3.2# port install xorg-server +universal
--->  Computing dependencies for xorg-serverWarning: xorg-applewmproto has no universal variant
Warning: xorg-damageproto has no universal variant
Warning: xorg-fontsproto has no universal variant
Warning: xorg-recordproto has no universal variant
Warning: xorg-resourceproto has no universal variant
Warning: xorg-scrnsaverproto has no universal variant
Warning: xorg-videoproto has no universal variant
Warning: autoconf has no universal variant
Warning: doxygen has no universal variant

Error: Cannot install xorg-server for the arch(s) 'i386 x86_64' because
Error: its dependency doxygen does not build for the required arch(s) by default
Error: and does not have a universal variant.
Error: Unable to execute port: architecture mismatch
To report a bug, see <http://guide.macports.org/#project.tickets>

I don't think MacPorts needs to be checking that the architectures of build dependencies match the current port's requested architectures. The build dependencies' architectures just need to be compatible with the machine doing the building.

Change History (6)

comment:1 Changed 14 years ago by jmroot (Joshua Root)

Resolution: invalid
Status: newclosed

Use depends_skip_archcheck.

comment:2 Changed 13 years ago by aaron@…

How do you use depends_skip_archcheck. I googled "depends_skip_archcheck site:macports.org", but got nothing which indicates how I would use this flag/command, or whatever it is.

comment:3 Changed 13 years ago by aaron@…

Cc: aaron@… added

Cc Me!

comment:4 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Joshua is saying that every port that depends on a port that is not universal, but that does not care about that, should be modified to include the line "depends_skip_archcheck theport" where "theport" is the name of the port whose architectures need not be checked. This is something a port maintainer would be changing; it's not something an end user needs to be concerned with. If you are experiencing this error, you should file a ticket so the maintainer of the applicable port can make the needed change.

comment:5 Changed 13 years ago by aaron@…

I am trying to install wxwidgets through ports, and smpeg is failing, because it will not build universal. Joshua, the ticket has already been opened, and closed (!@#!@%), quite a few times over the last year. When closed, the message is "don't build universal", but I cannot work out how to do this.

To get through my roadblock, I think I need to work out how to add depends_skip_archcheck to the port as an enduser. I am not an expert in ports, or a unix sysadmin, but an AI researcher - so this type of thing is not my specialty. So, is that the correct thing to do? How would I do it?

comment:6 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

This ticket was filed 6 months ago by me and closed as invalid 6 months ago by Joshua. We should not be adding more comments to it.

I assume you are referring to the smpeg ticket #26937 so any further comments about that issue should be continued there.

Note: See TracTickets for help on using tickets.