#51801 closed enhancement (wontfix)
qt5: support older versions of OS X via different versions of Qt 5
Reported by: | dliessi (Davide Liessi) | Owned by: | MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | mojca (Mojca Miklavec), iEFdev, mkae (Marko Käning) | |
Port: | qt5 |
Description
In the Portfile for qt5 I found this note
TODO: support older versions of OS X via different versions of Qt 5
I'm still on Snow Leopard and some projects I follow are moving to Qt 5, e.g. Frescobaldi (I maintain its Portfile).
Would it be feasible to implement this? How much effort would it take? I would be glad to help in testing.
Change History (16)
comment:1 Changed 8 years ago by mf2k (Frank Schima)
Cc: | mcalhoun@… removed |
---|---|
Owner: | changed from macports-tickets@… to mcalhoun@… |
comment:2 Changed 8 years ago by kenneth.f.cunningham@…
comment:3 Changed 8 years ago by kenneth.f.cunningham@…
Ah. In the qt5-qtbase configure script, there is a section called "macSDKify()". This calls
/usr/bin/xcrun -sdk SDK -find clang
and this is what returns /Developer/usr/bin/clang instead of the macports version. So this would be the area of attention to try to get that function to return /opt/local/bin/clang instead. Although, to be clear, it's certainly not yet clear that this version of qt5 will be able to ultimately compile on 10.6.8/libc++ even with clang-3.8. The last qt5 that officially worked on 10.6.8 was 5.4 I think.
comment:4 Changed 8 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
comment:5 Changed 8 years ago by mojca (Mojca Miklavec)
Cc: | mojca added |
---|
comment:7 Changed 8 years ago by iEFdev
Cc: | iEFdev added |
---|
comment:8 Changed 8 years ago by iEFdev
Cc: | iEFdev removed |
---|
comment:9 Changed 8 years ago by iEFdev
Cc: | iEFdev added |
---|
comment:10 Changed 8 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
comment:11 Changed 8 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
comment:12 Changed 8 years ago by mkae (Marko Käning)
Cc: | mkae added |
---|
comment:13 Changed 8 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
comment:14 Changed 8 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Resolution: | → wontfix |
---|---|
Status: | new → closed |
Although some version of Qt can build on 10.7-10.12 (see changesets in this ticket and #52922), I can see no realistic way of adding support for 10.6.
Going back many versions, Qt 5 uses CFRunLoopTimerCreateWithHandler, which was not introduced until Mac OS X 10.7.
Sorry I can not do more.
comment:15 follow-up: 16 Changed 8 years ago by dliessi (Davide Liessi)
Didn't 5.3.x compile on 10.6? See the Portfile before commit 2e445fc50b1507164f6a10c6633170e68bf1c07e.
comment:16 Changed 8 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Replying to dliessi:
Didn't 5.3.x compile on 10.6? See the Portfile before commit 2e445fc50b1507164f6a10c6633170e68bf1c07e.
I did not try to get a version of Qt 5.3 working because, according to the INSTALL file, Frescobaldi 3.x.x requires ''Qt >= 5.4.''
If you have some indication to the contrary, please let me know.
I took a stab at starting out. I have Snow leopard with 10.6.8 and the LibCxxOnOlderSystems libc++ upgrade installed. Clang-3.8 is installed and working, and code seems to compile well with it.
To get started, I altered the qt5-1.0.tcl file (the qt5 portgroup) to change the min OS version to SL:
and then ran
It got started, then stopped due to a deployment target error when somehow /Developer/usr/bin/clang++ was called in instead of the macports-clang-3.8 compiler. This errored out, no surprise. Somewhere qt5 (complicated as it is, to be sure) calls in it's own configuration for clang, and does not fully follow the macports set version. I think it might be in pkg-config (?) as I can't (so far) find it hard coded in to the copious and diffuse qt5 configuration and make files. Here's the last error I came to:
in file mkspecs/macx-clang/qmake.conf the deployment target is set as it should be
So I presume the deployment target of 10.7 is somewhere in the Apple default configs? Not sure of that. Next step would seem to be to find out how /Developer/usr/bin/clang++ is being called in, instead of macports-clang-3.8 ...