[mythtv] error building with qt5 on mac os x

Craig Treleaven ctreleaven at cogeco.ca
Wed Mar 11 13:03:04 UTC 2015


At 9:59 AM -0400 3/10/15, brad dreisbach wrote:
>attempted to build on mac(10.10) with qt5(binary release).
>
>./osx-packager-qtsdk.pl -verbose -qtbin 
>/Users/bradd/Qt/5.4/clang_64/bin/ -qtplugins 
>/Users/bradd/Qt/5.4/clang_64/plugins/ -enable-backend 
>-enable-jobtools -noparallel
>[osx-pkg] Qt version is 5.4.1
>[osx-pkg] Building using master profile
>[osx-pkg] Testing Qt environment
>...
>[osx-pkg] Configuring mythtv for x86_64
>[osx-pkg] ./configure --runprefix=../Resources --enable-libmp3lame 
>--disable-lirc --disable-distcc --python=/usr/bin/python2.6 
>--prefix=/Users/bradd/mythtv-build-qt5/.osx-packager/build 
>--cc=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang 
>--cxx=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ 
>--qmake=/Users/bradd/Qt/5.4/clang_64/bin//qmake 
>--extra-libs=-F/Users/bradd/Qt/5.4/clang_64/lib 
>--firewire-sdk=/Users/bradd/mythtv-build-qt5/.osx-packager/build/lib 
>--enable-libx264 --disable-mythlogserver
>Must specify package names on the command line
>WARNING: disabling Perl bindings; missing DBD::mysql
>WARNING: disabling Perl bindings; missing Net::UPnP::QueryResponse
>WARNING: disabling Perl bindings; missing Net::UPnP::ControlPoint
># Basic Settings
>Compile type              profile
>Compiler cache            yes
>DistCC                    no
>qmake                     /Users/bradd/Qt/5.4/clang_64/bin//qmake
>install prefix            /Users/bradd/mythtv-build-qt5/.osx-packager/build
>runtime prefix            ../Resources
>CPU                       x86 x86_64 (Intel(R) Core(TM) i7 CPU 
>860  @ 2.80GHz)
>yasm                      yes
>MMX enabled               yes
>MMXEXT enabled            yes
>3DNow! enabled            yes
>3DNow! extended enabled   yes
>SSE enabled               yes
>SSSE3 enabled             yes
>AVX enabled               yes
>XOP enabled               yes
>FMA3 enabled              yes
>FMA4 enabled              yes
>i686 features enabled     yes
>
># Input Support
>Joystick menu             no
>lirc support              no
>libCEC device support     no [/usr/include]
>Apple Remote              yes
>Video4Linux support       no
>ivtv support              no
>HD-PVR support            no
>FireWire support          yes
>DVB support               no [/usr/include]
>DVB-S2 support            no
>HDHomeRun support         yes
>Ceton support             yes
>ASI support               no
>
># Sound Output Support
>PulseAudio support        no
>OSS support               no
>ALSA support              no
>JACK support              default
>libfftw3 support          no
>
># Video Output Support
>x11 support               no
>OpenGL video              yes
>Quartz video              no
>VDA support               yes
>MHEG support              yes
>libass subtitle support   no
>
># Misc Features
>multi threaded libavcodec yes
>libxml2 support           no [/usr/include/libxml2]
>libdns_sd (Bonjour)       yes
>libcrypto                 yes
>Frontend                  yes
>Backend                   yes
>OpenGL ES 2.0             no
>mythlogserver             no
>
># Bindings
>bindings_perl             no
>bindings_python           yes
>bindings_php              yes
>
># External Codec Options
>mp3lame                   yes
>faac                      no
>xvid                      no
>x264                      yes
>vpx                       no
>SDL                       no
>...
>
>/Users/bradd/mythtv-build-qt5/.osx-packager/build/bin/ccache 
>/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ 
>-c -pipe -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DPIC -arch 
>x86_64 -isysroot 
>/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk 
>-mmacosx-version-min=10.5 
>-I/Users/bradd/mythtv-build-qt5/.osx-packager/build/include 
>-I/Users/bradd/mythtv-build-qt5/.osx-packager/build/mysql 
>-F/Users/bradd/Qt/5.4/clang_64/lib -DNDEBUG -fomit-frame-pointer 
>-fPIC -DQT_DISABLE_DEPRECATED_BEFORE -msse -pthread -g -Wall 
>-Wpointer-arith -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS 
>-Wno-self-assign -Wno-constant-logical-operand -Wno-unused-value 
>-Qunused-arguments 
>-F/System/Library/Frameworks/IOKit.framework/Frameworks -isysroot 
>/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk 
>-mmacosx-version-min=10.7 -fPIC -DMMX -DUSING_APPLEREMOTE 
>-D_GNU_SOURCE -DRUNP
>REFIX=\"../Resources\" -DLIBDIRNAME=\"lib\" -DMBASE_API 
>-DUSING_LIBDNS_SD -DUSING_LIBUDF -DQT_WIDGETS_LIB -DQT_GUI_LIB 
>-DQT_XML_LIB -DQT_SQL_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. 
>-I../../external/qjson/include -I../../external/qjsonwrapper 
>-I/Users/bradd/Qt/5.4/clang_64/lib/QtWidgets.framework/Versions/5/Headers 
>-I/Users/bradd/Qt/5.4/clang_64/lib/QtGui.framework/Versions/5/Headers 
>-I/Users/bradd/Qt/5.4/clang_64/lib/QtXml.framework/Versions/5/Headers 
>-I/Users/bradd/Qt/5.4/clang_64/lib/QtSql.framework/Versions/5/Headers 
>-I/Users/bradd/Qt/5.4/clang_64/lib/QtNetwork.framework/Versions/5/Headers 
>-I/Users/bradd/Qt/5.4/clang_64/lib/QtCore.framework/Versions/5/Headers 
>-I. 
>-I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers 
>-I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/AGL.framework/Headers 
>-I/Users/
>bradd/Qt/5.4/clang_64/mkspecs/macx-clang 
>-F/Users/bradd/Qt/5.4/clang_64/lib -o mythdirs.o mythdirs.cpp
>mythdirs.cpp:93:62: error: no member named 'argv' in 'QCoreApplication'
>    QDir prefixDir = QFileInfo(QCoreApplication::instance()->argv()[0]).dir();
>                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ^
>1 error generated.
>make[2]: *** [mythdirs.o] Error 1
>make[1]: *** [sub-libmythbase-make_first] Error 2
>make: *** [libs] Error 2
>[osx-pkg] Failed system call: " /usr/bin/make  " with error code 2
>Died at ./osx-packager-qtsdk.pl line 1817.
>
>i am not a [real] programmer so i wasnt able to figure out what the issue
>was. looking at mythdirs.cpp:93 it seems there is a mac os x hack that
>may no longer be valid.

Brad, thanks for having a go at this.  It is on my todo list to start 
testing master on OSX with QT5.  But I'm not going to get at it for 
some weeks.

I believe you are right--the hack [1] isn't necessary anymore.

[1] 
https://github.com/MythTV/mythtv/commit/34b9f3b64c6d6ef1518658ce6d33eb9a691fad30

Since OS X 10.6 (I believe), OS X does not permit programs to 
daemon().  The appropriate way to run mythbackend is via launchd.

I think the above commit should be reverted.

Craig


More information about the mythtv-dev mailing list