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 follow-up: 2 Changed 12 months ago by ryandesign (Ryan Carsten Schmidt)
| Description: | modified (diff) |
|---|
comment:2 follow-up: 5 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]
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 follow-up: 6 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 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.

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?