[mythtv-users] OS X Build failure

Warpme warpme at o2.pl
Mon Mar 18 17:56:19 UTC 2013


On 3/17/13 11:29 AM, Guillaume Membré wrote:
> On Sat, Mar 16, 2013 at 9:16 PM, MythTV MythTV <mythtvuser10 at gmail.com> wrote:
>> My apologies if this email is received twice by list participants.  I did
>> not see this email arrive
>> on the email distribution after a few hours.
>>
>> FYI:  see UPDATED below for new information added since my earlier e-email.
>>
>>
>> On Saturday, March 16, 2013, MythTV MythTV wrote:
>>> Hi Guillaume,
>>>
>>> I think the fix for that is to use the - universal tag on the packager.
>>>
>>> Also you might want to use QT 4.8.4 as I know that will compile for you
>>> with only 1 error.  Some time during the qt build it will fail and you will
>>> need to make a minor edit to gui/kernel in the QT source tree.  Just remove
>>> the :: from the define indicated by the error (sorry i dont have the exact
>>> syntax in fron of me) and run the packager again.
>>>
>>> I have successfully built 0.26 fixes with Mac Mountain Lion using the
>>> following flags:
>>> osx-packager-qtsdk.pl -gitrev fixes/0.26 -qtsrc 4.8.4 -universal -verbose
>>>
>>> One other note: for the mythtv of the portion of build I seem to leave the
>>> -universal flag off/removed.  I am trying to build a 64 bit build for my
>>> uses.  There was a linker issue with zeromq when I didn't remove the
>>> -universal flag during that part of the build.
>>>
>>> The resulting build works fine - I am tacking down a bug that happens
>>> (after) I have stopped watching a recording.
>>>
>>> BTW: my Xcode is using 10.7 lion for its build - I have  both the 10.7 and
>>> 10.8 frameworks available, but it looks like I need to fix some places in
>>> the perl script to get 10.8 working.
>>>
>>> UPDATED:  March 16:  I actually had no problems compiling MythTV
>>> 0.26/fixes for Mac OSX Mountain Lion (10.8).   You need to adjust the Perl
>>> script so that it correctly finds the OSX 10.8 framework SDK - specifically
>>> where the Perl script calls 'xcodebuild -showsdks'.
> Thanks a lot for your help.
> Here is what I had to do :
> first of all, I had trouble getting all the components, you have to
> register your-self on the mysql web site to be able to download the
> file. I downloaded the version 5.5.30 and modified accordingly the
> perl
>
> I also changed the following line (612)
> our $SDKVER = "10.8";
> our $SDKNAME = "macosx10.8";
>
> Indeed, the name of the sdk changed, and the script to get the most
> recent should be changed to :
> our $SDKVER = `xcodebuild -showsdks | grep macosx | sed
> "s/.*macosx\\(.*\\)/\\1/" | sort -nr | head -n 1 `; chomp $SDKVER;
> our $SDKNAME = `xcodebuild -showsdks | grep macosx | sed
> "s/.*\\(macosx.*\\)/\\1/" | sort -nr | head -n 1 `; chomp $SDKNAME;
> the awk command doesn't match anymore the sdk name.
>
> Next, I ran :
> $ ./osx-packager-qtsdk.pl -gitrev fixes/0.26 -qtsrc 4.8.4 -universal -verbose
> it fails with :
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
> -c -pipe -O2 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W
> -arch x86_64 -arch x86_64 -Xarch_x86_64 -mmacosx-version-min=10.5
> -arch i386 -arch i386 -Xarch_i386 -mmacosx-version-min=10.4 -isysroot
> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk
> -DQT_SHARED -DQT_BUILD_GUI_LIB -DQT_NO_USING_NAMESPACE
> -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT
> -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_USE_BUNDLED_LIBPNG
> -DPNG_NO_ASSEMBLER_CODE -DQT_NO_CUPS -DQT_NO_LPR -DQT_NO_OPENTYPE
> -DQT_NO_STYLE_WINDOWSVISTA -DQT_NO_STYLE_WINDOWSXP -DQT_NO_STYLE_GTK
> -DQT_NO_STYLE_WINDOWSCE -DQT_NO_STYLE_WINDOWSMOBILE -DQT_NO_STYLE_S60
> -DQ_INTERNAL_QAPP_SRC -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_HAVE_MMX
> -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2
> -DQT_HAVE_SSE3 -DQT_HAVE_SSSE3 -DQT_HAVE_SSE4_1 -DQT_HAVE_SSE4_2
> -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/macx-llvm
> -I. -I../../include/QtCore -I../../include -I../../include/QtGui
> -I.rcc/release-shared -Iimage -I../3rdparty/libpng
> -I../3rdparty/harfbuzz/src -Idialogs -I.moc/release-shared
> -I.uic/release-shared kernel/qcursor_mac.mm -o
> .obj/release-shared/qcursor_mac.o
> In file included from kernel/qcursor_mac.mm:52:
> In file included from ../../include/QtGui/private/qt_cocoa_helpers_mac_p.h:1:
> ../../include/QtGui/private/../../../src/gui/kernel/qt_cocoa_helpers_mac_p.h:158:10:
> error: extra qualification on member 'TabletProximityRec'
> struct ::TabletProximityRec;
>         ~~^
> In file included from kernel/qcursor_mac.mm:47:
> In file included from ../../include/QtGui/qevent.h:1:
> In file included from ../../include/QtGui/../../src/gui/kernel/qevent.h:52:
> In file included from ../../include/QtGui/qmime.h:1:
> ../../include/QtGui/../../src/gui/kernel/qmime.h:119:10: warning:
> private field 'type' is not used [-Wunused-private-field]
>      char type;
>           ^
> 1 warning and 1 error generated.
> make[2]: *** [.obj/release-shared/qcursor_mac.o] Error 1
> make[1]: *** [release] Error 2
> make: *** [sub-gui-make_default-ordered] Error 2
> [osx-pkg] Failed system call: " /usr/bin/make " with error code 2
> Died at ./osx-packager-qtsdk.pl line 1381.
>
> As you said, I changed the line 158 of the file :
> build/.osx-packager/src/qt-everywhere-opensource-src-4.8.4/src/gui/kernel/qt_cocoa_helpers_mac_p.h
>
> next I had the following issue :
> /bin/sh ../libtool --tag=CC   --mode=link
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
>   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk
> -mmacosx-version-min=10.5
> -I/Users/jumper/Workspace/MythTV/build/.osx-packager/build/include
> -I/Users/jumper/Workspace/MythTV/build/.osx-packager/build/mysql -arch
> i386 -arch x86_64  -Wall -Wchar-subscripts -Wmissing-prototypes
> -Wmissing-declarations -Wunused -Wpointer-arith -Wwrite-strings
> -Wnested-externs -Wno-sign-compare
> -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk
> -mmacosx-version-min=10.5
> -L/Users/jumper/Workspace/MythTV/build/.osx-packager/build/lib
> -F/Users/jumper/Workspace/MythTV/build/.osx-packager/build/lib -arch
> i386 -arch x86_64 -o cddb_query main.o do_query.o do_read.o
> do_display.o cd_access.o do_sites.o do_search.o do_album.o
> ../lib/libcddb.la -liconv
> -L/Users/jumper/Workspace/MythTV/build/.osx-packager/build/lib -lcdio
> -lm -liconv
> libtool: link: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
> -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk
> -mmacosx-version-min=10.5
> -I/Users/jumper/Workspace/MythTV/build/.osx-packager/build/include
> -I/Users/jumper/Workspace/MythTV/build/.osx-packager/build/mysql -arch
> i386 -arch x86_64 -Wall -Wchar-subscripts -Wmissing-prototypes
> -Wmissing-declarations -Wunused -Wpointer-arith -Wwrite-strings
> -Wnested-externs -Wno-sign-compare -Wl,-syslibroot
> -Wl,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk
> -mmacosx-version-min=10.5
> -F/Users/jumper/Workspace/MythTV/build/.osx-packager/build/lib -arch
> i386 -arch x86_64 -o .libs/cddb_query main.o do_query.o do_read.o
> do_display.o cd_access.o do_sites.o do_search.o do_album.o
> -L/Users/jumper/Workspace/MythTV/build/.osx-packager/build/lib
> ../lib/.libs/libcddb.dylib
> /Users/jumper/Workspace/MythTV/build/.osx-packager/build/lib/libcdio.dylib
> -lm -liconv
> ld: warning: ignoring file
> /Users/jumper/Workspace/MythTV/build/.osx-packager/build/lib/libcdio.dylib,
> file was built for unsupported file format ( 0xcf 0xfa 0xed 0xfe 0x 7
> 0x 0 0x 0 0x 1 0x 3 0x 0 0x 0 0x 0 0x 6 0x 0 0x 0 0x 0 ) which is not
> the architecture being linked (i386):
> /Users/jumper/Workspace/MythTV/build/.osx-packager/build/lib/libcdio.dylib
> Undefined symbols for architecture i386:
>    "_cdio_destroy", referenced from:
>        _cd_read in cd_access.o
>    "_cdio_get_default_device", referenced from:
>        _cd_read in cd_access.o
>    "_cdio_get_num_tracks", referenced from:
>        _cd_read in cd_access.o
>    "_cdio_get_track_format", referenced from:
>        _cd_read in cd_access.o
>    "_cdio_get_track_lba", referenced from:
>        _cd_read in cd_access.o
>    "_cdio_open", referenced from:
>        _cd_read in cd_access.o
> ld: symbol(s) not found for architecture i386
> clang: error: linker command failed with exit code 1 (use -v to see invocation)
> make[2]: *** [cddb_query] Error 1
> make[1]: *** [all-recursive] Error 1
> make: *** [all] Error 2
> [osx-pkg] Failed system call: " /usr/bin/make all install " with error code 2
> Died at ./osx-packager-qtsdk.pl line 1384.
>
> I deleted build/.osx-packager/src/libcddb-1.3.2 and restarted without -universal
> $ ./osx-packager-qtsdk.pl -gitrev fixes/0.26 -qtsrc 4.8.4 -verbose
>
> and finally it compiled successfully.
>
> Now it runs Ok but crash when stopping watching a recording like you have.
>
> Thanks a lot for your help
> _______________________________________________
> mythtv-users mailing list
> mythtv-users at mythtv.org
> http://www.mythtv.org/mailman/listinfo/mythtv-users
>
Hi,
I think You need following patch to overcome this issue:

--- src/gui/kernel/qt_cocoa_helpers_mac_p.h.orig    2013-02-01 
11:18:44.000000000 -0500
+++ src/gui/kernel/qt_cocoa_helpers_mac_p.h    2013-02-01 
11:19:03.000000000 -0500
@@ -155,7 +155,7 @@
  void qt_dispatchModifiersChanged(void * /*NSEvent * 
*/flagsChangedEvent, QWidget *widgetToGetEvent);
  bool qt_mac_handleTabletEvent(void * /*QCocoaView * */view, void * 
/*NSEvent * */event);
  inline QApplication *qAppInstance() { return static_cast<QApplication 
*>(QCoreApplication::instance()); }
-struct ::TabletProximityRec;
+// struct ::TabletProximityRec;
  void qt_dispatchTabletProximityEvent(const ::TabletProximityRec &proxRec);
  Qt::KeyboardModifiers qt_cocoaModifiers2QtModifiers(ulong modifierFlags);
  Qt::KeyboardModifiers qt_cocoaDragOperation2QtModifiers(uint 
dragOperations);

this seems to be qt4.8.4 issue and MacPorts resolved this with commit 
r102396
http://trac.macports.org/browser/trunk/dports/aqua/qt4-mac/files/patch-src_gui_kernel_qt_cocoa_helpers_mac_p.h.diff?rev=102396

Good luck!

-------------- next part --------------
A non-text attachment was scrubbed...
Name: warpme.vcf
Type: text/x-vcard
Size: 83 bytes
Desc: not available
URL: <http://www.mythtv.org/pipermail/mythtv-users/attachments/20130318/6de86d0b/attachment.vcf>


More information about the mythtv-users mailing list