Installing 64 Bit MythTV for Ubuntu Breezy

Feb 12, 2006

I installed MythTV the difficult way. This is using the 64 bit version of MythTV. The problem is that Ubuntu Breezy does not have the correct packages available for installation. They have both 0.18.1 versions, and 0.17-3 versions.

Sorry that this guide is really messed up. I took many paths to getting this running correctly. It hopefully contains solutions to some problems, but running through in sequence is not recommended.

For reference, I used some of the notes at patrick.wagstrom.net/tutorials/mythTV64/mythTV64.xml

I tried downloading prebuilt versions of the 64 bit version of MythTV, but never had success. I think the easiest wayis to build it yourself.

FAILED ATTEMPTS!!!

The following is actually what I tried. From //debian.video.free.fr/

	Add to /etc/apt/sources.list
		deb-src ftp://ftp.nerim.net/debian-marillat/ sid main

	cd /etc/apt
	gpg --recv-keys 1F41B907
	gpg -a --export 1F41B907 | sudo apt-key add -
Then run Update in Package manager or apt-get update. Get MythTV using "sudo apt-get build-dep mythtv". I got an error from apt-get mythtv:
	  Package libmysqlclient-dev is a virtual package provided by:
	  libmysqlclient12-dev 4.0.24-10ubuntu2
	  libmysqlclient10-dev 3.23.56-3
	  You should explicitly select one to install.
I also tried package manager to load the Ubuntu version.

I read the following web sites. www.parker1.co.uk/mythtv_ubuntu.php www.quietglow.com/docs/ubuntumythtv.html www.willmer.com/kb/mythtv/ www.cs.rit.edu/~css8044/?q=mythtv www.ubuntuforums.org/showthread.php?t=29510&page=3 www.ubuntuforums.org/showthread.php?t=41294 distrocenter.linux.com/article.pl?sid=05/10/12/1952217&tid=106 www.abarbaccia.com/

I tried changing source.list.

	sources.list change lines:
	 deb http://us.archive.ubuntu.com/ubuntu breezy universe main restricted multiverse
	 deb-src http://us.archive.ubuntu.com/ubuntu breezy universe main restricted multiverse
I tried to get MythTV. This is before I knew that the Ubuntu stuff didn't work.
	
	get mythtv
		sudo apt-get install mythtv
This produces the errors:
    mythtv: Depends: mythtv-frontend (= 0.18.1-5) but it is not going to be installed
          Depends: mythtv-backend (= 0.18.1-5) but it is not going to be installed
    E: Broken packages

   mythtv-frontend:
    Depends: mythtv-common but it is not going to be installed
    Depends: libmyth-0.17  but it is not installable
    Depends: libqt3c102-mt (>=3:3.3.3) but it is not installable

   mythtv-backend:
    Depends: mythtv-common but it is not going to be installed
    Depends: libmyth-0.17  but it is not installable
    Depends: libqt3c102-mt (>=3:3.3.3) but it is not installable

I tried installing mythtv-common 0.17. I removed it later.

   mythtv-frontend:
    Depends: mythtv-common (=0.17-3) but 0.18.1-5 is to be installed
    Depends: libmyth-0.17  but it is not installable
    Depends: libqt3c102-mt (>=3:3.3.3) but it is not installable
Then I found the discussion about .17 and .18 http://ubuntuforums.org/archive/index.php/t-86706.html I found discussions about a patch ubuntuforums.org/archive/index.php/t-89482.html and i found instructions ubuntuforums.org/showthread.php?t=74660 I tried the following:
cd 
tar -xzvf mythtv_0.18.1.orig.tar.gz
gzip -dc mythtv_0.18.1-5.diff.gz | patch -p1
	patch: **** strip count l is not a number
then:
	can't find file to patch at input line 3
	Perhaps you used the wrong -p or --strip option?
	The text leading up to this was:
	--------------------------
	|--- mythtv-0.18.1.orig/settings.pro
	|+++ mythtv-0.18.1/settings.pro
	--------------------------

cd mythtv-0.18.1/debian/rules
	--cpu=x86_64 --tune=generic --enable-mmx \

dpkg-buildpackage -rfakeroot -b
dpkg-checkbuilddeps: Unmet build dependencies: libqt3-mt-dev libvorbis-dev liblame-dev liblircclient-dev libartsc0-dev libasound2-dev libdvb-dev g++-3.4 libxv-dev | xlibs-dev libxvmc-dev

I used synaptic to download. The compile said there was something wrong with tune=generic. I got the following:
../../libs/libmyth/libmyth-0.18.1.so: undefined reference to `ScreenSaverX11::ScreenSaverX11()'
collect2: ld returned 1 exit status
make[3]: *** [mythepg] Error 1
make[3]: Leaving directory `/opt/mythtv/mythtv-0.18.1/programs/mythepg'
I also got the following errors.
g++-3.4  -o mythepg main.o    -L/usr/share/qt3/lib -L../../libs/libmyth -L../../libs/libmythtv -L../../libs/libavcodec -L../../libs/libavformat -lmythtv-0.18.1 -lmythavformat-0.18.1 -lmythavcodec-0.18.1 -lmyth-0.18.1 -lfreetype -lmp3lame -lasound -L/usr/X11R6/lib -lqt-mt -lXext -lX11 -lm -lpthread
../../libs/libmyth/libmyth-0.18.1.so: undefined reference to `ScreenSaverX11::ScreenSaverX11()'
collect2: ld returned 1 exit status

2006-01-31 21:03:27.234 adding: ubuntu as a client (events: 0)
2006-01-31 21:03:27.241 ERROR opening file in ThreadedFileWriter.
/var/cache/mythtv//ringbuf1.nuv: No such file or directory

Error getting inputs for the capturecard.  Perhaps you have
forgotten to bind video sources to your card's inputs?
2006-01-31 08:01:33.971 Channel(/dev/video0): CheckChannel failed.
Please verify channel "3" in the "setup" Channel Editor.

Installing mysql

I installed mysql. MythTV requires mysql.
	install mysql
		sudo apt-get install mysql-server
			select "no configuration" for simple install
	set pw
		mysql -u root mysql
			quit
Eventually you will need mysql-server, mysql-client, and mysql-common, so the Synaptic package manager should work fine to get these. The version in Ubuntu Breezy is 4.0.24-10.

I followed some of the guide at www.abarbaccia.com/content/view/17/32/" At some point, the mysql database should be initialized like the following.

	mysql -u root -p mysql
	mysql>  UPDATE user SET password=PASSWORD('mythtv') WHERE user="mythtv";
	mysql>  FLUSH PRIVILEGES;
	mysql>  quit

Connect to Zapit

Zapit is need to be able to download program guides. I got the following information from www.quietglow.com/docs/ubuntumythtv.html and it works fine. Log in to labs.zap2it.com The certificate code for mythtv is ZIYN-DQZO-SBUT.

Building MythTV

I found a guide at ubuntuforums.org/showthread.php?t=74660 that said to download MythTV into the /opt directory. I ended up with the mythtv_0.18.1.orig.tar.gz, mythtv_0.18.1-5.diff.gz, and qt-x11-free_3.3.4-8ubuntu5.diff.gz in the /opt/mythtv directory.
	cd /opt/mythtv/
	tar -xzvf mythtv_0.18.1.orig.tar.gz
	cd mythtv-0.18.1
	gzip -dc mythtv_0.18.1-5.diff.gz | patch -p1
Change the /opt/mythtv/mythtv-0.18.1/debian/rules file line from
	--cpu=i486 --tune=pentium4 --enable-mmx
to
	--cpu=x86_64 --tune=generic --enable-mmx \
At this point, I made a mistake and compiled. Jump to the portion about setting up QT3 before compiling.

After editing the rules file, run the following to compile:

	dpkg-buildpackage -rfakeroot -b
After the files are modified, do the following:
	cd /opt/mythtv/mythtv-0.18.1
	sudo ./configure
	sudo make
	sudo make install

	sudo mythtv-setup
When running the mythtv-setup, I got the following error:
	QSqlDatabase: QMYSQL3 driver not loaded

Setting up QT3

On my machine, I have the libqt3-mt, libqt3-mysql, libqt3-headers, and libqt3-dev packages loaded. I must have done this with Synaptic package manager.

There were many notes to modify the /etc/profile file to specify the QT3 directory, but this does not work in Ubuntu. There are also notes to modify etc/security/pam_env.conf or ~/.bash_profile, but in the end, I modified /etc/environment. My /etc/environment file has:

	LANGUAGE="en"
	LANG=en_US.UTF-8
	QTDIR=/usr/share/qt3
	PATH=/usr/local/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/	bin/X11:/usr/games:/usr/share/qt3/bin
I modified the /etc/ld.so.conf file to have the following:
/lib32
/usr/lib32
/usr/X11R6/lib32
/usr/local/lib
Then load it using:
	sudo ldconfig

More setup for MythTV

At some point, I started using the MythTV documentation in the downloaded /opt/mythtv/mythtv-0.18.1/docs directory. I also created a mythtv user from the Ubuntu menu System/Administration/Users and Groups. Select User Priviledges tab and check Executing system administration tasks if you are not too concerned with security.

I used the following to initialize the mysql database:

	cd /opt/mythtv/mythtv-0.18.1/database
	mysql -u root mysql -p 
I got an error:
	Access denied for user: 'mythtv@localhost' (Using password: YES)
If there is not a directory /home/mythtv/.mythtv, then create it. It must contain a file named mysql.txt. There is one shipped with MythTV. It must contain the following lines.
	DBHostName=localhost
	DBUserName=mythtv
	DBPassword=mythtv
	DBName=mythconverg
	DBType=QMYSQL3
I followed the local docs at file:///opt/mythtv/mythtv-0.18.1/docs/mythtv-HOWTO-9.html#ss9.1 for setting up the MythTV backend. I may have run the following:
	mythfilldatabase
	mkdir /var/lib/mythtv
Running mythfrontend will indicate whether the backend is already running.

To get mythtv to start easily, I made a /home/mythtv/mythtv.sh file. I put a Launcher on the desktop by right clicking on the desktop and selecting Create Launcher. The .sh file should contain the following.

	#!/bin/sh

	mythbackend
	mythfrontend
Change the priviledge using:
	chmod +x mythtv.sh.
Fix some directories.
	sudo bash
	mkdir /mnt/store
	chmod a+rw /mnt/store

	sudo chmod 777 -R /var/lib/mythtv
	sudo chmod 777 -R /var/cache/mythtv
Assign new function keys. There is a reference at www.mythtv.org/docs/mythtv-HOWTO-singlehtml.html. It lists the various functions that can be assigned to keys in the ~/.mythtv/lircrc file.
Hosted by www.Geocities.ws

1