LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices

Reply
 
Search this Thread
Old 04-11-2012, 03:10 AM   #1
farmerdave
Member
 
Registered: Mar 2008
Location: Adelaide, Australia
Distribution: Arch, Slackware 13.37
Posts: 101
Blog Entries: 1

Rep: Reputation: 16
Using XBMC 10.0 slackbuild to compile XBMC 11.0 almost works


I began with this Slackbuild for XBMC 10.0 on Slackware 13.37.

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.
Code:
diff -Nur xbmc-10.00.orig/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp xbmc-10.00.orig/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
--- xbmc-10.00.orig/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp 2010-04-04 11:42:49.000000000 +0100
+++ xbmc-10.00.orig/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp 2010-04-04 22:57:37.512130259 +0100
@@ -556,6 +556,9 @@
   if (m_pFormatContext)
     m_dllAvFormat.av_read_frame_flush(m_pFormatContext);

+  if (m_ioContext)
+    m_ioContext->buf_ptr = m_ioContext->buf_end;
+
   m_iCurrentPts = DVD_NOPTS_VALUE;
 }
Here is where I get stuck, is anyone else either working on an XBMC 11.0 Slackbuild, or able to help me get through this one?
 
Old 04-11-2012, 01:42 PM   #2
whizje
Member
 
Registered: Sep 2008
Location: The Netherlands
Distribution: Slackware64 current
Posts: 583

Rep: Reputation: 129Reputation: 129
As I understand it uses `av_read_frame_flush' libavformat which comes with FFmpeg so if you first install FFmpeg it should work.
 
Old 04-11-2012, 04:42 PM   #3
farmerdave
Member
 
Registered: Mar 2008
Location: Adelaide, Australia
Distribution: Arch, Slackware 13.37
Posts: 101
Blog Entries: 1

Original Poster
Rep: Reputation: 16
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.
 
Old 04-11-2012, 06:01 PM   #4
FeyFre
Member
 
Registered: Jun 2010
Location: Ukraine, Vinnitsa
Distribution: Slackware
Posts: 308

Rep: Reputation: 22
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.
 
Old 04-11-2012, 08:25 PM   #5
larryhaja
Member
 
Registered: Jul 2008
Distribution: Slackware 13.1
Posts: 292

Rep: Reputation: 75
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.
 
Old 04-11-2012, 09:36 PM   #6
XGizzmo
Member
 
Registered: Mar 2007
Distribution: Slackware
Posts: 264

Rep: Reputation: 68
You could try adding --disable-external-ffmpg to the configure options, That should cause xbmc to use it own
internal version of ffmpeg.
 
Old 04-11-2012, 10:56 PM   #7
farmerdave
Member
 
Registered: Mar 2008
Location: Adelaide, Australia
Distribution: Arch, Slackware 13.37
Posts: 101
Blog Entries: 1

Original Poster
Rep: Reputation: 16
Quote:
Originally Posted by XGizzmo View Post
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.
 
Old 04-11-2012, 10:58 PM   #8
farmerdave
Member
 
Registered: Mar 2008
Location: Adelaide, Australia
Distribution: Arch, Slackware 13.37
Posts: 101
Blog Entries: 1

Original Poster
Rep: Reputation: 16
Quote:
Originally Posted by larryhaja View Post
I should have a new update submitted to SBo by end of this weekend.
Looking forward to seeing it!
 
Old 04-20-2012, 10:05 PM   #9
farmerdave
Member
 
Registered: Mar 2008
Location: Adelaide, Australia
Distribution: Arch, Slackware 13.37
Posts: 101
Blog Entries: 1

Original Poster
Rep: Reputation: 16
XBMC 11.0 can be compiled using the version 10.0 Slackbuild if you use the internal ffmpeg. I specified the flags
Code:
OPT_DEPS="--enable-external-python --enable-external-liba52 --enable-external-libdts"
Leaving the rest of the Slackbuild unchanged will result in it stopping with the following
Code:
make: *** No rule to make target `install-livedatas'.  Stop.
due to the line in the Slackbuild
Code:
make install install-livedatas DESTDIR=$PKG
This can be then changed to
Code:
make install DESTDIR=$PKG
for a successful compile and package creation. The question is, what exactly is livedatas! Searching has not turned up much for me.
 
Old 04-22-2012, 04:10 PM   #10
whizje
Member
 
Registered: Sep 2008
Location: The Netherlands
Distribution: Slackware64 current
Posts: 583

Rep: Reputation: 129Reputation: 129
I have a package from http://slaxbmc.blogspot.com/ which has some quirks but works reasonably.
 
Old 04-22-2012, 06:37 PM   #11
bassmadrigal
Member
 
Registered: Nov 2003
Location: Newport News, VA
Distribution: Slackware
Posts: 250

Rep: Reputation: 66
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).
 
Old 04-22-2012, 10:07 PM   #12
larryhaja
Member
 
Registered: Jul 2008
Distribution: Slackware 13.1
Posts: 292

Rep: Reputation: 75
New build of xbmc 11.0 has been submitted to SBo.
 
1 members found this post helpful.
Old 04-23-2012, 03:37 AM   #13
farmerdave
Member
 
Registered: Mar 2008
Location: Adelaide, Australia
Distribution: Arch, Slackware 13.37
Posts: 101
Blog Entries: 1

Original Poster
Rep: Reputation: 16
Quote:
Originally Posted by larryhaja View Post
New build of xbmc 11.0 has been submitted to SBo.
Great work! Any chance you are also working on MythTV 0.25?
 
Old 04-23-2012, 06:13 AM   #14
bassmadrigal
Member
 
Registered: Nov 2003
Location: Newport News, VA
Distribution: Slackware
Posts: 250

Rep: Reputation: 66
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
 
Old 04-23-2012, 08:46 AM   #15
larryhaja
Member
 
Registered: Jul 2008
Distribution: Slackware 13.1
Posts: 292

Rep: Reputation: 75
Quote:
Originally Posted by farmerdave View Post
Great work! Any chance you are also working on MythTV 0.25?
I'm not the MythTV maintainer. You should ping him instead.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] xbmc troubleshooting... dEnDrOn Linux - Software 2 03-12-2012 09:01 PM
LXer: XBMC 10.0 Goes to 11 LXer Syndicated Linux News 0 01-11-2011 09:30 AM
[SOLVED] looking for xbmc 10.0 escaflown Slackware 12 01-05-2011 09:12 PM
LXer: XBMC 10.0 "Dharma" Beta 2 Released, How to Install Latest XBMC Beta in Ubuntu LXer Syndicated Linux News 0 09-15-2010 10:20 PM
XBMC . screen maas187 Linux - Software 1 03-15-2009 12:31 PM


All times are GMT -5. The time now is 03:53 PM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration