Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#57083 closed defect (fixed)

qt4-mac @ 4.8.7_7 does not build on macOS Mojave 10.14

Reported by: ylluminarious (George Plymale II) Owned by: michaelld (Michael Dickens)
Priority: Normal Milestone:
Component: ports Version: 2.5.3
Keywords: mojave Cc:
Port: qt4-mac

Description

On Mojave, when one tries to install any port that depends on qt4-mac, the following error is given:

Error: qt4-mac does not currently build on Mac OS X later than 10.13 'High Sierra'.
Error: Failed to fetch qt4-mac: unsupported platform

This means that hundreds of ports will fail to install. I am not familiar with this port, however, so I'm not sure what needs to be done in order to prepare it for Mojave.

Change History (12)

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

Owner: set to michaelld
Status: newassigned

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

Hi George. The port maintainer (Michael) disables the build on new systems that he hasn't tested yet, mostly to avoid 100,000 tickets.

But YOU can be the explorer, if you are prepared to run a beta system!

Use your favourite text editor, for example:

bbedit `port file qt4-mac`

then find this block:

platform darwin {
    if {${MINOR} > 13} {
        # This project needs to be updated to build with clang++ against libc++
        depends_lib
        depends_run
        pre-fetch {
            ui_error "$name does not currently build on Mac OS X later than 10.13 'High Sierra'."
            error "unsupported platform"
        }
    }
}

and change

${MINOR} > 13

to

${MINOR} > 14

and you are on your way. Please report back any success you have (maybe it will just work!). If it doesn't work, please don't be too impatient. We will fix it if it can be fixed!

Best, Ken

comment:3 Changed 6 years ago by michaelld (Michael Dickens)

I didn't realize that Apple opened the MacOS Mojave beta program to the public. Now that they have, I'm installing it right now on one of my workhorse Macs; it has a partition for 10.8 through 10.14, so I can test / verify major changes on a variety of MacOS / Xcode versions.

If the OP follows what Ken wrote, then maybe qt4-mac will build correctly without further ado. That said, I'll get to the point of fixing qt4-mac by the end of this week; hoping Apple didn't deprecate too much API ... Qt4 is pretty old, and some code relies on deprecated APIs that could be removed with any new Xcode / MacOS version. We'll see ...

comment:4 Changed 6 years ago by michaelld (Michael Dickens)

... and ... it actually builds! I'm not going to check the build log for new deprecated API issues ... LOL!

comment:5 Changed 6 years ago by michaelld (Michael Dickens)

Resolution: fixed
Status: assignedclosed

In 545b018f73be77f4076c96817b154a335715e489/macports-ports (master):

qt4-mac: allow to build on 10.14 'Mojave'

Closes: #57083

comment:6 in reply to:  3 Changed 6 years ago by jmroot (Joshua Root)

Replying to michaelld:

I didn't realize that Apple opened the MacOS Mojave beta program to the public.

Note that it is still subject to an NDA. https://beta.apple.com/sp/betaprogram/faq

comment:7 Changed 6 years ago by michaelld (Michael Dickens)

hmmm ... true.

+ The OP shouldn't have opened the issue, as it is a violation of the NDA.

+ I shouldn't mention using the OS, as it is a violation of the NDA.

+ I can update the port & even use the message I used; it's pretty generic & if one looks at the commit it just literally allows qt4-mac to build using macOS 10.14; it doesn't mean that it -will- build.

... So, what do you suggest I/we do here? We could just delete this ticket, yes? That might be the cleanest thing to do.

comment:8 Changed 6 years ago by kencu (Ken)

Homebrew has literally hundreds of issues with Mojave listed in their git repo, and fixes in their formulae labelled as "fix for Mojave".

Seems like the whole idea of the "public beta" is so that people like us can find and fix these errors before the software is released to the wild.

How can "enable build on Mojave" be against the NDA, I wonder?

comment:9 Changed 6 years ago by jmroot (Joshua Root)

I haven't actually read the current NDA. Best to seek advice from a lawyer if you're not sure whether a given action is in breach of your agreement.

comment:10 Changed 6 years ago by michaelld (Michael Dickens)

The NDA summary is pretty clear:

Don’t blog, post screen shots, tweet, or publicly post information about the public beta software, and don't discuss the public beta software with or demonstrate it to others who are not in the Apple Beta Software Program.

I haven't looked at the specific NDA language, but I'm sure it's more comprehensive.

As this ticket is a "public forum" that "discuss"es the public beta software, I'd say it qualifies as something to "don't" do. Hence, I think that the text "enable build on Mojave" violates the NDA. I also think this ticket rationale violates the NDA, as did my reply in the ticket.

The above stated: What is more important is whether Apple (the owner of the NDA) will actually execute any of the enforcement clauses because of the supposed violation. -I- don't think Apple is going to do anything about this ticket, nor single out the OP nor me nor anyone else on this ticket for violating the NDA. This is "small potatoes" compared with what they are really trying to protect; probably doesn't even meet a reasonable threshold being considered a violation, given the connection between MacPorts and OSX (in general).

That said: I'm done here & will not do anything further with it one way or the other. I've addressed the issue per one my various roles within MacPorts-land, and am moving on to other pastures. If the MacPorts "powers that be" wish to delete this ticket or any part of it, I'm fine with them doing so.

THAT SAID: I am not a lawyer. Rephrasing Joshua: It's best to consult with a qualified lawyer if you're concerned whether a given action is enough in violation of the NDA to be enforced.

comment:11 Changed 6 years ago by jmroot (Joshua Root)

Any information that may have been revealed is "in the wild" at this point regardless, so I think we'll only delete things if Apple requests it.

comment:12 Changed 6 years ago by ylluminarious (George Plymale II)

Hi all,

Sorry, I haven't had the time to properly follow the discussion here for the past few days. I didn't think about the NDA when I posted this, but as stated above, I don't think that Apple will go after things like this. There are lots of things Apple lets slide, e.g. hackintosh communities, for fear of bad press. That being said, I'll try to be more careful about things like this in the future, but I really don't think Apple will give a hoot at the end of the day. They'd have to go after lots of others if they made a stink about something like this. It would be more trouble than it's worth for them.

Anyway, thanks a lot for fixing this issue! I really appreciate it.

Note: See TracTickets for help on using tickets.