Opened 5 years ago

Closed 5 years ago

#58083 closed defect (fixed)

port:libtool should use depends_skip_archcheck-append for the xattr dependency

Reported by: RJVB (René Bertin) Owned by: larryv (Lawrence Velázquez)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: larryv (Lawrence Velázquez)
Port: libtool

Description

Without

depends_skip_archcheck-append xattr

you get this kind of error:

> port -nok destroot libtool 
Error: Cannot install libtool for the arch 'x86_64' because
Error: its dependency xattr only supports the archs 'i386 ppc'.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
Error: Processing of port libtool failed
Exit 1

Change History (5)

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

I'm surprised nobody's run into this before. What's special about your situation that's causing you to see this error?

The xattr dependency should be unused except on Mac OS X 10.4 Tiger. All later versions of macOS already include the xattr program.

comment:2 Changed 5 years ago by RJVB (René Bertin)

I was very surprised too. I haven't checked why this would happen on my system.

Could it be that "base" detects that I have port:xattr still installed from long ago, and act on that?

I'm going to have to see if maybe I reactivated port:xattr at some point (I've been tinkering with ports for libacl and libattr), but isn't it a good rule of thumb to pull in platform-specific dependencies conditionally?

comment:3 Changed 5 years ago by RJVB (René Bertin)

My hunch was correct: the issue disappeared when I uninstalled port:xattr. It seems I must have installed that port a few months ago for reasons I can't remember. Either I didn't realise the command was available through the system, or I thought MacPorts has a newer version (as for so many) and didn't notice that's not the case here.

So yeah, I think the proper way to pull in port:xattr is via a standard depspec but only on OS version(s) that require it. And maybe port:xattr should be marked obsolete on all other platforms?

comment:4 in reply to:  3 Changed 5 years ago by larryv (Lawrence Velázquez)

Owner: set to larryv
Status: newaccepted

Replying to RJVB:

So yeah, I think the proper way to pull in port:xattr is via a standard depspec but only on OS version(s) that require it. And maybe port:xattr should be marked obsolete on all other platforms?

The OS isn't really relevant; the build should be able to use whatever xattr is available. The architecture should be ignored anyway, since we're just invoking a tool.

comment:5 Changed 5 years ago by larryv (Lawrence Velázquez)

Resolution: fixed
Status: acceptedclosed

In 932eb892e88ad9baad5dd4e1a2bc2601c8ee991b/macports-ports (master):

libtool: Ignore arch of xattr port, if used

Closes: #58083

Note: See TracTickets for help on using tickets.