CFT: MythTV Fixes

Bernhard Froehlich decke at bluelife.at
Tue Nov 4 13:55:45 PST 2008


On Sun, 02 Nov 2008 01:23:35 +0100
Torfinn Ingolfsen <torfinn.ingolfsen at broadpark.no> wrote:

> On Wed, 24 Sep 2008 21:49:56 +0200
> Bernhard Froehlich <decke at bluelife.at> wrote:
> 
> > http://home.bluelife.at/ports/mythtv-cft-240908.tar.gz
> 
> Ok, I finally got time to test this. Test done on a machine running:
> tingo at kg-quiet$ uname -a
> FreeBSD kg-quiet.kg4.no 6.4-PRERELEASE FreeBSD 6.4-PRERELEASE #22: Sat
> Nov  1 23:50:15 CET 2008
> root at kg-quiet.kg4.no:/usr/obj/usr/src/sys/QUIET  amd64
> 
> This machine has a TV card (PVR-350) but the pvrxxx driver isn't
> working just now, so I can't test TV reception.
> 
> First, I tried building mythtv-frontend:
> cc -c -pipe -fomit-frame-pointer -O3 -I/usr/local/include -pthread
> -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith
> -Wredundant-decls -w -DPIC -fPIC  -D_GNU_SOURCE
> -D_FILE_OFFSET_BITS=64 -DPREFIX=\"/usr/local\"
> -DLIBDIR=\"/usr/local/lib\" -DHAVE_AV_CONFIG_H -D_LARGEFILE_SOURCE
> -DHAVE_XVMC -DHAVE_XVMC_VLD -DQT_NO_DEBUG -DQT_THREAD_SUPPORT
> -DQT_SHARED -DQT_TABLET_SUPPORT
> -I/usr/local/share/qt/mkspecs/freebsd-g++ -I. -I. -I.. -I../..
> -I../libavutil -I../libswscale -I../../../../../../../local/include
> -I/usr/local/include -o h264.o h264.c {standard input}: Assembler
> messages: {standard input}:7198: Error:
> `ff_h264_lps_range(%eax,%esi,2)' is not a valid 64 bit base/index
> expression {standard input}:7211: Error: `ff_h264_norm_shift(%esi)'
> is not a valid 64 bit base/index expression {standard input}:7213:
> Error: `ff_h264_mlps_state+128(%eax)' is not a valid 64 bit
> base/index expression {standard input}:7219: Error: `(%ecx)' is not a
>
>[snip]
>
> Error: `(%rax,%esi)' is not a valid 64 bit base/index expression
> {standard input}:1564: Error: `(%esi,%esi,2)' is not a valid 64 bit
> base/index expression {standard input}:1579: Error: `(%rdx,%edi)' is
> not a valid 64 bit base/index expression {standard input}:1580:
> Error: `8(%rdx,%edi)' is not a valid 64 bit base/index expression
> {standard input}:1581: Error: `16(%rdx,%edi)' is not a valid 64 bit
> base/index expression *** Error code 1
> 
> Stop
> in /usr/ports/multimedia/mythtv/work/mythtv-fixes-0.20-13053/libs/libavcodec.
> *** Error code 1
> 
> Stop
> in /usr/ports/multimedia/mythtv/work/mythtv-fixes-0.20-13053/libs.
> *** Error code 1
> 
> Stop in /usr/ports/multimedia/mythtv/work/mythtv-fixes-0.20-13053.
> *** Error code 1
> 
> Stop in /usr/ports/multimedia/mythtv.
> *** Error code 1
> 
> Stop in /usr/ports/multimedia/mythtv.


The reason that this happens is because the architecture is detected as
i386 instead of amd64. That happens because BSD's gcc 3.4 does not
output anything when called with the "-dumpmachine" flag and it is
recommended to use g++ instead.


--- configure	2008-03-04 22:23:23.000000000 +0100
+++ configure	2008-11-04 20:12:25.000000000 +0100
@@ -1466,7 +1466,7 @@
   x86_64|amd64)
     arch="x86_32"
     enable fast_unaligned
-    canon_arch="`$cc -dumpmachine | sed -e 's,\([^-]*\)-.*,\1,'`"
+    canon_arch="`$cxx -dumpmachine | sed -e 's,\([^-]*\)-.*,\1,'`"
     if [ x"$canon_arch" = x"x86_64" -o x"$canon_arch" = x"amd64" ];
then if [ -z "`echo $CFLAGS | grep -- -m32`"  ]; then
         arch="x86_64"


I've also updated my archive to include that patch:

http://home.bluelife.at/ports/mythtv-cft-041108.tar.gz

Thanks!

-- 
Bernhard Froehlich
http://www.bluelife.at/



More information about the freebsd-multimedia mailing list