[mythtv-users] OS X Build failure

Guillaume Membré guillaume.ml at gmail.com
Sun Mar 17 10:29:13 UTC 2013


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


More information about the mythtv-users mailing list