Fedora 8 - Package Dependencies
Outdated: The information on this page may no longer be relevant to the current release of MythTV, 35.0. Please consider helping to update it. This page was last modified on 2010-01-05.
I was going to write an article, but I already had a script, so I just cleaned it up, instead.
Updated 2008-08-25 to adjust for changes in SNV trunk, and fedora. This should work for Fedora 9 without too many changes, but NOTE: 'qt4' is now just 'qt' and 'qt' is 'qt3'.
Further updated 2008-09-25. There have been further changes to SVN for MythWeb. If configure throws an error referring to missing Qt_WebKit headers then you need the new package. The new package is, of course, called WebKit-qt and is available in Fedora 8 updates, and is standard in Fedora 9. Updated or recent versions of other packages are also needed. The repo is at http://mirrors.kernel.org/fedora/updates/8/i386.newkey/.
The updated packages are:
WebKit-qt WebKit-qt-devel boost boost-devel gperf libicu libicu-devel libxslt libxslt-devel
When you are done here, go to:
[Installing MYTHTV SVN on Fedora]
for instructions on downloading SVN and building mythv.
Geoff 19:15, 2 April 2008 (UTC)
#!/bin/bash #********************************************* # Quick dependency fulfillment script for mythtv for *FEDORA 8* # NOTE: Package names are different for Fedora 9: generally 'qt' becomes 'qt-3' and 'qt4' becomes 'qt'. # For SVN trunk (using qt4) plus mytharchive and mythdvd plugins (plus some extras) # May not include all of the requirements for other plugins, although mytharchive, mythvideo and mythmusic should be covered # Now includes WebKit to avoid a 'configure' failure (from about SVN 18300 or so). # If configure fails with an error '...QtWebKit headers not found' # then change lines 2678-9 from: # # # check_header QtWebKit/QWebView -I/usr/include/qt4 -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtWebKit # disabled QtWebKit_QWebView && echo "Warning! QtWebkit headers not found, MythBrowser will not work." # to # check_header QtWebKit -I/usr/include/QtWebKit -I/usr/include/qt4 -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtWebKit # disabled QtWebKit && echo "Warning! QtWebkit headers not found, MythBrowser will not work." # # and change all references to "QtWebKit_QWebView" to "QtWebKit" (there is one reference at about line 1060) # # # Uses the atrpms and livna repos and assumes those repos are installed in /etc/yum.repos.d # # Assumes you need ivtv, lirc and firewire: DOES NOT SET THEM UP! # Presumes you are starting from a 'bare metal' install of Fedora 8 # and adds necessary headers and libraries. # # Can be run multiple times without problem. # Presumes that your yum fedora.repo points to ' ../releases/8/Everything/i386/os/packages' # and '....fedora/updates/8/i386.newkey/' # Presumes that you have *already* run 'yum -y update' following the base install # Presumes that you have *already* run 'yum -y update' after the base install # Where a library is required, you will also require the '*-devel' rpm. # # WARNING: This setup prefers atrpms over fedora for libraries. # WARNING: Needed only for compiling myth from source! # WARNING You have rebooted after the update? echo " ********************************* " echo "" echo "" echo " WARNING: Did you reboot after doing your update?" echo "" echo " Use control-C now to exit now." echo "" echo "" export KVER=`uname -r` # Those are back-ticks, not quotes Move atrpms, livna (and freshmeat) out of the way echo " ********************************* " echo "" echo " Move atrpms, livna (and freshmeat, if installed), out of the way" echo "" mkdir /etc/yum.repos.d/hold echo " You can ignore any 'File exists' error" echo "" mv -f /etc/yum.repos.d/atrpms* /etc/yum.repos.d/hold mv -f /etc/yum.repos.d/livna* /etc/yum.repos.d/hold mv -f /etc/yum.repos.d/fresh* /etc/yum.repos.d/hold # To fix a problem where an i686 kernel gets downgraded to i586 # when installing kernel source echo "exclude= *i586*" >> /etc/yum.conf # Now install files from fedora repos echo " ********************************* " echo "" echo " Install kernel sources" echo "" yum -y install kernel-devel kernel-headers echo " Install needed extra development headers " echo "" yum -y install glibc glibc-common glibc-devel glibc-headers glibc-utils yum -y install libXxf86vm libXxf86vm-devel echo "" echo " ********************************* " echo "" echo " Update to qt4: does NOT install the 15 Meg of qt4-docs" echo " Note that these file names are case sensitive" echo "" yum -y install qt qt-devel qt-MySQL qt4 qt4-devel qt4-mysql qt4-x11 echo " Add the libmysqlclient libraries to LDPATH through ld.so.conf" echo "/usr/lib/mysql" >> /etc/ld.so.conf ldconfig echo "" echo " Otherwise you get the error: QSqlDatabase: QMYSQL3 driver not loaded" echo " when myth tries to contact the database, as the client library is not found." echo " ********************************* " echo "" echo " Now for the files mythtv needs" echo "" yum -y install alsa-lib alsa-lib-devel alsa-utils \ cdparanoia cdparanoia-devel cdparanoia-libs \ libdvdread libdvdread-devel \ libtheora libtheora-devel \ libexif libexif-devel \ libtiff libtiff-devel \ libvorbis libvorbis-devel nasm \ SDL SDL-devel echo " ********************************* " echo "" echo " Add Firewire capabilies" yum -y install libiec61883 libiec61883-devel libavc1394 libavc1394-devel echo " ********************************* " echo "" echo " Now bring atrpms into scope" echo "" mv /etc/yum.repos.d/hold/atrpms* /etc/yum.repos.d/ echo " ********************************* " echo "" echo " Install ivtv including firmware for PVR150/250/350/500" echo "" yum -y install ivtv ivtv-devel ivtv-kmdl-$KVER ivtv-firmware echo " ********************************* " echo "" echo " Install lirc: you will have to deal with modprobe.conf manually" echo "" yum -y install lirc lirc-lib lirc-lib-devel lirc-devices \ lirc-kmdl-$KVER echo " ********************************* " echo "" echo " Substitute the atrpms libraw1394 for the fedora version" echo "" yum -y update libraw1394 # substitutes atrpms version for fedora echo " ********************************* " echo "" echo " Now for the majority of the install" echo " You should raid the fridge or make a coffee....." echo " Note that some rpms have a name different from the library." echo " I.e the rpm is called libmp3lame0 while the " echo " library is called libmp3lame " echo "" echo " First firewire: a dependency of other stuff " yum -y install libdc1394 libdc1394-devel \ libraw1394-devel libraw1394_8 echo "" echo " Now a big bundle of stuff " echo "" yum -y install a52dec a52dec-devel liba52_0 \ alsa-driver alsa-driver-devel alsa-kmdl-$KVER \ faac faac-devel libfaac0 faad2 faad2-devel \ libfaac libmp4v2 ffmpeg ffmpeg-devel \ fftw fftw-devel fftw2 fftw2-devel \ flac flac-devel \ lame lame-devel libmp3lame0 \ libcdaudio libcdaudio-devel \ libdca libdca-devel libdca0 \ libdvdnav libdvdnav-devel \ libfame libfame-devel \ libmad libmad0 libmad-devel \ libXvMCW-devel nasm \ mjpegtools mjpegtools-devel \ mplayer mplayerplug-in \ SDL-devel taglib taglib-devel \ transcode xvidcore xvidcore-devel echo " ********************************* " echo "" echo " Now hide atrpms and bring livna into scope." echo " The Livna repo has duplicates of many atrpms files," echo " but generally not as new. " echo " We use it only for specific files." echo " Do NOT run 'yum update' with livna enabled!" echo "" mv -f /etc/yum.repos.d/hold/livna* /etc/yum.repos.d/ mv -f /etc/yum.repos.d/atrpms* /etc/yum.repos.d/hold echo " ********************************* " echo "" echo " Install files from Livna" yum -y install libdvdcss libdvdcss-devel \ libdvdplay libdvdplay-devel echo " Almost done!" echo " Some cleanup...." mv -vf /etc/yum.repos.d/livna* /etc/yum.repos.d/hold depmod -ae ldconfig echo " ********************************* " echo "" echo " Done!" echo " " echo " Note that you can run this as many times as you like." echo " The only effect, besides installing (or reporting "Nothing to do") echo " will be to add a line ("exclude = *i586*) to /etc/yum.conf, " echo " and add a line ("usr/lib/mysql" to /etc/ld.so.conf each time it is run." echo "" echo "" echo ""