New XBMC.deb (mainline-tree) for raspberry pi

Great news :)

The new xbmc build has compiled succesfully. I have tested the version a little bit, to ensure that the main functions are working properly.
This xbmc version is compiled from the mainline tree: https://github.com/xbmc/xbmc. It was configured with:

./configure --prefix=/usr --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf 
   --localstatedir=/var/lib --with-platform=raspberry-pi --disable-gl --enable-gles 
   --disable-x11 --disable-sdl --enable-ccache --enable-optimizations 
   --enable-external-libraries --disable-goom --disable-hal --disable-pulse 
   --disable-vaapi --disable-vdpau --disable-xrandr --enable-airplay --disable-airtunes
   --disable-alsa --enable-avahi --enable-libbluray --enable-dvdcss 
   --disable-debug --disable-joystick --enable-mid --enable-nfs --disable-profiling 
   --disable-projectm --enable-rsxs --enable-rtmp --disable-vaapi 
   --disable-vdadecoder --disable-external-ffmpeg  --enable-optical-drive --enable-libcec 
   --enable-player=omxplayer

Please note that i didn´t test all the features of this build. I can confirm that CEC, Airplay (Android), video playback and sound is working. I did not test it with .iso and .vob/ifo files….


Installation:

Before you download this package ensure that you have installed the required libraries

Important notice: There is a problem with some libraries, so that xbmc won´t start. Message that shows up:

/usr/lib/xbmc/xbmc.bin: error while loading shared libraries: libtag.so.1: cannot open shared object file: No such file or directory

Also airplay is not working from the start. To fix these issues follow these steps:
Download taglib from here and libshairport from here. In case you want CEC-Support you need to install the library as well. Download it from here.
Then:

sudo dpkg -i taglib_20121005-1_armhf.deb
sudo dpkg -i libshairport_1-1202030-1_armhf.deb
//In case you want CEC-Support
sudo dpkg -i libcec_1.9.0-1_armhf.deb

Taglib wont create the symbolic links, so that xbmc wont find the lib although it is installed. So we have to do it manually:

cd /usr/local/lib/
sudo ln -s libtag.so.1.12.0 libtag.so.1
sudo ln -s libtag.so.1 libtag.so

cd /usr/lib/
sudo ln -s /usr/local/lib/libtag.so.1 ./libtag.so.1
//In case you want cec enabled
sudo ln -s /usr/local/lib/libcec.so.1 ./libcec.so.1
sudo apt-get install avahi-daemon

This fix is tested with the current raspbian image (2012-09-18). I will investigate this to find out what is wrong with the library path…


Download the new version by following this link, after that:

sudo dpkg -i xbmc_20121004-1_armhf.deb

To start xbmc:

sudo /usr/lib/xbmc/xbmc.bin

I will compile a new version and a full image containing this build in the next weeks and try to support airtunes and pvr addons….

  1. Olli

    Monday, October 8, 2012 - 10:28:28

    Thank for this packet. But I have couple question.
    1. If you start xbmc without root permission, why keyboard is not working for text input?

    2. When I watch letterbox movie, I can see terminal output in black borders area (above and below the video). How can I eliminate this? This happends with self installed xbmc-package and ready raspbian + xbmc -image. But in raspbmc, terminal stay invisible.

    Thanks

  2. spadmin

    Monday, October 8, 2012 - 13:08:10

    @Olli

    Hi,

    i will try to find a fix for using the xbmc as a normal user, and to eliminate the terminal output while playback as soon as i got some time left….

  3. Jorge

    Tuesday, October 9, 2012 - 20:54:36

    Thanks for this package and instructions!

    I will test it l8r, but I think there is missing sudo on ln commands below.

    cd /usr/lib/
    ln -s /usr/local/lib/libtag.so.1 ./libtag.so.1
    //In case you want cec enabled
    ln -s /usr/local/lib/libcec.so.1 ./libcec.so.1

    Greetings from Brazil

  4. spadmin

    Wednesday, October 10, 2012 - 09:20:18

    @Jorge

    Thanks :) I corrected it

  5. Markus

    Saturday, October 13, 2012 - 11:37:12

    Hi.

    Thanks for the packages. Is it possible to enable the PVR addons for the XBMC package? What about a package for tvheadend for DVB receiving?

    BTW: Are you cross-compiling those packages or compiling on the device?

    M.

  6. Anr

    Saturday, October 13, 2012 - 20:42:42

    Thanks for that.
    I installed latest Raspbian “wheezy” image (Sept 18 2012) and after that followed your instructions to install xbmc_20121004-1_armhf.deb
    first it seemed great. sudo /usr/lib/xbmc/xbmc.bin worked. I was able to watch movies from local file system and from win7 machine using SMB.
    However, when I tried to close XBMC, all I got is a blank screen, and could not get back to command line. trying to ssh to the pi worked, but on the pi itself, nothing could be done except from starting it all over as the HDMI output showed nothing. After reboot starting XBMC fails with segmentation fault, and only works after deleting /root/.xbmc/ folder, again only once and then stuck again when exiting…
    any ideas?

  7. Anr

    Saturday, October 13, 2012 - 23:21:33

    Update: seemed it was a display issue. using fbset after exiting XBMC solves the issue. Thanks.

  8. spadmin

    Monday, October 15, 2012 - 11:32:00

    @Markus

    Hi, i will try to add pvr functionialities in the next xbmc build. I have tried to setup a cross compiling enviroment but i had no luck with it. So i am compiling on the raspberry pi again….

  9. Olli

    Monday, October 15, 2012 - 21:52:36

    Hi
    I figured solution for my own question how to “hide” terminal in letterbox movie. Its a little bit cheating but it works.

    - Make file to sd-card root, i named it just “xbmc”
    - Put follow script in that file:

    #!/bin/bash
    clear
    echo
    echo
    echo
    echo
    echo
    echo
    echo
    echo
    echo
    sudo /usr/lib/xbmc/xbmc.bin

    - Save file and type “sudo chmod 777 xbmc”
    - Now start XBMC by typing just “bash /xbmc” and you get nice clear terminal background if you watch letterbox movie.

  10. ben

    Friday, October 19, 2012 - 20:31:46

    hi, im having still trouble becouse im getting this libtag error.. but i installed the xbmc.deb already bevor(other trutorial i matched myself form the raspberry.org pages)…but if i follow your guide…its still not working…and the sudo ln -s gives me file already existing…. but xbmc call the file as missing…
    and sudo dpkg -r xbmc…. doesnt remove it for a clear new install..do you have an uninstaller for that file?

    best regards

  11. spadmin

    Saturday, October 20, 2012 - 09:48:14

    @ben
    hi,

    the fix for the xbmc is definitively working. Do you have installed the libtag library before you created the symlinks? Make sure that you follow this guide in this post exactly.
    You don´t need an uninstaller for that. Its completly integrated in your os. Just call “sudo dpkg -r xbmc”. You may want to remove the folder “/root/.xbmc/” which contains some userdata.
    Also make sure to remove “/usr/lib/xbmc/” after the deinstallation.

    If a reinstallation wont work, you can download the latest image including xbmc. Its the raspbian image with the latest xbmc preinstalled. (raspbian_wheezy_20121015+xbmc.exe).You can download it here: http://selfprogramming.bplaced.net/?page=downloads

  12. Tamsyn

    Tuesday, October 23, 2012 - 07:44:25

    Hi,

    Thanks for all your hard work. I’ve followed your instructions with the newest install, but still no dice I’m afraid. I think my issue may also be related to taglib, as I get the error:
    /usr/lib/xbmc/xbmc.bin: symbol lookup error: /usr/lib/xbmc/xbmc.bin: undefined symbol: _ZTINSTagLib8BIOStreamE.

    I tried deleting all the symbolic links and starting again (as suggested in a mainstream XBMC issue report, but I’m still in the same boat.

    Any other info you need?

    Thanks

  13. Lee

    Wednesday, October 24, 2012 - 16:08:27

    Hi,

    It is a nice package.

    But I’m having the similar problem (error while loading shared libraries: libtag.so.1) posted by others.

    I followed your steps closely to install xbmc:-
    1 - download taglib and libshairport deb
    2 - install the deb packages
    3 - symlink in /usr/local/lib/ and /usr/lib/
    4 - download xbmc deb
    5 - install required libraries
    6 - sudo /usr/lib/xbmc/xbmc.bin give me the libtag.so.1 error

    I notice in /usr/local/lib/ folder, there isn’t any libtag.so.1.12.0 in the first place. I try uninstall xbmc and install taglib package alone still unable to see this libtag.so.1.12.0 file.

    Am I missing any step ?

  14. spadmin

    Wednesday, October 24, 2012 - 19:40:40

    @Lee

    Hi,
    i´ve just tested the installation guide with the raspbian image (2012-09-18). All went fine and i was able to start xbmc…. Are you really sure that you haven´t missed a step? Did the installation of taglib succeed or were there some errors? That would possible explian why there is no libtag.so.1.12.0 in /usr/local/lib

    Best regards

  15. π

    Thursday, October 25, 2012 - 02:54:41

    could you please make a nice apt repository with your packages? thanks in advance :)

  16. Lee

    Thursday, October 25, 2012 - 05:20:17

    Hi,

    I have tried uninstall clean & just reinstall only libtag below. Result is the same no libtag.so.1.12.0 in /usr/local/lib/

    sudo dpkg -r xbmc
    (Reading database … 83723 files and directories currently installed.)
    Removing xbmc …
    Processing triggers for desktop-file-utils …
    Processing triggers for hicolor-icon-theme …

    sudo dpkg -i ./taglib_20121005-1_armhf.deb
    Selecting previously unselected package xbmc.
    (Reading database … 81895 files and directories currently installed.)
    Unpacking xbmc (from ./taglib_20121005-1_armhf.deb) …
    Setting up xbmc (20121004-1) …
    Processing triggers for hicolor-icon-theme …
    Processing triggers for desktop-file-utils …

    ls /usr/local/lib/
    python2.7 python3.2 <only these files>

    sudo find / -name libtag.so*
    <No matched files>

    cat /proc/version
    Linux version 3.2.27+ (dc4@dc4-arm-01) (gcc version 4.7.2 20120731 (prerelease) (crosstool-NG linaro-1.13.1+bzr2458 - Linaro GCC 2012.08) ) #160 PREEMPT Mon Sep 17 23:18:42 BST 2012

  17. spadmin

    Thursday, October 25, 2012 - 06:55:56

    @Lee
    Hi,
    there is definetly something wrong with your taglib library. It seems that it installs xbmc again
    and not taglib:

    Unpacking xbmc (from ./taglib_20121005-1_armhf.deb) …
    Setting up xbmc (20121004-1) …

    Try the following:
    Remove xbmc, taglib

    sudo dpkg -r xbmc
    sudo dpkg -r taglib

    Remove also the directory “/usr/lib/xbmc” and /root/.xbmc” if they exits..
    Download taglib again.

    copy it into an empty directory and:
    sudo dpkg -i taglib_20121005-1_armhf.deb

    Maybe dpkg gets confused with “./”

    #################################################

    Here is the output of a clean deinstallation of taglib:

    sudo dpkg -r taglib
    (Reading database … 59839 files and directories currently installed.)
    Removing taglib …

    sudo dpkg -i taglib_20121005-1_armhf.deb
    Selecting previously unselected package taglib.
    (Reading database … 59735 files and directories currently installed.)
    Unpacking taglib (from taglib_20121005-1_armhf.deb) …
    Setting up taglib (20121005-1) …

    So in your case it doesn´t install taglib it installs xbmc again….

  18. Lee

    Thursday, October 25, 2012 - 15:37:18

    Hi,

    You are correct ! The taglib library file name is correct but it is not the actual file. It was my mistake giving the same xbmc path to wget to fetch the file.

    Everything works fine now. But only concern why CPU is sooooo high 90++ to 100, even doing nothing.

    I do not have such problem with raspbmc.

    Any advise ?

    Thanks

  19. spadmin

    Saturday, October 27, 2012 - 14:40:17

    @Lee

    it seems that the high cpu usage is somehow related with the gui of xbmc. Maybe its becouse it tries to run at 100fps and rebuild the gui. That maybe causes the high cpu usage. I noticed when playing a stream over internet, the cpu usage is about 30% (and iam using samba and openvpn with xbmc along)

    I will try to find a solution to that (Reducing the fps in the gui to 25fps for example)

    Greetings

  20. rokk

    Friday, November 2, 2012 - 20:03:44

    Awesome work! Easy install - no problems. Love it!!

  21. Kryten

    Tuesday, November 6, 2012 - 04:42:39

    I have installed all the dependencies required for xbmc and then the latest .deb package. once I am finish and type;

    sudo /usr/lib/xbmc/xbmc.bin

    I receive the following message:

    /usr/lib/xbmc/xbmc.bin: error while loading shared libraries: libtag.so.1: cannot open shared object file: No such file or directory

    Any ideas on what may be causing this?

  22. Declan Malone

    Tuesday, November 20, 2012 - 00:34:05

    A fix for the error /usr/lib/xbmc/xbmc.bin: symbol lookup error: /usr/lib/xbmc/xbmc.bin: undefined symbol: _ZTINSTagLib8BIOStreamE.
    First, check which libs the binary is using:
    $ ldd /usr/lib/xbmc/xbmc.bin |grep tag
    libtag.so.1 => /usr/lib/arm-linux-gnueabihf/libtag.so.1 (0×413ed000)
    This shows that it’s not using the libs installed into /usr/local/bin. My first thought is to just delete the library that installed that lib:
    $ dpkg -S /usr/lib/arm-linux-gnueabihf/libtag.so.1
    libtag1-vanilla:armhf: /usr/lib/arm-linux-gnueabihf/libtag.so.1
    So what happens if I try to remove libtag1-vanilla? As it happens, quite a few packages depend on it:
    $ sudo apt-get remove libtag1-vanilla
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    The following packages were automatically installed and are no longer required:
    libass4 libavc1394-0 libcddb2 libdirac-decoder0 libdvbpsi7 libebml3
    libiso9660-8 libkate1 libmatroska5 libmpcdec6 libmtp-common libmtp-runtime
    libmtp9 librcc0 librcd0 libresid-builder0c2a libshout3 libsidplay2
    libspeexdsp1 libtag1-rusxmms libtar0 libtwolame0 libupnp6 libvcdinfo0
    libvlc5 libvlccore5 libxcb-composite0 libxcb-keysyms1 libxcb-randr0
    libxcb-xfixes0 libxcb-xv0 libzvbi-common libzvbi0 vlc-data
    Use ‘apt-get autoremove’ to remove them.
    The following extra packages will be installed:
    librcc0 librcd0 libtag1-rusxmms
    The following packages will be REMOVED:
    libtag1-dev libtag1-vanilla libtag1c2a vlc vlc-nox vlc-plugin-notify
    vlc-plugin-pulse
    The following NEW packages will be installed:
    librcc0 librcd0 libtag1-rusxmms
    Rather than have these deleted, I decided to just redirect the symlink (and deal with whatever might break in the named packages later):
    cd /usr/lib/arm-linux-gnueabihf/
    sudo mv libtag.so.1 libtag.so.1-previous
    sudo ln -s /usr/lib/libtag.so.1 libtag.so.1
    That should solve the problem for xbmc, but as I said, it may mean new problems for the packages listed as depending on it above (specifically vlc).
    I hope this helps anyone having the same problem…

  23. siyman

    Monday, December 3, 2012 - 22:11:14

    After using your image on first boot with working XBMC I was getting it more personally. Now, straight after every update, upgrade, firmware-stuff plus something it won’t start anymore. I tried to follow this guide but I’m getting almost the same strange error:
    /usr/lib/xbmc/xbmc.bin: symbol lookup error: /usr/lib/xbmc/xbmc.bin: undefined symbol: _ZTIN6TagLib8IOStreamE

    It’s unnecessary to tell you that it’s not depending on being super user or normal one.
    Any idea?