[mythtv] MythTV on Mac OS X for Intel

Kris Raney kris at kraney.com
Sun Mar 12 03:54:50 UTC 2006


On Mar 11, 2006, at 6:00 AM, mythtv-dev-request at mythtv.org wrote:
> I'm trying to get MythTV to compile with my new Mini..    Has anyone
> succeeded in building a working binary for MacOS on intel?

I've only just got it to compile on my MacBook Pro. However, I'm  
getting a bus error from mythwelcome. I readily admit this may be due  
to some of the hacking I'm about to describe.

I installed all the prereqs using DarwinPorts. You have to build  
darwinports itself from source, to get an intel binary, then after  
that it works pretty smoothly.

I used these arguments to configure:

env QMAKESPEC=/opt/local/share/qt3/mkspecs/macx-g++ \
LD_LIBRARY_PATH=/opt/local/lib \
   ./configure --prefix=/opt/myth --arch=i686 \
             --disable-distcc \
             "--extra-cflags=-msse -msse2" \
             "--extra-cxxflags=-msse -msse2" \
             --cc=gcc

QTDIR=/opt/local \
   make

I also found it necessary to do a little hacking. This needs to be  
cleaned up, but it sort of brute forces through the errors:

patch to libs/libmythtv/videoout_quartz.cpp:
#ifdef HAVE_ALTIVEC // <--- add this
     if (gContext->GetNumSetting("MacYuvConversion", 1))
         data->yuvConverter = yuv2vuy_init_altivec();
     else
#endif // <-- add this


patch to libs/libmythtv/yuv2rgb.h
#ifdef HAVE_ALTIVEC // <-- add this
yuv2vuy_fun yuv2vuy_init_altivec (void);
#endif  // <-- add this

typedef void (* vuy2yuv_fun) (uint8_t * image, uint8_t * py,
                               uint8_t * pu, uint8_t * pv,
                               int h_size, int v_size,
                               int vuy_stride, int y_stride, int  
uv_stride);

#ifdef HAVE_ALTIVEC // <-- add this
vuy2yuv_fun vuy2yuv_init_altivec (void);
#endif // <-- add this


patch to libs/libavcodec/liba52/resample.c
//#ifdef ARCH_X86
//#include "resample_mmx.c"
//#endif

void* a52_resample_init(uint32_t mm_accel,int flags,int chans){
void* tmp;
//#ifdef ARCH_X86
//    if(mm_accel&MM_ACCEL_X86_MMX){
//      tmp=a52_resample_MMX(flags,chans);
//      if(tmp){
//          if(a52_resample==NULL) av_log(NULL, AV_LOG_INFO, "Using MMX
//          optimized resampler\n");
//          a52_resample=tmp;
//          return tmp;
//      }
//    }
//#endif




> Here is the output of "/usr/sbin/system_profiler  
> SPHardwareDataType" from my
> core duo Mini, this could be used in the configure scripts where
> /proc/cpuinfo is used in the Linux world:

I seem to have missed the email that explains why we're sending this  
information, but just to pile on, here's the info from  
system_profiler for my macbook:
       Machine Name: MacBook Pro 15"
       Machine Model: MacBookPro1,1
       CPU Type: Intel Core Duo
       Number Of Cores: 2
       CPU Speed: 2 GHz
       L2 Cache (shared): 2 MB
       Memory: 1 GB
       Bus Speed: 667 MHz
       Boot ROM Version: MBP11.0044.B02
       Serial Number: W86073HPVJ3
       SMC Version: 1.2f7
       Sudden Motion Sensor:
           State: Enabled

- Kris Raney


More information about the mythtv-dev mailing list