Using XBMC 10.0 slackbuild to compile XBMC 11.0 almost works
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I have Slackware 13.37 installed and wanted to try and install XBMC 11.0.
I took a chance it would be a simple swap, changing xbmc.info to point to the correct download and correct md5sum on the XBMC source download, change the version numbers and try compiling.
I also commented out the patch in the Slackbuild, because it is a check for a non-sse2-cpu, unnecessary for me.
The first error that resulted was relatively simple to fix. It seemed to be a dependency on yajl, so I used the Slackbuild available for this and that problem was solved.
It compiled for a long time, but then gave this error.
Code:
xbmc/cores/dvdplayer/DVDCodecs/Audio/Audio.a(DVDAudioCodecPassthroughFFmpeg.o): In function `DllAvFormat::av_read_frame_flush(AVFormatContext*)':
DVDAudioCodecPassthroughFFmpeg.cpp:(.text._ZN11DllAvFormat19av_read_frame_flushEP15AVFormatContext[DllAvFormat::av_read_frame_flush(AVFormatContext*)]+0x19): undefined reference to `av_read_frame_flush'
xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxers.a(DVDDemuxFFmpeg.o): In function `CDVDDemuxFFmpeg::Flush()':
DVDDemuxFFmpeg.cpp:(.text+0x2547): undefined reference to `av_read_frame_flush'
collect2: ld returned 1 exit status
make: *** [xbmc.bin] Error 1
I found a previous patch for what seems to be a similar error in xbmc-boxee-iview (the first "diff"), but have no real knowledge of patching files.
I already have installed FFmpeg from Slackbuilds. In order to compile FFmpeg I needed to have tetex or texlive installed, and so I installed texlive from Slackbuilds, however to get it to compile I needed to modify the Slackbuild to have "--disable-xindy".
To clarify, I firstly installed libmpeg2, faad2, libmodplug, libmms and enca as these are direct dependencies.
From the optional ones, I installed vobcopy, lirc, faac, libdvdcss, libssh,
libvdpau, libass, libva, avahi, ffmpeg, libdca (aka libdts), a52dec (aka liba52).
I then compiled XBMC using the "EXT_ALL=yes|no (Default is no), turns on all of the above options" option from the Slackbuild (same as ffmpeg=yes, a52dec=yes, dts=yes).
I wasn't sure about installing lirc, as I have previously run XBMC on Arch Linux, and now that mceusb is in the kernel installing lirc would break the remote control that I was using (it essentially worked out of the box with the right conf file).
Last edited by farmerdave; 04-11-2012 at 05:33 PM.
I also have tried to build XBMC from slackbuilds(exact version as in slackbuild was written for) some time ago(a few months) and also had such problems(some of subcomponents are unbuildable or not-compatible). After few weeks I tried to rebuild - old problems disappeared and new, very similar, appeared. I think this problems will persist for a long time, until component developers stop play games instead of maintaining their components.
I have been working on an update to XBMC. Although it is slow going for me, due to job, school, and life, I do have a working xbmc.SlackBuild. The new required dependencies are libass, libmpeg2, libmodplug and yajl.
I should have a new update submitted to SBo by end of this weekend. Most of the kinks are worked out and I believe it will be ready by then.
You could try adding --disable-external-ffmpg to the configure options, That should cause xbmc to use it own
internal version of ffmpeg.
Good idea. I had been setting the flag "ffmpeg=yes" because I thought without it I would lose some functionality within XBMC. I was unaware it had an internal version of ffmpeg.
Man, I have been keeping my little build script up to date while following the svn (and then git) versions as it progressed from 10 to 10.1 and then onto 11. I have a working script, but it is at home, and I am at work. Once I get home, I will try to remember to go and post it (definitely not slackbuild quality yet, and it only does the build, not creating the package... that is in a separate script -- I guess I like to make things interesting). And I installed all the required and optional dependencies that were required with v10 (other than the ones not available through slackbuilds... came down to laziness), and I think the only additional one I added was the yajl. There are a couple of minor things I have in the build script that fixed my build issues (I believe I never had to specify to use the internal ffmpeg).
Anyway, here's to hoping that I can remember to post it when I get home. Eden has been running great on my machine (and NFS is sooooo much better than samba over wireless - I can now stream 1080p content without any issues... I could never pull that off with samba).
For those who are interested in a quick and dirty compile while waiting for his new script to get approved, here is what my current script is.
Code:
rm -rf xbmc-11.0
tar -zxvf xbmc-11.0.tar.gz
cd xbmc-11.0
## Supposed fix needed for proper RTMP support (Need to have librtmp from SBo compiled)
cp -r /tmp/SBo/rtmpdump-2.3/librtmp/. lib/librtmp/
cd lib/librtmp
sed -i s:prefix=/usr/local:prefix=/usr: \
Makefile
make
sudo make install
cd ../..
## Prevents DVDPlayer compile failure
sed -i 's:#ifdef _WIN32:#ifdef __linux__:' \
xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp
## Removes the lsb_release dependency (seems like this doesn't completely remove it as it seems there are other references in other files, but all it does is show up during error messages)
sed -i 's|lsb_release -d|cat /etc/slackware-version|' \
xbmc/utils/SystemInfo.cpp
## Fix to allow the Goom screensaver to compile
sed -i '12i\ #include "goomsl_yacc.h"' \
xbmc/visualizations/Goom/goom2k4-0/src/goomsl_yacc.y
#./bootstrap
./configure \
--prefix=/usr \
--libdir=/usr/lib \
--docdir=/usr/doc/xbmc \
--enable-ccache \
--enable-debug \
--enable-gl \
--enable-dvdcss \
--enable-mid \
--enable-goom \
--enable-vdpau \
--enable-rtmp \
--disable-optical-drive \
--enable-vaapi \
--enable-ffmpeg-libvorbis \
--disable-asap-codec \
--enable-webserver \
--build=i686-slackware-linux \
make
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.