Fink And Portage

From MythTV Official Wiki
Revision as of 18:21, 3 April 2012 by Pvr4me (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Time.png Outdated: The information on this page may no longer be relevant to the current release of MythTV, 0.27.4. Please consider helping to update it.

Using Fink or Portage for Dependencies

Since manually installing and managing dependencies can be a pain, many methods have been devised to manage them for you. Under OS X, there are three main methods. Fink, Darwin Ports and Portage OS X.

Update (11.03.2006, by Andreas Weder) The instructions on how to build mythtv and its plug-ins using Fink have been updated for mythTV version 0.18.1. They might also apply for version 0.19 or a version from the 0.19.1 fixes branch, but I haven't tried that yet. Note that you cannot run a 0.18 frontend against a 0.19 backend.

Setting up Your Package Manager

See the respective manager's home page: Fink, Portage OS X, Darwin Ports.

For Fink, use Fink Commander to get a graphical frontend to the command line tools.


Important.png Note: Make sure you allow Fink to use packages from the unstable tree, else you won't be able to install all needed packages for compiling mythtv. For Fink Commander, go to Settings->Fink and check the option to "use packages from unstable".

More details to come, if needed!

Steps to compile mythtv

Using Fink

In order to compile mythtv, you'll have to do the following:

1. set up some environment variables
2. install Freetype, lame and the mysql client using Fink
3. download and compile native QT for mac. The version offered by Fink is an X11-only version - we need the native one.
4. download and compile mythtv.

Using Portage

Have you installed qt with portage? If so, fill in this information!


Using Darwin Ports

Have you installed qt with darwin ports? If so, fill in this information!


Setting up your environment

Using Fink

Add the following statements to .profile (or another file according to used shell) in your home directory using vi or any other text editor.

export SRCDIR=$HOME/src
export CPATH=/sw/include:/usr/local/include
export LIBRARY_PATH=/sw/lib:/sw/lib/freetype2/lib:/usr/local/lib
export QTDIR=$SRCDIR/qt-mac-free-3.3.3
export DYLD_LIBRARY_PATH=/sw/lib:/usr/local/lib
export PATH=$PATH:/usr/local/bin

Download and compile all manually installed packages into SRCDIR. CPATH and LIBRARY_PATH ensure that libraries installed by Fink as well as manually installed software is found by the linker and the compiler. DYLD_LIBRARY_PATH is for properly locating shared libraries.

Open a new terminal to ensure that the new definitions take effect.


Using Portage

Have you installed qt with portage? If so, fill in this information!


Using Darwin Ports

Have you installed qt with darwin ports? If so, fill in this information!


Freetype2

Suggested version is 2.1.9.


Using Fink

As of this writing, the current version of Freetype offered by Fink is 2.1.3-22, which works on my machine with no issues so far.

fink install freetype2 freetype2-dev freetype2-shlibs

Using Portage

freetype version 2.1.5-r1 worked fine, once unmasked for ppc-macos

ekeyword ppc-macos /usr/portage/media-libs/freetype/freetype-2.1.5-r1.ebuild 
emerge -puv freetype
emerge -uv freetype


Using Darwin Ports

sudo port install freetype

LAME

Suggested version is 3.96.1.


Using Fink

As of this writing, the version offered by Fink is 3.93.1-11. No issues with this version and mythtv have been reported so far.

fink install lame lame-dev lame-shlibs


Using Portage

lame version 3.96.1 worked fine, once unmasked for ppc-macos

ekeyword ppc-macos /usr/portage/media-sound/lame/lame-3.96.1.ebuild 
emerge -puv lame
emerge -uv lame


Using Darwin Ports

sudo port install lame

MySQL Client

Suggested version is 4.1.9.


Using Fink

As of this writing, the version offered by Fink is 4.1.10-100. No issues with this version and mythtv have been reported so far.

fink install mysql-client mysql14-dev mysql14-shlibs

(This may be inaccurate, recalled this command from memory)


Using Portage

Have you installed mysql with portage? If so, fill in this information!


Using Darwin Ports

Have you installed mysql with macports? If so, fill in this information!

QT

Suggested version is 3.3.5.


Using Fink

The QT version offered by Fink uses X11. We need the mac native version, which is available directly from Trolltech. Note that mythTV requires QT3 - QT4 is not supported yet.

I've also used version 3.3.3 and 3.3.4 with no problems. If you do, make sure you adapt QTDIR accordingly.

To build QT, first get the source code:

curl ftp://ftp.trolltech.com/qt/source/qt-mac-free-3.3.5.tar.gz | tar -xz
cd qt-mac-free-3.3.5

Next, configure the installation. Qt takes a long time to build, so we turn off everything that's not absolutely necessary. You may want to remove some of the -no-style flags and try out other styles.

./configure -prefix /usr/local -system-zlib -fast -qt-sql-mysql \
  -no-style-cde -no-style-compact -no-style-mac \
  -no-style-motif -no-style-motifplus -no-style-platinum \
  -no-style-sgi -thread -no-ipv6 -qt-imgfmt-png \
  -qt-imgfmt-jpeg -no-imgfmt-mng -no-tablet \
  -I/sw/include/mysql -L/sw/lib/mysql

Now build QT. The make process requires a bit of explanation. Qt needs the -single-module flag to build correctly with our MySQL installation; the first line adds this to the compile instructions. We only build the sub-src target, as we only need the Qt library; this skips the documentation, examples, and a hundred other things that aren't necessary for working with MythTV.

echo 'QMAKE_LFLAGS_SHLIB += -single_module' >> src/qt.pro
make sub-src

QT is now compiled. The final step installs everything under /usr/local (as configured previously by the -prefix option of configure).

sudo make src-install


Using Portage

Have you installed qt with portage? If so, fill in this information!


Using Darwin Ports

Have you installed qt with darwin ports? If so, fill in this information!

MythTV

This section installs mythtv 0.18.1.


Using Fink

If you intend to compile version 0.18.1 of mythtv, do the following.

1. Download the 0.18.1 source code from mythtv.org: mythtv0_18_1
2. Unpack it into your SRCDIR
3. Configure and make MythTV itself as described below.

The defaults should work fine:

cd mythtv
sudo ./configure
make
sudo make install

You must launch the frontend from the command line, as launching it through the Finder will not work properly (unless you completed the Optional section of step 3 of Myth on Mac OS X). Run the frontend with this command:

/usr/local/bin/mythfrontend.app/Contents/MacOS/mythfrontend

You'll be prompted for the MySQL connection parameters when it starts up. Enter the hostname for your Linux backend, and change any of the other parameters as appropriate. (This part is not Mac-specific and depends on your backend setup.) You should see the main menu for the frontend after it successfully connects to the MySQL server.


If you intend to also install some plug-ins, please refer to Myth on Mac OS X.

Using Portage

Have you installed mythtv with portage? If so, fill in this information!


Using Darwin Ports

Have you installed mythtv with darwin ports? If so, fill in this information!