Archive:Compile Kodi on openSUSE

From Official Kodi Wiki
Revision as of 06:01, 24 November 2011 by Ned Scott (talk | contribs)
Jump to navigation Jump to search

Template:GoToParent

Prerequisites

In order to successful install XBMC, (by source or by rpms) you need the following Repositories to be added in Yast (change "11.4" with "11.3" openSUSE 11.3 repositories):

  • openSUSE-11.4-Oss (this is already enabled in a standard installation)

http://download.opensuse.org/distribution/11.4/repo/oss/

  • Packman Repository

http://ftp.skynet.be/pub/packman/suse/11.4/

You can easly add them by YaST (package manager) --> repositories --> repositories manager --> add --> community repositories

Installation

Installation with RPMs

Use YaST or zypper to install XBMC:

$ sudo zypper in XBMC

NOTE: XBMC is in the Packman repository

Installation from Source Code

Getting the source code

The first time:

$ sudo zypper in git
$ cd $HOME
$ mkdir src
$ cd src
$ git clone git://github.com/xbmc/xbmc.git

Stable sources can be downloaded in tar.gz format from http://mirrors.xbmc.org/releases/source/


In order to update the source code (and clean old make files):

$ cd $HOME/src
$ git pull
$ make clean

Install All Building Dependencies

Type that in a terminal (you may want to copy and paste)

$ sudo zypper in make cmake autoconf automake gcc gcc-c++ boost-devel python-devel python-sqlite2 dbus-1-devel gperf gcc-fortran unzip zip unrar nasm libavahi-devel
$ sudo zypper in SDL-devel SDL_image-devel SDL_mixer-devel jpegint-devel audiofile-devel fontconfig-devel freetype2-devel fribidi-devel glibc-devel hal-devel 
$ sudo zypper in libbz2-devel libstdc++-devel libexpat-devel glib2-devel libjasper-devel libjpeg-devel mad-devel libmikmod-devel libmms-devel libogg-devel nvidia-vdpau-devel
$ sudo zypper in libopenssl-devel sqlite3-devel libstdc++-devel libpng-devel libtre-devel e2fsprogs-devel libvorbis-devel lzo-devel pcre-devel libenca-devel libpulse-devel
$ sudo zypper in libfaac-devel ccache xorg-x11-devel Mesa-devel dbus-1-devel glew-devel alsa-devel libmysqlclient-devel libcurl-devel zlib-devel xmms-devel ftgl-devel libcdio-devel
$ sudo zypper in libtool libsamplerate-devel libfaad-devel flac-devel libsmbclient-devel libtiff-devel enca-devel

For the current trunk (at least Rev 27985 and higher), you will also need

sudo zypper in libwavpack-devel libmpeg2-devel libmicrohttpd-devel libmodplug-devel

Compile Source

To compile respecting openSUSE Filesystem structure please do the following:

32bit (i586)
$ cd $HOME/xbmc
$ ./bootstrap
$ ./configure --enable-mid --disable-debug --disable-pulse --prefix=/usr
$ make
$ sudo make install

If you receive this error during configure:

~/xbmc/xbmc/lib/libass ~/xbmc
configure: error: cannot find install-sh or install.sh in "." "./.." "./../.."
~/xbmc
configure: error: Submodule xbmc/lib/libass failed to configure

You can try this: (quick solution is: use external libass and use option --enable-external-libass with configure)

$ sudo zypper in libass-devel
$ ./configure --enable-external-libass --enable-mid --disable-debug --disable-pulse --prefix=/usr

Alternatively, you can install the "libtool" package, which provides install-sh.

64bit (x86_64)

x86_64 users need to export CFLAGS and apply a patch because a non standard libdir ( http://forum.xbmc.org/showthread.php?t=34527 ) on ubuntu (the only one supported)


create a text file called for example "missing-cflags.patch" a paste inside it the following lines:

http://pastebin.com/f22b29f07

than put it in your folder and type the following:

$ cd $HOME/xbmc
$ mv ../missing-cflags.patch .
$ patch -p1 < missing-cflags.patch
$ CFLAGS="-I/usr/lib64/dbus-1.0/include -I/usr/lib64/glib-2.0/include"
$ export CFLAGS
$ ./configure --enable-mid --disable-debug --disable-pulse --prefix=/usr
$ CFLAGS="-I/usr/lib64/dbus-1.0/include -I/usr/lib64/glib-2.0/include" make
$ sudo make install

Run It!

Now Open a shell and type

xbmc

to launch it.

Notice: on system without CD/DVD device XBMC hang with 100% CPU on start (before GUI): error in <=libcdio-0.81-2 .. libcdio10-0.81-8.1.i586.rpm from OBS multimedia:libs/openSUSE_11.2 - same situation, hanged ..

Workaround for openSUSE: Mount any ISO file as virtual CD-ROM. To do that automatically on the system startup, add a line in /etc/fstab:

/path-to-iso-file/image.iso /mnt/image1 iso9660 ro,loop,auto 0 0


Continue with How to Add Content (Media Sources) to your XBMC.

Have fun Anubisg1