Archive:Compile Kodi on openSUSE: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
>Ripper17
>Ripper17
Line 21: Line 21:


<source lang=bash>$ sudo zypper in XBMC</source>
<source lang=bash>$ sudo zypper in XBMC</source>
'''NOTE:''' XBMC 9.11 is in the Packman repository
'''NOTE:''' XBMC is in the Packman repository
 
In order to resolve dependencies for XBMC in packman, I had to install
 
liborc-0_4-0-32bit-0.4.11-3.pm.6.2.x86_64.rpm
 
Google it...Took care of the headache of compiling for those of you in a rush.


===Installation from Source Code===
===Installation from Source Code===

Revision as of 19:41, 28 July 2011

Merge-arrow.gif
It has been suggested that this article or section be merged into ArchiveHOW-TO compile XBMC for Linux from source code. (Discuss)

Template:GoToParent Template:Current event

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 subversion
$ cd $HOME
$ mkdir xbmc
$ svn co https://xbmc.svn.sourceforge.net/svnroot/xbmc/tags/9.11_Camelot/ xbmc/

(For the latest stable release)

$ svn co https://xbmc.svn.sourceforge.net/svnroot/xbmc/tags/Camelot_rc1/ xbmc/

(For the RC1 from the current release)

$ svn co https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk/ xbmc/

(For the latest development version)


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

$ cd $HOME/xbmc
$ svn up
$ 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 and/or General Usage tips.

Have fun Anubisg1