Opened 3 years ago

Closed 3 years ago

#63146 closed defect (fixed)

XviD @1.3.7+universal: parse failure with arm64 in universal_archs

Reported by: ShadSterling (Shad Sterling) Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: bigsur Cc:
Port: XviD

Description

port info XviD, port clean XviD, port variants XviD, and port install XviD have the same output:

Error: Unable to open port: can't read "my_targets(arm64)": no such element in array

Since these commands work as expected with other ports I suspect the problem is with the port, but it seems pretty amazing that info doesn't work

I have +universal in my /opt/local/etc/macports/variants.conf. I don't use XviD, this came up as a failure in port clean all

Output of port -d clean --all -f XviD:

DEBUG: Copying /Users/polyergic/Library/Preferences/com.apple.dt.Xcode.plist to /opt/local/var/macports/home/Library/Preferences
DEBUG: Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/multimedia/XviD
DEBUG: OS darwin/20.3.0 (macOS 11.2.3) arch i386
DEBUG: Sourcing PortGroup muniversal 1.0 from /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/_resources/port1.0/group/muniversal-1.0.tcl
DEBUG: can't read "my_targets(arm64)": no such element in array
    while executing
"set merger_configure_args(${arch}) --build=$my_targets(${arch})-apple-darwin${os.major}"
    ("foreach" body line 2)
    invoked from within
"foreach arch ${configure.universal_archs} {
            set merger_configure_args(${arch}) --build=$my_targets(${arch})-apple-darwin${os.major}
      ..."
    ("uplevel" body line 6)
    invoked from within
"uplevel 1 $code"
    (procedure "platform" line 34)
    invoked from within
"platform darwin {
    if {![info exists universal_possible]} {
        set universal_possible [expr {${os.universal_supported} && [llength ${configure..."
    (file "Portfile" line 49)
    invoked from within
"source Portfile"
    invoked from within
"$workername eval {source Portfile}"
DEBUG: can't read "my_targets(arm64)": no such element in array
    while executing
"error $result"
    (procedure "mportopen" line 53)
    invoked from within
"mportopen $porturl [array get options] [array get requested_variations]"
Error: Unable to open port: can't read "my_targets(arm64)": no such element in array

Change History (4)

comment:1 Changed 3 years ago by kencu (Ken)

Summary: XviD: too broken to do anythingXviD @1.3.7:handle target(arm64)

xvid needs to either handle target(arm64) or mark it as unsupported on arm64.

https://github.com/macports/macports-ports/blob/a9d6aff6a19a128ceada444fb971fbef525c9ed3/multimedia/XviD/Portfile#L44

comment:2 Changed 3 years ago by jmroot (Joshua Root)

Summary: XviD @1.3.7:handle target(arm64)XviD @1.3.7+universal: parse failure with arm64 in universal_archs

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

Owner: set to ryandesign
Status: newaccepted

It builds fine on arm64 when not using the universal variant.

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

Resolution: fixed
Status: acceptedclosed

In faa70a86d2fa7b7b0c53a61b827061c5f6ea0270/macports-ports (master):

XviD: Fix universal build that includes arm64

Closes: #63146

Also presumably fix ppc/i386 universal build by ensuring that
--disable-assembly is specified for the Intel parts and not the PowerPC
parts regardless whether the build machine is Intel or PowerPC.

See: #32802

Note: See TracTickets for help on using tickets.