[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