[mythtv-users] OS X 10.7 Xcode 4.1

Matthew Smith mmssmith at gmail.com
Thu Aug 4 04:14:05 UTC 2011


Thanks to the people who responded to my interest in successful builds
on OS X 10.7. Glad to hear it is possible.

A couple of days ago, I mentioned I would share my experience once the
mac arrived. Here it is.

I downloaded and compiled the various dependencies and cloned the 0.24
fixes branch using git.

Configure ran through smoothly (./configure --disable-distcc
--qmake=/usr/local/Trolltech/Qt-4.7.3/bin/qmake --enable-mac-bundle)
but make died building what looks to be a deinterlacing filter that
doesn't seem to like x86_64 (full error pasted below)

I noticed Jean-Yves Avenard suggested using the OS X 10.6 SDK and to
compile with "-compile-type=debug". I added that to my configure
command and got a build done.

Can anyone tell me what gets lost in terms of performance when
building MythTV with the compile-type=debug option? Do the builds up
on sourceforge get made with the same option?

Also, unfortunately, launching mythtv-setup.app failed with a Qt
error. Apparently, if you compile Qt with "-no-framework" on OS X, you
get a problem with qt_menu.nib  (see link
https://bugreports.qt.nokia.com//browse/QTBUG-5952 )

I guess I'll rebuild Qt with frameworks enabled tomorrow and see if
that fixes the .apps that get built for MythTV. However, after taking
a peak at the osx-packager script, I see Qt is built without
frameworks there, so I'm a little puzzled.

This is my first experience in the OS X world, so maybe someone can
tell me, do I even need to build Myth with the --enable-mac-bundle
option, or am I just as well off skipping it?

For info, here's the error where make died building Myth without the
compile-type=debug option:

<snip>
cd greedyhdeint/ && make -f Makefile
gcc -c -pipe -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64
-D_LARGEFILE_SOURCE -D_DARWIN_C_SOURCE -DPIC -std=c99
-fomit-frame-pointer -fPIC -g -Wall -Wno-parentheses -Wno-switch
-Wdisabled-optimization -Wpointer-arith -Wredundant-decls
-Wno-pointer-sign -Wcast-qual -Wwrite-strings -Wundef
-Wmissing-prototypes -O3 -fno-math-errno -fno-tree-vectorize
-Wno-missing-prototypes -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64
-D_LARGEFILE_SOURCE -D_DARWIN_C_SOURCE -DPIC -std=c99
-fomit-frame-pointer -fPIC -g -Wall -Wno-parentheses -Wno-switch
-Wdisabled-optimization -Wpointer-arith -Wredundant-decls
-Wno-pointer-sign -Wcast-qual -Wwrite-strings -Wundef
-Wmissing-prototypes -O3 -fno-math-errno -fno-tree-vectorize -arch
x86_64 -Xarch_x86_64 -mmacosx-version-min=10.5 -DMMX
-DUSING_APPLEREMOTE -D_GNU_SOURCE -DMMX -DUSING_APPLEREMOTE
-D_GNU_SOURCE -I/usr/local/Trolltech/Qt-4.7.3/mkspecs/macx-g++ -I.
-I/usr/include -I/usr/local -I../../libs/libmythtv
-I../../libs/libmythdb -I../../external/FFmpeg -I/usr/include
-I/usr/local -I../../libs/libmythtv -I../../libs/libavcodec -I../.. -o
filter_greedyhdeint.o filter_greedyhdeint.c
gcc -c -pipe -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64
-D_LARGEFILE_SOURCE -D_DARWIN_C_SOURCE -DPIC -std=c99
-fomit-frame-pointer -fPIC -g -Wall -Wno-parentheses -Wno-switch
-Wdisabled-optimization -Wpointer-arith -Wredundant-decls
-Wno-pointer-sign -Wcast-qual -Wwrite-strings -Wundef
-Wmissing-prototypes -O3 -fno-math-errno -fno-tree-vectorize
-Wno-missing-prototypes -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64
-D_LARGEFILE_SOURCE -D_DARWIN_C_SOURCE -DPIC -std=c99
-fomit-frame-pointer -fPIC -g -Wall -Wno-parentheses -Wno-switch
-Wdisabled-optimization -Wpointer-arith -Wredundant-decls
-Wno-pointer-sign -Wcast-qual -Wwrite-strings -Wundef
-Wmissing-prototypes -O3 -fno-math-errno -fno-tree-vectorize -arch
x86_64 -Xarch_x86_64 -mmacosx-version-min=10.5 -DMMX
-DUSING_APPLEREMOTE -D_GNU_SOURCE -DMMX -DUSING_APPLEREMOTE
-D_GNU_SOURCE -I/usr/local/Trolltech/Qt-4.7.3/mkspecs/macx-g++ -I.
-I/usr/include -I/usr/local -I../../libs/libmythtv
-I../../libs/libmythdb -I../../external/FFmpeg -I/usr/include
-I/usr/local -I../../libs/libmythtv -I../../libs/libavcodec -I../.. -o
color.o color.c
rm -f libgreedyhdeint.dylib
g++ -headerpad_max_install_names -read_only_relocs warning -arch
x86_64 -single_module -dynamiclib -Xarch_x86_64
-mmacosx-version-min=10.5 -o libgreedyhdeint.dylib
filter_greedyhdeint.o color.o    -L../../external/FFmpeg/libavcodec
-lmythavcodec -L../../external/FFmpeg/libavcore -lmythavcore
-L../../external/FFmpeg/libavutil -lmythavutil
ld: warning: -read_only_relocs cannot be used with x86_64
Undefined symbols for architecture x86_64:
  "_MaxComb", referenced from:
      _GreedyHDeint in filter_greedyhdeint.o
  "_MotionThreshold", referenced from:
      _GreedyHDeint in filter_greedyhdeint.o
  "_MotionSense", referenced from:
      _GreedyHDeint in filter_greedyhdeint.o
  "_QW256B", referenced from:
      _GreedyHDeint in filter_greedyhdeint.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[2]: *** [libgreedyhdeint.dylib] Error 1
make[1]: *** [sub-greedyhdeint-make_default] Error 2
make: *** [filters] Error 2


More information about the mythtv-users mailing list