[MacPorts] #51801: qt5: support older versions of OS X via different versions of Qt 5
MacPorts
noreply at macports.org
Wed Aug 3 15:14:17 PDT 2016
#51801: qt5: support older versions of OS X via different versions of Qt 5
------------------------------+------------------------
Reporter: davide.liessi@… | Owner: mcalhoun@…
Type: enhancement | Status: new
Priority: Normal | Milestone:
Component: ports | Version:
Resolution: | Keywords:
Port: qt5 |
------------------------------+------------------------
Comment (by kenneth.f.cunningham@…):
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:
{{{
set qt5_min_tested_version 10
}}}
and then ran
{{{
sudo port -v configure qt5 configure.compiler=macports-clang-3.8
}}}
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:
{{{
This is the Qt Open Source Edition.
You are licensed to use this software under the terms of
the Lesser GNU General Public License (LGPL) versions 2.1.
You are also licensed to use this software under the terms of
the GNU Lesser General Public License (LGPL) versions 3.
You have already accepted the terms of the Open Source license.
Running configuration tests (phase 1)...
/Developer/usr/bin/clang++ -c -fvisibility=hidden fvisibility.c
clang: warning: treating 'c' input as 'c++' when in C++ mode, this
behavior is deprecated
Symbol visibility control enabled.
ld: unknown option: --enable-new-dtags
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
/Developer/usr/bin/clang++ -o libtest.so -shared -Wl,-Bsymbolic-functions
-fPIC bsymbolic_functions.c
clang: warning: treating 'c' input as 'c++' when in C++ mode, this
behavior is deprecated
ld: unknown option: -Bsymbolic-functions
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
Symbolic function binding disabled.
DEFAULT_INCDIRS="/usr/include
/usr/local/include"
DEFAULT_LIBDIRS="/lib
/usr/lib"
Done running configuration tests.
Creating qmake...
/Developer/usr/bin/clang++ -c -o project.o -pipe -stdlib=libc++ -isysroot
/Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.6 -ffunction-
sections -O2 -fconstant-cfstrings -MMD -g
-I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt5/qt5-qtbase/work
/qtbase-opensource-src-5.6.1/qmake
-I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt5/qt5-qtbase/work
/qtbase-opensource-src-5.6.1/qmake/library
-I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt5/qt5-qtbase/work
/qtbase-opensource-src-5.6.1/qmake/generators
-I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt5/qt5-qtbase/work
/qtbase-opensource-src-5.6.1/qmake/generators/unix
-I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt5/qt5-qtbase/work
/qtbase-opensource-src-5.6.1/qmake/generators/win32
-I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt5/qt5-qtbase/work
/qtbase-opensource-src-5.6.1/qmake/generators/mac
-I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt5/qt5-qtbase/work
/qtbase-opensource-src-5.6.1/qmake/generators/integrity
-I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt5/qt5-qtbase/work
/qtbase-opensource-src-5.6.1/include
-I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt5/qt5-qtbase/work
/qtbase-opensource-src-5.6.1/include/QtCore
-I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt5/qt5-qtbase/work
/qtbase-opensource-src-5.6.1/include/QtCore/5.6.1
-I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt5/qt5-qtbase/work
/qtbase-opensource-src-5.6.1/include/QtCore/5.6.1/QtCore
-I../src/corelib/global -DHAVE_QCONFIG_CPP
-I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt5/qt5-qtbase/work
/qtbase-opensource-src-5.6.1/mkspecs/macx-clang
-I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt5/qt5-qtbase/work
/qtbase-opensource-src-5.6.1/tools/shared -DQT_VERSION_STR=\"5.6.1\"
-DQT_VERSION_MAJOR=5 -DQT_VERSION_MINOR=6 -DQT_VERSION_PATCH=1
-DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DPROEVALUATOR_FULL -DQT_NO_TEXTCODEC
-DQT_NO_UNICODETABLES -DQT_NO_COMPONENT -DQT_NO_COMPRESS -DQT_NO_THREAD
-DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DATASTREAM
-DQT_CRYPTOGRAPHICHASH_ONLY_SHA1 -DQT_JSON_READONLY -DQT_NO_STANDARDPATHS
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt5/qt5-qtbase/work
/qtbase-opensource-src-5.6.1/qmake/project.cpp
clang: error: invalid deployment target for -stdlib=libc++ (requires Mac
OS X 10.7 or later)
make: *** [project.o] Error 1
}}}
in file
mkspecs/macx-clang/qmake.conf the deployment target is set as it should be
{{{
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.6
}}}
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 ...
--
Ticket URL: <https://trac.macports.org/ticket/51801#comment:2>
MacPorts <https://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list