Opened 9 years ago

Closed 9 years ago

#48129 closed defect (fixed)

qt4-mac @4.8.7: El Capitan is an unsupported platform

Reported by: SAssadi@… Owned by: michaelld (Michael Dickens)
Priority: Normal Milestone:
Component: ports Version: 2.3.3
Keywords: elcapitan Cc: jan.janssen@…, mdeaudelin (Mathieu Deaudelin-Lemay), springermac (Jonathan Springer), bukczynski@…, christophfink, erben22-macports@…, carlesfernandez (Carles Fernandez), szhorvat (Szabolcs Horvát), Schamschula (Marius Schamschula), diochnos, rlhamil, hgonzale (Humberto Gonzalez), francnet00@…, axone-zero, jguillaumes@…
Port: qt4-mac

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

Error: qt4-mac does not currently build on OSX later than 10.10 'Yosemite'.
Error: org.macports.fetch for port qt4-mac returned: unsupported platform
Please see the log file for port qt4-mac for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt4-mac/qt4-mac/main.log
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets
Error: Processing of port qt4-mac failed
less 
/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt4-mac/qt4-mac/main.log
:debug:main libiconv 1.14_0  is the latest installed
:debug:main libiconv 1.14_0  is active
:debug:main Merging existing variants '' into variants
:debug:main new fully merged portvariants: 
:debug:main Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/textproc/libiconv
:debug:main OS darwin/15.0.0 (Mac OS X 10.11) arch i386
:debug:main Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/_resources/port1.0/variant_descriptions.conf
:debug:main Sourcing PortGroup muniversal 1.0 from /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/_resources/port1.0/group/muniversal-1.0.tcl
:debug:main universal variant already exists, so not adding the default one
:debug:main Running callback portconfigure::add_automatic_compiler_dependencies
:debug:main Finished running callback portconfigure::add_automatic_compiler_dependencies
:debug:main Running callback portbuild::add_automatic_buildsystem_dependencies
:debug:main Finished running callback portbuild::add_automatic_buildsystem_dependencies
:debug:main No need to upgrade! libiconv 1.14_0 >= libiconv 1.14_0
:msg:main --->  Computing dependencies for qt4-mac:info:main .:debug:main Checking for conflicts against qt4-mac
:debug:main Searching for dependency: qt3
:debug:main Didn't find receipt, going to depspec regex for: qt3
:debug:main Searching for dependency: qt3-mac
:debug:main Didn't find receipt, going to depspec regex for: qt3-mac
:debug:main Searching for dependency: qt5-mac
:debug:main Didn't find receipt, going to depspec regex for: qt5-mac
:debug:main Searching for dependency: pkgconfig
:debug:main Found Dependency: receipt exists for pkgconfig
:msg:main 
:debug:main Executing org.macports.main (qt4-mac)
:debug:main changing euid/egid - current euid: 0 - current egid: 0
:debug:main egid changed to: 501
:debug:main euid changed to: 503
:debug:main Skipping completed org.macports.archivefetch (qt4-mac)
:debug:main Privilege de-escalation not attempted as not running as root.
:debug:fetch fetch phase started at Sun Jun 21 07:57:33 CDT 2015
:notice:fetch --->  Fetching distfiles for qt4-mac
:warn:fetch Your DNS servers incorrectly claim to know the address of nonexistent hosts. This may cause checksum mismatches for some ports. See this page for more information: <https://trac.macports.org/wiki/MisbehavingServers>
:debug:fetch Executing proc-pre-org.macports.fetch-fetch-0
:error:fetch qt4-mac does not currently build on OSX later than 10.10 'Yosemite'.
:error:fetch org.macports.fetch for port qt4-mac returned: unsupported platform
:debug:fetch Error code: NONE
:debug:fetch Backtrace: unsupported platform
    while executing
"proc-pre-org.macports.fetch-fetch-0 org.macports.fetch"
    ("eval" body line 1)
    invoked from within
"eval $pre $targetname"
:info:fetch Warning: targets not executed for qt4-mac: org.macports.activate org.macports.fetch org.macports.checksum org.macports.extract org.macports.patch org.macports.configure org.macports.build org.macports.destroot org.macports.install
:notice:fetch Please see the log file for port qt4-mac for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt4-mac/qt4-mac/main.log

Attachments (4)

main.log (4.4 KB) - added by SAssadi@… 9 years ago.
main.log has the error file
detailed-error-message.log.public.plain-text.public.plain-text (27.2 KB) - added by root-control@… 9 years ago.
When disabling the warning, the compilation fails dude to changes in the Foundation.Framework.
detailed-error-message.txt (906 bytes) - added by root-control@… 9 years ago.
Or maybe just an SSL error ? - I am confused.
qt4-mac.10.11.diff (6.0 KB) - added by michaelld (Michael Dickens) 9 years ago.

Download all attachments as: .zip

Change History (50)

Changed 9 years ago by SAssadi@…

Attachment: main.log added

main.log has the error file

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

Cc: michaelld removed
Description: modified (diff)
Keywords: elcapitan added; qt4-mac OSX10.11 El Capitan removed
Milestone: MacPorts Future
Owner: changed from macports-tickets@… to michaelld@…
Type: requestdefect

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

Cc: jan.janssen@… added

Has duplicate #48181.

Changed 9 years ago by root-control@…

When disabling the warning, the compilation fails dude to changes in the Foundation.Framework.

Changed 9 years ago by root-control@…

Attachment: detailed-error-message.txt added

Or maybe just an SSL error ? - I am confused.

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

Qt4 (and, Qt5) are very complicated builds. Thus, we intentionally disable building them on future platforms. Once I get access to a 10.11 beta or release, I'll see what I can do to get qt4-mac building on it. Until then, I welcome patches for testing and evaluation, once I do get 10.11.

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

Cc: mdeaudelin@… added

Has duplicate #48369; this other ticket also has a patch to look at.

comment:5 Changed 9 years ago by mdeaudelin (Mathieu Deaudelin-Lemay)

For reference, I haven't seen either of those problems when building Qt 4 on OS X 10.11. I've had no error related to the changes in NSEnumerator.h, nor any message related to OpenSSL. Either way, MacPorts uses its own copy of the OpenSSL library, so it shouldn't matter that Apple removed it from the SDK.

What I had trouble with, though, are the numerous calls to ColorSync or ATS deprecated functions. They can be fixed by setting the macosx_deployment_target to 10.10. Otherwise, everything builds fine (so far) with this minor change.

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

Cool; thanks for the reports.

I'm waiting to get a copy of the X.11 beta for testing and evaluation. Once I can do that I'll do the commit to qt4-mac.

comment:7 Changed 9 years ago by springermac (Jonathan Springer)

Cc: springermac@… added

Cc Me!

comment:8 Changed 9 years ago by eirnym (Eir Nym)

@michaelld FYI: OSX 11 beta 3 is out July 30. Can you test QT4?

comment:9 Changed 9 years ago by michaelld (Michael Dickens)

How do I get it? I signed up for the Apple OSX beta program, and have heard nothing. I Apple making this freely available to anyone now? If so, what's a link?

comment:10 in reply to:  9 Changed 9 years ago by bukczynski@…

Replying to michaelld@…:

How do I get it? I signed up for the Apple OSX beta program, and have heard nothing. I Apple making this freely available to anyone now? If so, what's a link?

Try https://beta.apple.com/sp/betaprogram/redemption#osx It will make sign in with your Apple ID, but hopefully works? I thought they opened the Beta program up to everyone..

comment:11 Changed 9 years ago by bukczynski@…

Cc: bukczynski@… added

Cc Me!

comment:12 Changed 9 years ago by bukczynski@…

Cc: bukczynski@… removed

Cc Me!

comment:13 Changed 9 years ago by bukczynski@…

Cc: bukczynski@… added

Cc Me!

comment:14 in reply to:  8 ; Changed 9 years ago by kgarrels

Replying to eirnym@…:

@michaelld FYI: OSX 11 beta 3 is out July 30. Can you test QT4?

It still does not build unless you set the platform back to 10.10

comment:15 in reply to:  14 Changed 9 years ago by mdeaudelin (Mathieu Deaudelin-Lemay)

Replying to kai.garrels@…:

Replying to eirnym@…:

@michaelld FYI: OSX 11 beta 3 is out July 30. Can you test QT4?

It still does not build unless you set the platform back to 10.10

I wouldn't expect that to change from beta to beta. Qt4 uses APIs that were intentionally removed in El Capitan, so it won't ever build against the 10.11 SDK. That is, unless someone rewrites the parts of it who depend on the old ColorSync or Apple Type Services APIs. That patch likely won't come from upstream since they announced the current version would be the last.

comment:16 Changed 9 years ago by christophfink

Cc: christoph.fink@… added

Cc Me!

comment:17 Changed 9 years ago by erben22-macports@…

Cc: erben22-macports@… added

Cc Me!

comment:18 Changed 9 years ago by carlesfernandez (Carles Fernandez)

Cc: carles.fernandez@… added

Cc Me!

comment:19 Changed 9 years ago by michaelld (Michael Dickens)

Well I -finally- got 10.11 installed Monday & started installing everything I generally use using Xcode 7.0.1. I didn't install anything special, just the CLTs. When I try the patch, building still fails in the same way as without it. I'm guessing one has to have the 10.10SDK installed for "macosx_deployment_target 10.10" to work. Looking at the log, it is set correctly and being used during the build. Sigh. I had really hoped this change would "just work". So, now back to backporting some Qt5 changes for these issues. Fun times ahead!

comment:20 Changed 9 years ago by szhorvat (Szabolcs Horvát)

Cc: szhorvat@… added

Cc Me!

Changed 9 years ago by michaelld (Michael Dickens)

Attachment: qt4-mac.10.11.diff added

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

I just attached a "svn diff" file done from $(port dir qt4-mac) that allows qt4-mac to build on 10.11 without resorting to using the 10.10 SDK; at least for me it works. I'd love to get some feedback from others as to if it works for you, too. I think you can just do:

cd $(port dir qt4-mac)
sudo port clean qt4-mac
patch -p0 < PATH_TO/qt4-mac.10.11.diff​
sudo port install qt4-mac

and it should work; where "PATH_TO" is the path to where this patch file is located.

comment:22 in reply to:  21 Changed 9 years ago by bukczynski@…

Worked perfectly on my system. The only exception is I had to sudo the patch command, but the build/install appears to have been successful. Thanks!

comment:23 Changed 9 years ago by gsulshski (Greg Ulsh)

I had to use the sudo patch command as well but I had problem applying the patch.

sudo patch -p0 < /Users/gregoryulsh/developer/macports/qt4-mac.10.11.diff
patching file Portfolio
Hunk #1 FAILED at 238.
1 out of 1 hunk FAILED -- saving rejects to file Portfile.rej
patching file files/patch-src_gui_painting_qpaintengine_mac.diff

here is the Portfile.rej

*** 238,252 ****
  patchfiles-append   \
      patch-tools_macdeployqt_shared_shared.cpp.diff
  
- # error out if trying to build on a new OSX version (> 10.10).
  
  platform darwin {
-     if {${MINOR} > 10} {
          # 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 OSX later than 10.10 'Yosemite'."
              error "unsupported platform"
          }
      }
--- 238,263 ----
  patchfiles-append   \
      patch-tools_macdeployqt_shared_shared.cpp.diff
  
+ # (23) remove ColorSync usage from qpaintengine.
  
+ # This patch allows for building using the 10.11 SDK, and is also
+ # backward compatible with prior OS versions since it just removes API
+ # usage but does not otherwise add any. This patch does roughly the
+ # same thing as that from Qt5 commit b06304e16:
+ # http://code.qt.io/cgit/qt/qtbase.git/commit/?id=b06304e164ba47351fa292662c1e6383c081b5ca
+ 
+ patchfiles-append   \
+     patch-src_gui_painting_qpaintengine_mac.diff
+ 
+ # error out if trying to build on a new OSX version (> 10.11).
+ 
  platform darwin {
+     if {${MINOR} > 11} {
          # 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 OSX later than 10.11 'El Capitan'."
              error "unsupported platform"
          }
      }
Last edited 9 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:24 in reply to:  23 Changed 9 years ago by radoslaw@…

Replying to gsulsh57@…:

sudo rm -rf $(port dir qt4-mac)
sudo port sync
sudo port clean qt4-mac
cd $(port dir qt4-mac)
sudo patch -p0 < PATH_TO/qt4-mac.10.11.diff​
sudo port install qt4-mac

Should fix it!

I had to use the sudo patch command as well but I had problem applying the patch.

sudo patch -p0 < /Users/gregoryulsh/developer/macports/qt4-mac.10.11.diff
patching file Portfolio
Hunk #1 FAILED at 238.
1 out of 1 hunk FAILED -- saving rejects to file Portfile.rej
patching file files/patch-src_gui_painting_qpaintengine_mac.diff

here is the Portfile.rej

*** 238,252 ****
  patchfiles-append   \
      patch-tools_macdeployqt_shared_shared.cpp.diff
  
- # error out if trying to build on a new OSX version (> 10.10).
  
  platform darwin {
-     if {${MINOR} > 10} {
          # 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 OSX later than 10.10 'Yosemite'."
              error "unsupported platform"
          }
      }
--- 238,263 ----
  patchfiles-append   \
      patch-tools_macdeployqt_shared_shared.cpp.diff
  
+ # (23) remove ColorSync usage from qpaintengine.
  
+ # This patch allows for building using the 10.11 SDK, and is also
+ # backward compatible with prior OS versions since it just removes API
+ # usage but does not otherwise add any. This patch does roughly the
+ # same thing as that from Qt5 commit b06304e16:
+ # http://code.qt.io/cgit/qt/qtbase.git/commit/?id=b06304e164ba47351fa292662c1e6383c081b5ca
+ 
+ patchfiles-append   \
+     patch-src_gui_painting_qpaintengine_mac.diff
+ 
+ # error out if trying to build on a new OSX version (> 10.11).
+ 
  platform darwin {
+     if {${MINOR} > 11} {
          # 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 OSX later than 10.11 'El Capitan'."
              error "unsupported platform"
          }
      }
Last edited 9 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

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

Priority: LowNormal
Summary: Install qt4-mac on OSX El Capitan returned: unsupported platformqt4-mac @4.8.7: El Capitan is an unsupported platform

Raising priority to normal because El Capitan has been released.

comment:26 Changed 9 years ago by gsulshski (Greg Ulsh)

I tried the following list above and it worked! I would note that if you start in $(port dir qt4-mac) directory the sudo port sync command will not work. I changed the start of this procedure to the directory where I put the patch and this procedure worked!

Also, my primary reason for using the port qt4-mac is this is a dependency with mythv-core.27. I primarily use a mac mini has a home theatre and mythv and kodi are my primary software packages. If you are trying to install mythtv-core.27, there is another ticket that you will want to run to fix a checksum mismatch with github ...see ticket #48987

sudo rm -rf $(port dir qt4-mac) sudo port sync sudo port clean qt4-mac cd $(port dir qt4-mac) sudo patch -p0 < PATH_TO/qt4-mac.10.11.diff​ sudo port install qt4-mac

gregoryulsh$ sudo port sync
---> Updating the ports tree
Kristens-iMac:macports gregoryulsh$ sudo port clean qt4-mac
---> Cleaning qt4-mac
Kristens-iMac:macports gregoryulsh$ cd $(port dir qt4-mac)
Kristens-iMac:qt4-mac gregoryulsh$ sudo patch -p0 < /Users/gregoryulsh/developer/macports/qt4-mac.10.11.diff
patching file Portfile
patching file files/patch-src_gui_painting_qpaintengine_mac.diff
Kristens-iMac:qt4-mac gregoryulsh$ sudo port install qt4-mac
---> Computing dependencies for qt4-mac
---> Fetching archive for qt4-mac
---> Attempting to fetch qt4-mac-4.8.7_1.darwin_15.x86_64.tbz2 from http://packages.macports.org/qt4-mac[[BR]] ---> Attempting to fetch qt4-mac-4.8.7_1.darwin_15.x86_64.tbz2 from http://mse.uk.packages.macports.org/sites/packages.macports.org/qt4-mac[[BR]] ---> Attempting to fetch qt4-mac-4.8.7_1.darwin_15.x86_64.tbz2 from http://lil.fr.packages.macports.org/qt4-mac[[BR]] ---> Fetching distfiles for qt4-mac
---> Verifying checksums for qt4-mac
---> Extracting qt4-mac
---> Applying patches to qt4-mac
---> Configuring qt4-mac
---> Building qt4-mac
---> Staging qt4-mac into destroot
---> Installing qt4-mac @4.8.7_1
---> Activating qt4-mac @4.8.7_1
NOTE: Qt database plugins for mysql55, postgresql91, and sqlite2 are NOT installed by this port; they are installed by qt4-mac-*-plugin instead.
---> Cleaning qt4-mac
---> Updating database of binaries
---> Scanning binaries for linking errors
---> No broken files found.

comment:27 Changed 9 years ago by michaelld (Michael Dickens)

Awesome; thanks for initial build testing! For folks who've done this patch & install: Does Qt4 work as expected for you in whatever capacity you need to use it? So far in my testing it works correctly for my Qt4-based applications. I'm going to give folks through the weekend for testing / evaluation & then commit on Monday if there are no issues discovered. Given the transition for many folks to 10.11 & the need to build/rebuild qt4-mac, I'm also thinking of doing the install location transition from ticket #44193. If things are going to be (potentially) messy, let's just get it over with (IMHO)!

comment:28 Changed 9 years ago by RJVB (René Bertin)

soo... has this patch been tested on OS X < 10.10, and with KDE4 applications?

comment:29 Changed 9 years ago by Schamschula (Marius Schamschula)

Thanks Michael!

The patch works for me under El Cap, public release, Xcode 7.0.1. I just built octave 4.0.0 against it.

comment:30 Changed 9 years ago by Schamschula (Marius Schamschula)

Cc: mschamschula@… added

Cc Me!

comment:31 Changed 9 years ago by diochnos

Cc: diochnos@… added

Cc Me!

comment:32 Changed 9 years ago by rlhamil

Cc: rlhamil@… added

Cc Me!

comment:33 Changed 9 years ago by rlhamil

patch works for me so far (qt4-mac built painlessly after adding the patch), but other dependency problems keep me from building what I'd usually use that exercised it (the games for KDE4, esp. kshisen).

comment:34 Changed 9 years ago by hgonzale (Humberto Gonzalez)

Cc: hgonzale@… added

Cc Me!

comment:35 Changed 9 years ago by francnet00@…

Cc: francnet00@… added

Cc Me!

comment:36 Changed 9 years ago by axone-zero

Cc: mitroshin@… added

Cc Me!

comment:37 Changed 9 years ago by jguillaumes@…

Cc: jguillaumes@… added

Cc Me!

comment:38 Changed 9 years ago by richard.wooding@…

The patch worked for me. Gnuradio works.

comment:39 Changed 9 years ago by graziosi.angelo@…

The patch seems to work for me too. I upgraded djview and geant4 which depend on qt4-mac...

comment:40 Changed 9 years ago by michaelld (Michael Dickens)

Great; thanks for the continued feedback! I think this patch will get committed Tuesday.

comment:41 Changed 9 years ago by michaelld (Michael Dickens)

Resolution: fixed
Status: newclosed

Committed in r140959.

comment:42 in reply to:  41 Changed 9 years ago by graziosi.angelo@…

Just for completeness..

Replying to michaelld@…:

Committed in r140959.

After upgrading to qt4-mac-4.8.7_2, djview and geant4 were rebuilt without problems.. I only notice that the above link to the committed revision, says

In the repository, changeset 140959 does not exist

The same occurs for other recent revisions..

In any case, thanks for the fix.

Angelo

comment:43 Changed 9 years ago by michaelld (Michael Dickens)

Glad this change is working for folks! We (MP devs) know of the issues with trac & someone of authority is working on addressing them. No idea when it will actually be fixed.

comment:44 in reply to:  43 Changed 9 years ago by ryrrah@…

Resolution: fixed
Status: closedreopened

Replying to michaelld@…:

Glad this change is working for folks! We (MP devs) know of the issues with trac & someone of authority is working on addressing them. No idea when it will actually be fixed.

I am having trouble applying the patch. I am on El Capitan 10.11.1 and have installed the latest versions of Xcode and MacPorts. Following the sequence above, at the point that I apply the patch, I get the following error message:

patching file Portfile Hunk #1 FAILED at 238. 1 out of 1 hunk FAILED -- saving rejects to file Portfile.rej patching file files/patch-src_gui_painting_qpaintengine_mac.diff

The output of Portfile.rej follows. Any suggestions on how to fix this?

Thanks.

Portfile.rej

* * 238,252

patchfiles-append \

patch-tools_macdeployqt_shared_shared.cpp.diff

  • # error out if trying to build on a new OSX version (> 10.10).

platform darwin {

  • if {${MINOR} > 10} {

# 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 OSX later than 10.10 'Yosemite'."

error "unsupported platform"

}

}

--- 238,263 ----

patchfiles-append \

patch-tools_macdeployqt_shared_shared.cpp.diff

+ # (23) remove ColorSync usage from qpaintengine. + # This patch allows for building using the 10.11 SDK, and is also + # backward compatible with prior OS versions since it just removes API + # usage but does not otherwise add any. This patch does roughly the + # same thing as that from Qt5 commit b06304e16: + # http://code.qt.io/cgit/qt/qtbase.git/commit/?id=b06304e164ba47351fa292662c1e6383c081b5ca + + patchfiles-append \ + patch-src_gui_painting_qpaintengine_mac.diff + + # error out if trying to build on a new OSX version (> 10.11). +

platform darwin {

+ if {${MINOR} > 11} {

# 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 OSX later than 10.11 'El Capitan'."

error "unsupported platform"

}

}

comment:45 Changed 9 years ago by michaelld (Michael Dickens)

For folks who tried out a qt4-mac patch & are now trying to upgrade, you'll need to revert the port info for qt4-mac. You can generally do this via:

cd $(port dir qt4-mac)
sudo svn revert -R .

In some cases you'll need to also do:

sudo svn resolve --accept theirs-full -R .

Once "svn status" comes back clean, then do the sync or selfupdate & then you should be able to upgrade qt4-mac to the latest.

comment:46 Changed 9 years ago by michaelld (Michael Dickens)

Resolution: fixed
Status: reopenedclosed

If the above does not resolve your issue, please open a new ticket and attach a log file starting from "port clean qt4-mac". This ticket's issue has been fixed.

Note: See TracTickets for help on using tickets.