[mythtv] Compile Error on Mac OS X 10.6.2

MythTV mythtv at taoyama.com
Mon Mar 1 05:46:19 UTC 2010


On Feb 28, 2010, at 8:15 PM, John Sturgeon wrote:

> Yeah.. I googled around, and it seemed the consensus was to disable PIC.. unfortunately, I'm not sure which option on the packager would do that.
> -- 
> John Sturgeon
> john.sturgeon at gmail.com
> 
> On Feb 28, 2010, at 7:17 PM, Nigel Pearson wrote:
> 
>>> That's what I have:
>>> 3.06 GHz Intel Core 2 Duo
>> 
>> OK. Sorry for assuming.
>> 
>> 
>> I suspect I only did a test build on a 10.6 Core Duo machine,
>> so I will try to make time tonight to build on a Core2.
>> 
>> 
>> Until then, maybe Google for that particular error in
>> the ffmpeg mailing lists? It might have been fixed or
>> worked around in later versions of the ffmpeg source.
>> 
>> --
>> Nigel Pearson, nigel at ind.tansu.com.au|Smart mice ... varmints|
>> Telstra Net. Eng., Sydney, Australia |used vector formulas.  |
>> Office: 9202 3900    Fax:  9212 6348 |  How'd you catch them?|
>> Mobile: 0408 664435  Home: 9792 6998 |Smart cheese.          |
>> 
>> 


Here's a patch for osx-packager.pl that I used to compile a month ago.

It uses gcc 4.0 to build mythtv instead of the the default 4.2. You won't need to disable MMX.

It also forces 32 bit and fixes the config.pro problem when doing a make clean.

Haven't built in a while so I don't know if it still works.

Mino


Index: osx-packager.pl
===================================================================
--- osx-packager.pl	(revision 23312)
+++ osx-packager.pl	(working copy)
@@ -38,7 +38,7 @@
 
 # Parallel makes?
 #
-#$ENV{'DISTCC_HOSTS'}   = "localhost 192.168.0.6";
+#$WENV{'DISTCC_HOSTS'}   = "localhost 192.168.0.6";
 #$ENV{'DISTCC_VERBOSE'} = '1';
 
 # Start with a generic address and let sourceforge
@@ -65,8 +65,8 @@
         'freetype',
         'lame',
         'mysqlclient',
-        #'qt-4.5',  # Needed for Mac OS X 10.6
-        'qt-4.4',
+        'qt-4.6',  # Needed for Mac OS X 10.6
+        #'qt-4.4',
       ],
   'mythplugins'
   =>  [
@@ -161,7 +161,7 @@
   'mysqlclient' =>
   {
     'url'
-    => 'http://mysql.mirrors.pair.com/Downloads/MySQL-5.0/mysql-5.0.85.tar.gz',
+    => 'http://mysql.he.net/Downloads/MySQL-5.0/mysql-5.0.89.tar.gz',
     'conf'
     =>  [
           '--without-debug',
@@ -174,11 +174,11 @@
         ],
   },
 
-  'qt-4.5'
+  'qt-4.6'
   =>
   {
     'url'
-    => 'http://get.qt.nokia.com/qt/source/qt-mac-opensource-src-4.5.2.tar.gz',
+    => 'http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.6.0.tar.gz',
     'conf-cmd'
     =>  'echo yes | MAKEFLAGS=$parallel_make_flags ./configure',
     'conf'
@@ -321,6 +325,7 @@
    -enable-jobtools build commflag/jobqueue  as well as the frontend
    -profile         build with compile-type=profile
    -debug           build with compile-type=debug
+   -m32             build for a 32-bit environment
    -plugins <str>   comma-separated list of plugins to include
 
 =head1 DESCRIPTION
@@ -390,6 +395,7 @@
                          'enable-jobtools',
                          'profile',
                          'debug',
+                         'm32',
                          'plugins=s',
                         ) or Pod::Usage::pod2usage(2);
 Pod::Usage::pod2usage(1) if $OPT{'help'};
@@ -570,6 +576,8 @@
         # Currently needed for Mac OS 10.6 builds:
         #'--disable-mmx', '--enable-disable-mmx-for-debugging',
         #'--disable-gpl', # plus comment out libfaad above
+	'--cc=/usr/bin/gcc-4.0',
+	'--cxx=/usr/bin/g++-4.0',
       ],
 );
 
@@ -628,6 +636,18 @@
 
 $parallel_make .= " $parallel_make_flags";
 
+# We set 32-bit mode via environment variables.
+# The messier alternative would be to tweak all the configure arguments.
+if ($OPT{'m32'})
+{
+    &Verbose('Forcing 32-bit mode');
+    $ENV{'CFLAGS'}    .= ' -m32';
+    $ENV{'CPPFLAGS'}  .= ' -m32';
+    $ENV{'CXXFLAGS'}  .= ' -m32';
+    $ENV{'ECXXFLAGS'} .= ' -m32';  # MythTV configure
+    $ENV{'LDFLAGS'}   .= ' -m32';
+}
+
 ### Distclean?
 if ($OPT{'distclean'})
 {
@@ -907,6 +927,8 @@
 else
 {   &Syscall("mkdir -p $SVNDIR/mythtv/config")   }
 
+&Syscall("touch $SVNDIR/mythtv/config/config.pro");
+
 # Make a convenience (non-hidden) directory for editing src code:
 system("ln -sf $SVNDIR $SCRIPTDIR/src");
 



More information about the mythtv-dev mailing list