Opened 6 years ago

Closed 6 years ago

#44017 closed defect (fixed)

qt4-mac does not currently build on OSX later than 10.9 'Mavericks'

Reported by: pdm@… Owned by: michaelld (Michael Dickens)
Priority: Normal Milestone:
Component: ports Version: 2.3.0
Keywords: yosemite Cc: pturing@…, platipodium (Carsten Lemmen), hkroger@…, rudolph.pienaar@…, nchaimov@…, ryandesign (Ryan Schmidt), mkae (Marko Käning), elventear (Pepe Barbe)
Port: qt4-mac

Description

Building qt4-mac on Yosemite yields the following error:

Error: qt4-mac does not currently build on OSX later than 10.9 'Mavericks'.
Error: org.macports.fetch for port qt4-mac returned: unsupported platform

Attachments (2)

main.log (5.7 KB) - added by pdm@… 6 years ago.
qt4-mac-10.10_min.diff (47.8 KB) - added by michaelld (Michael Dickens) 6 years ago.
Trial patch to MacPorts dports for qt4-mac for 10.10 minimum changes

Download all attachments as: .zip

Change History (36)

Changed 6 years ago by pdm@…

Attachment: main.log added

comment:1 Changed 6 years ago by mf2k (Frank Schima)

Owner: changed from macports-tickets@… to michaelld@…

In the future, please Cc the port maintainers (port info --maintainers qt4-mac).

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

There's an upstream patch to fix this, and I need to tweak the local Portfile as well. Hopefully I'll get to this in the next few days.

comment:3 Changed 6 years ago by pturing@…

Cc: pturing@… added

Cc Me!

comment:4 Changed 6 years ago by platipodium (Carsten Lemmen)

Cc: carsten@… added

Cc Me!

comment:5 Changed 6 years ago by hkroger@…

Cc: hkroger@… added

Cc Me!

comment:6 Changed 6 years ago by hkroger@…

Cc: hkroger@… removed

Cc Me!

comment:7 Changed 6 years ago by hkroger@…

Cc: hkroger@… added

Cc Me!

comment:8 Changed 6 years ago by rudolph.pienaar@…

Any updates to this?

cc me, too!

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

Cc: rudolph.pienaar@… added

comment:10 Changed 6 years ago by nchaimov@…

Cc: nchaimov@… added

Cc Me!

comment:11 Changed 6 years ago by holms@…

Still no progress?

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

I haven't had time. I did finally download the 10.10 beta installer :) As always, I welcome patches ...

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

Has duplicate #45125.

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

For those of you so inclined, I've attached a patch (-p0 from "port dir qt4-mac") that should allow qt4-mac to build and work on OS X 10.10; I'm building right now, but my 10.10 test computer is pretty slow (actual hdd @ 7200 rpm using FireWire 800). This patch is minimal, just the changes needed for minimal 10.10 compatibility. If you try this patch, please report back on this ticket success or failure. If failure, please attach the build log, compressed first since it'll be very large.

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

Already a build error:

:info:build kernel/qcocoaapplicationdelegate_mac.mm:125:28: error: cannot initialize a parameter of type 'id<NSFileManagerDelegate>' with an lvalue of type 'NSObject<NSApplicationDelegate> *'
:info:build         [NSApp setDelegate:reflectionDelegate];
:info:build                            ^~~~~~~~~~~~~~~~~~
:info:build /Applications/Xcode-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSFileManager.h:109:47: note: passing argument to parameter 'delegate' here
:info:build @property (assign) id <NSFileManagerDelegate> delegate NS_AVAILABLE(10_5, 2_0);
:info:build                                               ^
:info:build 1 error generated.
:info:build make[1]: *** [.obj/release-shared/qcocoaapplicationdelegate_mac.o] Error 1

Please don't report this issue if you have it; I -obviously- know. I'll update the patch once I have a change.

Changed 6 years ago by michaelld (Michael Dickens)

Attachment: qt4-mac-10.10_min.diff added

Trial patch to MacPorts dports for qt4-mac for 10.10 minimum changes

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

Qt seems to provide patches for this issue; yay! New attached patch which hopefully fixes this issue (and, maybe, more).

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

1.5+ hours compiling already ... maybe this patch is good enough?

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

Yes! This patch worked for me (10.10 beta 4 running on a MBP 17" 2008 [core 2 duo]; Xcode 6.1 beta). Now, I need to test on 10.8 & 10.9. Anybody else have results?

comment:19 Changed 6 years ago by rudolph.pienaar@…

I feel like a newb, but I've never patched a macport before... would someone be kind enough to post some instructions. And yes, I did google it -- wiki:howto/PatchLocal -- but seemed rather involved and I was wondering if there is a simpler way?

Last edited 6 years ago by ryandesign (Ryan Schmidt) (previous) (diff)

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

NP. Let's assume you've downloaded the patch to "~/Downloads/patch-10.10.diff". Then, you'd do:

cd `port dir qt4-mac`
sudo patch -p0 < ~/Downloads/patch-10.10.diff

and assuming "patch" does not complain, then it worked. Next, you'll want to clean the build and try again:

sudo port clean qt4-mac
sudo port install qt4-mac

and if all goes well then things compile for a long time and eventually Qt4 is installed. If the build fails for some reason, then you'd want to do:

tar jcf ~/Desktop/qt4-mac_10.10_fail_log.tar.bz2 `port logfile qt4-mac` 

to create the compressed log file (in a tarball, but whatever). Then, you'd post the file "~/Desktop/qt4-mac_10.10_fail_log.tar.bz2" to this ticket.

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

It built for me using this patch on OS X 10.9.5 using Xcode 6.0.1.

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

It builds for me using this patch on OS X 10.8.5 using Xcode 5.1.1. So, I'm thinking this is good to go. Anybody else have feedback?

comment:23 Changed 6 years ago by ryandesign (Ryan Schmidt)

Cc: ryandesign@… added

Cc Me!

comment:24 Changed 6 years ago by ryandesign (Ryan Schmidt)

It built for me using this patch on OS X 10.6 with Xcode 3.2.6. I tried Qt app gvedit-devel with it and it worked fine. I also tried Qt app QupZilla which crashed, but I don't know if it was working on this platform before I rebuilt qt4-mac.

Last edited 6 years ago by ryandesign (Ryan Schmidt) (previous) (diff)

comment:25 Changed 6 years ago by ryandesign (Ryan Schmidt)

It built also on OS X 10.7 with Xcode 4.3.3.

comment:26 Changed 6 years ago by ryandesign (Ryan Schmidt)

The QupZilla crashes appear to be QupZilla bugs which I'm addressing with its developers. I'd say go ahead and commit this patch!

comment:27 Changed 6 years ago by mkae (Marko Käning)

Cc: mk@… added

Cc Me!

comment:28 Changed 6 years ago by mp@…

Hi I confirm that michaelld@…'s patch works for me under 10.10.

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

Sorry this took so long to get in place. Committed in r126865.

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

Resolution: fixed
Status: newclosed

comment:31 Changed 6 years ago by elventear (Pepe Barbe)

I am having an issue installing with the patch. I will try to figure out what is wrong, but posting here this in case someone else already figured it out:

:debug:patch Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt4-mac/qt4-mac/work/qt-everywhere-opensource-src-4.8.6" && /usr/bin/patch -p0'
:debug:patch Executing command line:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt4-mac/qt4-mac/work/qt-everywhere-opensource-src-4.8.6" && /usr/bin/patch -p0 < '/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/aqua/qt4-mac/files/patch-10.10.diff'
:info:patch patching file src/corelib/global/qglobal.cpp
:info:patch patching file src/corelib/global/qglobal.h
:info:patch patching file src/gui/dialogs/qcolordialog_mac.mm
:info:patch patching file src/gui/dialogs/qfiledialog_mac.mm
:info:patch patching file src/gui/dialogs/qfontdialog_mac.mm
:info:patch patching file src/gui/kernel/qapplication_mac.mm
:info:patch patching file src/gui/kernel/qcocoaapplication_mac.mm
:info:patch patching file src/gui/kernel/qcocoaapplicationdelegate_mac.mm
:info:patch patching file src/gui/kernel/qcocoaapplicationdelegate_mac_p.h
:info:patch patching file src/gui/kernel/qcocoamenuloader_mac.mm
:info:patch patching file src/gui/kernel/qcocoasharedwindowmethods_mac_p.h
:info:patch patching file src/gui/kernel/qeventdispatcher_mac.mm
:info:patch patching file src/gui/kernel/qt_cocoa_helpers_mac.mm
:info:patch patching file src/gui/kernel/qt_mac_p.h
:info:patch patching file src/gui/kernel/qwidget_mac.mm
:info:patch patching file src/gui/styles/qmacstyle_mac.mm
:info:patch patching file src/gui/util/qsystemtrayicon_mac.mm
:info:patch patching file src/gui/widgets/qcocoamenu_mac.mm
:info:patch patching file src/gui/widgets/qmenu_mac.mm
:info:patch patching file src/corelib/global/qglobal.cpp
:info:patch Reversed (or previously applied) patch detected!  Assume -R? [n] 
:info:patch Apply anyway? [n] 
:info:patch Skipping patch.
:info:patch 3 out of 3 hunks ignored -- saving rejects to file src/corelib/global/qglobal.cpp.rej
:info:patch patching file src/corelib/global/qglobal.h
:info:patch Reversed (or previously applied) patch detected!  Assume -R? [n] 
:info:patch Apply anyway? [n] 
:info:patch Skipping patch.
:info:patch 3 out of 3 hunks ignored -- saving rejects to file src/corelib/global/qglobal.h.rej
:info:patch patching file src/gui/dialogs/qcolordialog_mac.mm
:info:patch Reversed (or previously applied) patch detected!  Assume -R? [n] 
:info:patch Apply anyway? [n] 
:info:patch Skipping patch.
:info:patch 4 out of 4 hunks ignored -- saving rejects to file src/gui/dialogs/qcolordialog_mac.mm.rej
:info:patch patching file src/gui/dialogs/qfiledialog_mac.mm
:info:patch Reversed (or previously applied) patch detected!  Assume -R? [n] 
:info:patch Apply anyway? [n] 
:info:patch Skipping patch.
:info:patch 2 out of 2 hunks ignored -- saving rejects to file src/gui/dialogs/qfiledialog_mac.mm.rej
:info:patch patching file src/gui/dialogs/qfontdialog_mac.mm
:info:patch Reversed (or previously applied) patch detected!  Assume -R? [n] 
:info:patch Apply anyway? [n] 
:info:patch Skipping patch.
:info:patch 4 out of 4 hunks ignored -- saving rejects to file src/gui/dialogs/qfontdialog_mac.mm.rej
:info:patch patching file src/gui/kernel/qapplication_mac.mm
:info:patch Reversed (or previously applied) patch detected!  Assume -R? [n] 
:info:patch Apply anyway? [n] 
:info:patch Skipping patch.
:info:patch 7 out of 7 hunks ignored -- saving rejects to file src/gui/kernel/qapplication_mac.mm.rej
:info:patch patching file src/gui/kernel/qcocoaapplication_mac.mm
:info:patch Reversed (or previously applied) patch detected!  Assume -R? [n] 
:info:patch Apply anyway? [n] 
:info:patch Skipping patch.
:info:patch 5 out of 5 hunks ignored -- saving rejects to file src/gui/kernel/qcocoaapplication_mac.mm.rej
:info:patch patching file src/gui/kernel/qcocoaapplicationdelegate_mac.mm
:info:patch Reversed (or previously applied) patch detected!  Assume -R? [n] 
:info:patch Apply anyway? [n] 
:info:patch Skipping patch.
:info:patch 5 out of 5 hunks ignored -- saving rejects to file src/gui/kernel/qcocoaapplicationdelegate_mac.mm.rej
:info:patch patching file src/gui/kernel/qcocoaapplicationdelegate_mac_p.h
:info:patch Reversed (or previously applied) patch detected!  Assume -R? [n] 
:info:patch Apply anyway? [n] 
:info:patch Skipping patch.
:info:patch 2 out of 2 hunks ignored -- saving rejects to file src/gui/kernel/qcocoaapplicationdelegate_mac_p.h.rej
:info:patch patching file src/gui/kernel/qcocoamenuloader_mac.mm
:info:patch Reversed (or previously applied) patch detected!  Assume -R? [n] 
:info:patch Apply anyway? [n] 
:info:patch Skipping patch.
:info:patch 4 out of 4 hunks ignored -- saving rejects to file src/gui/kernel/qcocoamenuloader_mac.mm.rej
:info:patch patching file src/gui/kernel/qcocoasharedwindowmethods_mac_p.h
:info:patch Reversed (or previously applied) patch detected!  Assume -R? [n] 
:info:patch Apply anyway? [n] 
:info:patch Skipping patch.
:info:patch 3 out of 3 hunks ignored -- saving rejects to file src/gui/kernel/qcocoasharedwindowmethods_mac_p.h.rej
:info:patch patching file src/gui/kernel/qeventdispatcher_mac.mm
:info:patch Reversed (or previously applied) patch detected!  Assume -R? [n] 
:info:patch Apply anyway? [n] 
:info:patch Skipping patch.
:info:patch 17 out of 17 hunks ignored -- saving rejects to file src/gui/kernel/qeventdispatcher_mac.mm.rej
:info:patch patching file src/gui/kernel/qt_cocoa_helpers_mac.mm
:info:patch Reversed (or previously applied) patch detected!  Assume -R? [n] 
:info:patch Apply anyway? [n] 
:info:patch Skipping patch.
:info:patch 2 out of 2 hunks ignored -- saving rejects to file src/gui/kernel/qt_cocoa_helpers_mac.mm.rej
:info:patch patching file src/gui/kernel/qt_mac_p.h
:info:patch Reversed (or previously applied) patch detected!  Assume -R? [n] 
:info:patch Apply anyway? [n] 
:info:patch Skipping patch.
:info:patch 1 out of 1 hunk ignored -- saving rejects to file src/gui/kernel/qt_mac_p.h.rej
:info:patch patching file src/gui/kernel/qwidget_mac.mm
:info:patch Reversed (or previously applied) patch detected!  Assume -R? [n] 
:info:patch Apply anyway? [n] 
:info:patch Skipping patch.
:info:patch 6 out of 6 hunks ignored -- saving rejects to file src/gui/kernel/qwidget_mac.mm.rej
:info:patch patching file src/gui/styles/qmacstyle_mac.mm
:info:patch Reversed (or previously applied) patch detected!  Assume -R? [n] 
:info:patch Apply anyway? [n] 
:info:patch Skipping patch.
:info:patch 2 out of 2 hunks ignored -- saving rejects to file src/gui/styles/qmacstyle_mac.mm.rej
:info:patch patching file src/gui/util/qsystemtrayicon_mac.mm
:info:patch Reversed (or previously applied) patch detected!  Assume -R? [n] 
:info:patch Apply anyway? [n] 
:info:patch Skipping patch.
:info:patch 1 out of 1 hunk ignored -- saving rejects to file src/gui/util/qsystemtrayicon_mac.mm.rej
:info:patch patching file src/gui/widgets/qcocoamenu_mac.mm
:info:patch Reversed (or previously applied) patch detected!  Assume -R? [n] 
:info:patch Apply anyway? [n] 
:info:patch Skipping patch.
:info:patch 1 out of 1 hunk ignored -- saving rejects to file src/gui/widgets/qcocoamenu_mac.mm.rej
:info:patch patching file src/gui/widgets/qmenu_mac.mm
:info:patch Reversed (or previously applied) patch detected!  Assume -R? [n] 
:info:patch Apply anyway? [n] 
:info:patch Skipping patch.
:info:patch 5 out of 5 hunks ignored -- saving rejects to file src/gui/widgets/qmenu_mac.mm.rej
:info:patch Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt4-mac/qt4-mac/work/qt-everywhere-opensource-src-4.8.6" && /usr/bin/patch -p0 < '/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/aqua/qt4-mac/files/patch-10.10.diff'

comment:32 Changed 6 years ago by elventear (Pepe Barbe)

Resolution: fixed
Status: closedreopened

comment:33 Changed 6 years ago by ryandesign (Ryan Schmidt)

Cc: elventear@… added

Replying to elventear@…:

I am having an issue installing with the patch.

So is everyone else; see #45421 and #45414.

comment:34 Changed 6 years ago by ryandesign (Ryan Schmidt)

Resolution: fixed
Status: reopenedclosed
Note: See TracTickets for help on using tickets.