[mythtv] Compile Mythtv on PS3

crsheaves at catnetsolutions.com crsheaves at catnetsolutions.com
Thu Dec 21 08:24:39 UTC 2006


>> gcc -c -pipe -w -O3 -Wall -Wno-switch -DPIC -fPIC -fno-common -
>> D_REENTRANT
>>  -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DPREFIX=\"/usr/local\"
>> -DLIBDIR=\"/usr/local/lib\" -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -
>> DQT_SHARED
>> -I/usr/lib/qt-3.3/mkspecs/default -I. -I/usr/local/include
>> -I../../libs/libavcodec -I/usr/lib/qt-3.3/include -o cpu_accel.o
>> cpu_accel.c
>> {standard input}: Assembler messages:
>> {standard input}:60: Error: unsupported relocation against v0
>> {standard input}:60: Error: unsupported relocation against v0
>> {standard input}:60: Error: unsupported relocation against v0
>> make[2]: *** [cpu_accel.o] Error 1
>
>  From your preprocessor output, I can't see much wrong.
> It is including the correct function (the PPC one at line 150).
> Only strange thing is that it seems to be using the __APPLE__
> version of the VAND macro:
>
> #if defined(HAVE_ALTIVEC_H) && !defined(__APPLE__)      /* gnu */
> #define VAND(a,b,c) "vand " #a "," #b "," #c "\n\t"
> #else                   /* apple */
> #define VAND(a,b,c) "vand v" #a ",v" #b ",v" #c "\n\t"
> #endif
>          asm volatile ("mtspr 256, %0\n\t"
>                        VAND (0, 0, 0)
>                        :
>                        : "r" (-1));
>
> which is being expanded as:
>
>   asm volatile ("mtspr 256, %0\n\t"
>          "vand v" "0" ",v" "0" ",v" "0" "\n\t"
>          :
>          : "r" (-1));
>
>
>
>
> My suggested workarounds:
>
> 1) Turn off the CPU detection in libmythmpeg2.
> Edit the file mythtv/libs/libmythmpeg2/config.h
> and comment out the #define ACCEL_DETECT line.
> That should get you compiling up to the next error.
>
>
> 2) Find if, and where __APPLE__ is being defined,
> and rectify that. Write a test program:
>
> % cat test.cpp
> #ifdef __APPLE__
> #error This is not an Apple!
> #endif
> %
>
> and run gcc on it. If it fails with the error,
> then that may be the problem. Try putting
> something like
>
> #undef __APPLE__
>
> in MythTV's top level config.h,
> and see if that gives you a non-error result?
>
>
>
> Good luck.
>
> --
> Nigel Pearson, nigel at ind.tansu.com.au|"People say I'm strange,
> Telstra Net. Eng., Sydney, Australia | does it make me a stranger?
> Office: 9202 3900    Fax:  9261 3912 | My best friend was born
> Mobile: 0408 664435  Home: 9792 6998 |     in a manger"   -DC Talk
>
> _______________________________________________
> mythtv-dev mailing list
> mythtv-dev at mythtv.org
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
>


I have found something interesting.  No idea what affect this may have if
any.  During the ./configuration there is a check done on /proc/cpuinfo. 
The layout of this file on the ps3 is way different then the layout on
other machines, ie there is no model names or flags line to check against.
 Could this cause any issues?

Thanks



More information about the mythtv-dev mailing list