You are not logged in.

#1 2009-09-26 08:13:49

Perre
Member
Registered: 2008-01-22
Posts: 189

Building against specific version [Solved]

Hi!

Me and many others have been having huge performance issues with libjpeg7 and backdrops/fanart in xbmc-svn. To fix this problem I need to recompile the xbmc-svn package against libjpeg6. I'm really finding this difficult. Can someone help me out? If I have libjpeg7 installed while compiling the build insist on using libjpeg7 (even though I've got libjpeg6 installed from the AUR). If I delete libjpeg7 (and only have libjpeg6 installed) the compiling fails with error 'missing jpeglib.h'. How am I supposed to get the build to use libjpeg6? As you can see in the PKGBUILD I've tried to put in 'CPPFLAGS="-I/usr/include/libjpeg6" || return 1' and I've changed the dependency from 'libjpeg' to libjpeg6. Still it won't work. sad


Here's the PKGBUILD I'm using:

# Contributors : Richard Atkinson atkinsonr-at-gmail 
#                Ralf Barth <archlinux dot org at haggy dot org>
#
# Original credits go to Edgar Hucek <gimli at dark-green dot com>
# for his xbmc-vdpau-vdr PKGBUILD at https://archvdr.svn.sourceforge.net/svnroot/archvdr/trunk/archvdr/xbmc-vdpau-vdr/PKGBUILD

pkgname=xbmc-svn
pkgver=22473
pkgrel=2
pkgdesc="XBMC Media Center from SVN"
provides=('xbmc')
conflicts=('xbmc' 'xbmc-smoothvideo' 'xbmc-vdpau')
arch=('i686' 'x86_64')
url="http://xbmc.org"
license=('GPL' 'LGPL')
depends=('alsa-lib' 'curl' 'enca' 'faac' 'freetype2' 'fribidi' 'gawk' 'glew'
         'hal' 'jasper' 'libgl' 'libmad' 'libmysqlclient' 'libjpeg6'
         'libxinerama' 'libxrandr' 'lzo2' 'sdl_image' 'sdl_mixer' 'sqlite3'
         'tre' 'unzip' 'libcdio' 'libsamplerate' 'python' 'avahi' 'libmad' 
         'a52dec' 'libdca' 'faad2' 'libmpeg2' 'libvorbis' 'libogg' 'libmms'
         'libmpcdec' 'flac' 'wavpack' 'xorg-utils' 'smbclient')
makedepends=('subversion' 'autoconf' 'automake' 'boost' 'cmake' 'gcc' 'gperf' 
             'libtool>=2.2.6a-1' 'make' 'nasm' 'patch' 'pkgconfig' 'zip' 'flex' 'bison')
optdepends=('lirc: remote controller support'
            'pmount: mount removable devices as normal user'
            'unrar: access compressed files without unpacking them')
install=("${pkgname}.install")
source=('libcurl-not-in-lib64.patch')
noextract=('libcurl-not-in-lib64.patch')
md5sums=('c5e808703d0c9e392e1c2837fea1a5ef')
options=(makeflags)

_svnmod=XBMC
_prefix=/usr


build() {
    _svntrunk=https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk
    
    CPPFLAGS="-I/usr/include/libjpeg6" || return 1
    cd ${srcdir}/
    if [ -d $_svnmod/.svn ]; then
        msg "SVN tree found, reverting changes and updating to -r$pkgver"
        (cd $_svnmod && svn revert -R . && svn up -r $pkgver) || return 1
    else
        msg "Checking out SVN tree of -r$pkgver"
        svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod || return 1
    fi

    # Apply patches
    cd "$srcdir/$_svnmod"

    # Arch's libcurl lives in /usr/lib, not /usr/lib64 - fix the path:
    msg "Patching with libcurl-not-in-lib64.patch" 
    patch -p0 < "$srcdir/libcurl-not-in-lib64.patch" || return 1

    # Goom also needs a fixup due to newer autotools
    msg "Fixing Goom build system" 
    cd "$srcdir/$_svnmod/xbmc/visualizations/Goom/goom2k4-0"
    aclocal
    libtoolize --copy --force
    ./autogen.sh --enable-static --with-pic

    # Distclean shipped ffmpeg - sometimes breaks du to leftovers
    cd "$srcdir/$_svnmod/xbmc/cores/dvdplayer/Codecs/ffmpeg" 
    make distclean

    
    # Configure XBMC
    #
    # Note on external-libs:
    #   - We cannot use external python because Arch's python was built with
    #     UCS2 unicode support, whereas xbmc expects UCS4 support
    #   - We cannot use Arch's libass because it's incompatible with XBMC's
    #     subtitle rendering
    #   - We cannot use external ffmpeg because we would loose VDPAU functionality
    cd "$srcdir/$_svnmod" 
    msg "Configuring XBMC" 
    make distclean
    ./configure --prefix=${_prefix} \
                --enable-external-libmad \
                --enable-external-liba52 \
                --enable-external-libdts \
                --enable-external-libfaad \
                --enable-external-libmpeg2 \
                --enable-external-libvorbis \
                --enable-external-libogg \
                --enable-external-libmpcdec \
                --enable-external-libflac \
                --enable-external-libwavpack \
                --disable-external-libass \
                --disable-external-ffmpeg \
                --disable-external-python \
                --disable-debug || return 1
  
    # Now (finally) build
    msg "Running make" 
    make || return 1
}

package() {

    cd "$srcdir/$_svnmod"
    msg "Running make install" 
    make prefix=${pkgdir}${_prefix} install || return 1

    # Install 
    install -Dm755 ${srcdir}/$_svnmod/xbmc-xrandr \
                   ${pkgdir}${_prefix}/share/xbmc/xbmc-xrandr || return 1

    install -Dm644 ${srcdir}/$_svnmod/tools/Linux/xbmc.desktop \
                   ${pkgdir}${_prefix}/share/applications/xbmc.desktop || return 1

    install -Dm644 ${srcdir}/$_svnmod/tools/Linux/xbmc.png \
                   ${pkgdir}${_prefix}/share/pixmaps/xbmc.png || return 1

    install -Dm755 ${srcdir}/$_svnmod/tools/XBMCTex/XBMCTex \
                   ${pkgdir}${_prefix}/share/xbmc/tools/xbmctex || return 1

    # Skins often use build.sh that looks for /usr/bin/XBMCTex
    ln -s "${_prefix}/share/xbmc/tools/xbmctex" "$pkgdir/usr/bin/XBMCTex"

    install -dm755 ${pkgdir}${_prefix}/share/licenses/${pkgname}
    for licensef in LICENSE.GPL README.linux copying.txt; do
        mv ${pkgdir}${_prefix}/share/xbmc/${licensef} \
           ${pkgdir}${_prefix}/share/licenses/${pkgname} || return 1
    done
}

Last edited by Perre (2009-09-27 12:17:12)

Offline

#2 2009-09-26 13:41:23

ould
Member
Registered: 2007-05-22
Posts: 124

Re: Building against specific version [Solved]

I have done the hard work for you. My HTPC is pretty barebones so it was relatively easy to roll back all the packages that depend on libjpeg>7 with older versions. I then compiled the xbmc-svn package using that system. Slow downs are gone and I have uploaded the package to hotfile here:

http://hotfile.com/dl/13546051/021f9c9/ … ar.gz.html

This is for 32-bit. You will need the libjpeg6 package from AUR installed. I have tested it on two systems, my main system which has both libjpeg7 and the AUR libjpeg6 installed and on my htpc which has only the libjpeg6 along with the rolled back dependancies. Works good on both systems.

Hope that helps!

Kevin

Offline

#3 2009-09-26 16:12:29

Perre
Member
Registered: 2008-01-22
Posts: 189

Re: Building against specific version [Solved]

ould wrote:

I have done the hard work for you. My HTPC is pretty barebones so it was relatively easy to roll back all the packages that depend on libjpeg>7 with older versions. I then compiled the xbmc-svn package using that system. Slow downs are gone and I have uploaded the package to hotfile here:

http://hotfile.com/dl/13546051/021f9c9/ … ar.gz.html

This is for 32-bit. You will need the libjpeg6 package from AUR installed. I have tested it on two systems, my main system which has both libjpeg7 and the AUR libjpeg6 installed and on my htpc which has only the libjpeg6 along with the rolled back dependancies. Works good on both systems.

Hope that helps!

Kevin

Thanks ould!! You got it working with libjpeg6 again! big_smile
I had to upgrade libcdio again so now I lost dvd support. It's not easy to use the svn version. roll

If you could compile the build against libcdio 0.80 I'd be forever grateful... If you've got the time. smile

Last edited by Perre (2009-09-26 17:09:04)

Offline

#4 2009-09-27 09:32:15

ould
Member
Registered: 2007-05-22
Posts: 124

Re: Building against specific version [Solved]

Try this, no guarantees but hopefully it is what you want:

http://d01.megashares.com/dl/5f08bc2/xb … pkg.tar.gz

Kevin

Offline

#5 2009-09-27 11:11:53

Perre
Member
Registered: 2008-01-22
Posts: 189

Re: Building against specific version [Solved]

ould wrote:

Try this, no guarantees but hopefully it is what you want:

http://d01.megashares.com/dl/5f08bc2/xb … pkg.tar.gz

Kevin

I can't thank you enough Kevin!! lol
It worked perfectly and now I got super fast backdrops combined with full dvd support.

You really exemplify the attitude of this great arch community ould! Again, thank you very, very much. wink

Offline

#6 2009-10-12 18:01:44

bluey
Member
Registered: 2006-08-30
Posts: 20

Re: Building against specific version [Solved]

It would be great to see an update based on a newer svn version.

Offline

#7 2009-11-29 18:16:09

ould
Member
Registered: 2007-05-22
Posts: 124

Re: Building against specific version [Solved]

see this thread, I try to keep it up to date with new revisions


http://xbmc.org/forum/showthread.php?p= … post448050

Offline

Board footer

Powered by FluxBB