Opened 12 months ago

Last modified 12 months ago

#72437 new defect

base check for noarch is misleading

Reported by: barracuda156 Owned by:
Priority: Normal Milestone:
Component: base Version: 2.10.6
Keywords: Cc: ryandesign (Ryan Carsten Schmidt), jmroot (Joshua Root)
Port:

Description (last modified by ryandesign (Ryan Carsten Schmidt))

If nothing is done about it, ports will keep being broken by someone with commit access and no interest to verify changes being committed.

As an illustration: [ddef877594bfe9854f61bf962a7bb3066518bad7/macports-ports] Is this a noarch port? No, of course, it installs /opt/local/lib/libSQLiteCpp.a. But the base is happy if it is incorrectly marked as noarch, and complains otherwise that no mach-o files are being installed.

There are a lot of ports which install static libs and headers.

Change History (6)

comment:1 Changed 12 months ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)

Certainly ports that install Mach-O compiled files should not be marked noarch.

What resolution do you envision for this ticket? What do you want changed?

comment:2 in reply to:  1 ; Changed 12 months ago by barracuda156

Replying to ryandesign:

Certainly ports that install Mach-O compiled files should not be marked noarch.

What resolution do you envision for this ticket? What do you want changed?

If there is no way to detect static libs as arch-specific by file properties, then perhaps disable that warning for all ports which install static libs, going by file extension (.a). Since it is that warning which leads to the problem.

comment:3 Changed 12 months ago by barracuda156

Wonder how many more will be broken: [80f0e92b4505066dad8e0497868f8966823349e9/macports-ports]

Last edited 12 months ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:4 Changed 12 months ago by jmroot (Joshua Root)

Far more ports have been corrected than broken since this feature was added (which was in January 2024 BTW, so this is hardly an urgent new issue). A patch to detect the architectures of library archives would be welcome.

comment:5 in reply to:  2 ; Changed 12 months ago by ryandesign (Ryan Carsten Schmidt)

Replying to barracuda156:

perhaps disable that warning for all ports which install static libs, going by file extension (.a). Since it is that warning which leads to the problem.

Now I understand. Something in MacPorts base is recommending some ports be marked noarch, and sometimes the recommendation is wrong, and users follow the recommendation without realizing when it is wrong.

Replying to barracuda156:

Wonder how many more will be broken: [80f0e92b4505066dad8e0497868f8966823349e9/macports-ports]

That one is addressed in #72466.

comment:6 in reply to:  5 Changed 12 months ago by jmroot (Joshua Root)

Replying to ryandesign:

Now I understand. Something in MacPorts base is recommending some ports be marked noarch, and sometimes the recommendation is wrong, and users follow the recommendation without realizing when it is wrong.

The message isn't phrased as a recommendation of what to do:

--->  Testing testport1
Warning: testport1 is configured to build for the architecture(s) 'arm64', but did not install any Mach-O files.

The problem could just as easily be that the build system silently failed to install any binaries, rather than the port needing to be marked as noarch. There is an option to disable the test for ports where it isn't applicable.

Replying to barracuda156:

Wonder how many more will be broken: [80f0e92b4505066dad8e0497868f8966823349e9/macports-ports]

That one is addressed in #72466.

And that one was done based on information from an external tool, not base.

Note: See TracTickets for help on using tickets.