Opened 2 years ago

Last modified 2 years ago

#64570 new defect

qt5 asks for clang 7.0 on 10.5.8

Reported by: barracuda156 Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: powerpc Cc:
Port: qt53, qt55, qt56, qt57, qt58

Description

As an example:

36-47:~ svacchanda$ sudo port -v install qt53
--->  Computing dependencies for qt53..
Error: Cannot install clang-7.0 for the arch 'powerpc' because
Error: its dependency python27 does not build for the required arch by default
Error: and the configured universal_archs 'ppc ppc64' are not sufficient.
Error: Follow https://guide.macports.org/#project.tickets if you believe there
is a bug.
Error: Processing of port qt53 failed

This is an obviously wrong behavior: qt5 has not been tested for PowerPC, but clang is known not to work.

Change History (9)

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

Could you attach the main.log please so that we can see the list of compilers MacPorts thought it should try?

I don't see anything in the qt53 portfile about requiring a specific compiler, other than the statement that it requires C++11, so MacPorts base should have picked a suitable compiler. I thought we had this working for PowerPC but maybe not.

comment:2 Changed 2 years ago by kencu (Ken)

No version of qt5 works on darwin PowerPC, and likely never will, unless some funded genius who loves PowerPC darwin comes along, and has about a year to spend on it. But it would be nice to see the right compilers chosen, certainly, which I see is your primary point here.

Last edited 2 years ago by kencu (Ken) (previous) (diff)

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

There are places where clang creeps into the powerpc compiler list still.

Perhaps here < https://github.com/macports/macports-ports/blob/9abb9acdbca50c85354af3c90e4418efcc8402d6/_resources/port1.0/compilers/clang_compilers.tcl#L28> where there is no architecture test, just a system version test.

Last edited 2 years ago by kencu (Ken) (previous) (diff)

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

You only get a clang when building for ppc if all other options have been exhausted. IOW, this is the least of your problems.

comment:5 Changed 2 years ago by kencu (Ken)

In my own ports trees, I exclude clang from ever being offered up on PowerPC, as it's always wrong to do so (in Jan 2022, at least).

comment:6 in reply to:  5 Changed 2 years ago by barracuda156

Replying to kencu:

In my own ports trees, I exclude clang from ever being offered up on PowerPC, as it's always wrong to do so (in Jan 2022, at least).

On my set-ups on 10.6 PPC (10A190) and 10.6.8 Rosetta I do use your custom settings for compilers, so clang is never invoked in Macports, but on 10.5.8 I have standard Macports settings for compilers (so that reporting bugs is easier).

comment:7 in reply to:  2 ; Changed 2 years ago by barracuda156

Replying to kencu:

No version of qt5 works on darwin PowerPC, and likely never will, unless some funded genius who loves PowerPC darwin comes along, and has about a year to spend on it.

It won't be solved if we get gcc10 or gcc11 running in Macports on PowerPC?

But it would be nice to see the right compilers chosen, certainly, which I see is your primary point here.

BTW on 10.6.8 qt53 spits out a nonsense error message instead:

Error: Cannot install qt53-qtbase for the arch 'powerpc' because
Error: its dependency zlib does not build for the required arch by default
Error: and does not have a universal variant.
Error: Follow https://guide.macports.org/#project.tickets if you believe there
is a bug.

Obviously zlib builds for ppc, and I think without any tweaks too:

Sergey-Fedorovs-Mac-mini:~ svacchanda$ port -v installed zlib
The following ports are currently installed:
  zlib @1.2.11_0 (active) requested_variants='' platform='darwin 10' archs='ppc' date='2022-01-23T07:08:38+0800'

comment:8 in reply to:  7 Changed 2 years ago by kencu (Ken)

Replying to barracuda156:

Replying to kencu:

No version of qt5 works on darwin PowerPC, and likely never will, unless some funded genius who loves PowerPC darwin comes along, and has about a year to spend on it.

It won't be solved if we get gcc10 or gcc11 running in Macports on PowerPC?

No. gcc7.5 is actually very capable. I did not find any build failures on PowerPC because gcc7.5 was too old, which is why there was no rush to update it.

Newer compilers often break more things than they fix, in fact.

The build failures for ports on PowerPC Darwin usually relate to 1000 other broken things, like old SDK, or build assumes clang, or build uses asm code and has no PPC implementation, or newer Xcode needed, or newer linker features used, or……………….

Last edited 2 years ago by kencu (Ken) (previous) (diff)

comment:9 Changed 2 years ago by kencu (Ken)

In the case of qt5, upstream just moved on to using newer MacOS-provided technologies that don’t exist on older systems.

Fixing that kind of build error is very hard.

Note: See TracTickets for help on using tickets.