Archive:Compile Kodi on openSUSE: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
>Manchette
No edit summary
>Ripper17
(Updating for Eden)
Line 3: Line 3:
== Prerequisites ==
== 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):
In order to successful install XBMC Eden, (by source or by rpms) you need the following Repositories to be added in Yast (change "12.1" to "11.4" or "11.3" if required):


* openSUSE-11.4-Oss (this is already enabled in a standard installation)
* openSUSE-12.1-Oss (this is already enabled in a standard installation)
http://download.opensuse.org/distribution/11.4/repo/oss/
http://download.opensuse.org/distribution/12.1/repo/oss/


* Packman Repository
* Packman Repository
http://ftp.skynet.be/pub/packman/suse/11.4/
http://ftp.skynet.be/pub/packman/suse/12.1/


You can easly add them by '''YaST (package manager) --> repositories --> repositories manager --> add --> community repositories'''
You can easly add them by '''YaST (package manager) --> repositories --> repositories manager --> add --> community repositories'''
Line 15: Line 15:
== Installation ==
== Installation ==
=== Installation with RPMs ===
=== Installation with RPMs ===
Use YaST or zypper to install XBMC:
Use YaST or zypper to install XBMC:


<source lang=bash>$ sudo zypper in XBMC</source>
<source lang=bash>$ sudo zypper in XBMC</source>
'''NOTE:''' XBMC is in the Packman repository
'''NOTE:''' XBMC is in the Packman repository
'''NOTE: As of April 1st, 2012, XBMC-Eden (11.0) has not yet been uploaded to the Packman repository'''


=== Installation from Source Code ===
You can now skip to ''[[#Run It|Run It!]]''
 
=== Installation from source code ===


==== Getting the source code ====
==== Getting the source code ====
===== Stable sources =====
Stable sources can be downloaded in tar.gz format from
http://mirrors.xbmc.org/releases/source/
After downloading, run
<source lang=bash>$ tar -xfz xbmc-11.0.tar.gz</source>
You can now skip to ''[[#Installing all building dependencies|Installing all building dependencies]]''
===== Development sources =====
If you want to build xbmc from current development snapshot:
The first time:
The first time:


Line 31: Line 46:
$ cd src
$ cd src
$ git clone git://github.com/xbmc/xbmc.git</source>
$ git clone git://github.com/xbmc/xbmc.git</source>
Stable sources can be downloaded in tar.gz format from
http://mirrors.xbmc.org/releases/source/




Line 40: Line 53:
$ make clean</source>
$ make clean</source>


==== Install All Building Dependencies ====


Type that in a terminal (you may want to copy and paste)
==== Installing all building dependencies ====


<source lang=bash>$ 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
XBMC requires a number of external libraries to build (you may want to copy and paste):
$ 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 libass-devel libmad-devel libssh-devel libbtctl-devel libyajl-devel</source>


For the current trunk (at least Rev 27985 and higher), you will also need
<source lang=bash>$ sudo zypper in make cmake autoconf automake gcc gcc-c++ libtool gettext-devel
<source lang=bash>sudo zypper in libwavpack-devel libmpeg2-devel libmicrohttpd-devel libmodplug-devel</source>
$ sudo zypper in boost-devel glew-devel  libmysqlclient-devel libass-devel libmpeg2-devel
$ sudo zypper in libmad-devel libjpeg-devel libsamplerate-devel libogg-devel libvorbis-devel
$ sudo zypper in libmodplug-devel libcurl-devel flac-devel libbz2-devel  libtiff-devel lzo-devel
$ sudo zypper in libyajl-devel fribidi-devel sqlite3-devel libpng12-devel pcre-devel libcdio-devel
$ sudo zypper in libjasper-devel libSDL_mixer-devel libSDL_image-devel libmicrohttpd-devel
$ sudo zypper in libsmbclient-devel python-devel gperf zip nasm </source>


==== Compile Source ====
==== Compile source ====
To compile respecting openSUSE Filesystem structure please do the following:
To compile respecting openSUSE Filesystem structure please do the following:


Line 63: Line 75:
$ make
$ make
$ sudo make install</source>
$ sudo make install</source>
If you receive this error during configure:
<source lang=bash>~/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</source>
You can try this: (quick solution is: use external libass and use option --enable-external-libass with configure)
<source lang=bash>$ sudo zypper in libass-devel
$ ./configure --enable-external-libass --enable-mid --disable-debug --disable-pulse --prefix=/usr</source>
Alternatively, you can install the "libtool" package, which provides install-sh.


===== 64bit (x86_64) =====
===== 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)
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:
create a text file called for example "missing-cflags.patch" a paste inside it the following lines:
Line 98: Line 95:
$ sudo make install</source>
$ sudo make install</source>


== Run It! ==
== Run it ==
 
Now Open a shell and type <source lang=bash>xbmc</source> 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:
<source lang=bash>/path-to-iso-file/image.iso /mnt/image1 iso9660 ro,loop,auto 0 0</source>


Open a shell and type <source lang=bash>xbmc</source> to launch it.


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

Revision as of 19:43, 1 April 2012

Template:GoToParent

Prerequisites

In order to successful install XBMC Eden, (by source or by rpms) you need the following Repositories to be added in Yast (change "12.1" to "11.4" or "11.3" if required):

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

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

  • Packman Repository

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

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 NOTE: As of April 1st, 2012, XBMC-Eden (11.0) has not yet been uploaded to the Packman repository

You can now skip to Run It!

Installation from source code

Getting the source code

Stable sources

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

After downloading, run

$ tar -xfz xbmc-11.0.tar.gz

You can now skip to Installing all building dependencies


Development sources

If you want to build xbmc from current development snapshot: The first time:

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


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

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


Installing all building dependencies

XBMC requires a number of external libraries to build (you may want to copy and paste):

$ sudo zypper in make cmake autoconf automake gcc gcc-c++ libtool gettext-devel
$ sudo zypper in boost-devel glew-devel  libmysqlclient-devel libass-devel libmpeg2-devel
$ sudo zypper in libmad-devel libjpeg-devel libsamplerate-devel libogg-devel libvorbis-devel
$ sudo zypper in libmodplug-devel libcurl-devel flac-devel libbz2-devel  libtiff-devel lzo-devel 
$ sudo zypper in libyajl-devel fribidi-devel sqlite3-devel libpng12-devel pcre-devel libcdio-devel
$ sudo zypper in libjasper-devel libSDL_mixer-devel libSDL_image-devel libmicrohttpd-devel
$ sudo zypper in libsmbclient-devel python-devel gperf zip nasm

Compile source

To compile respecting openSUSE Filesystem structure please do the following:

32bit (i586)
$ cd $HOME/src/xbmc
$ ./bootstrap
$ ./configure --enable-mid --disable-debug --disable-pulse --prefix=/usr
$ make
$ sudo make install
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

Open a shell and type

xbmc

to launch it.

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

Have fun Anubisg1