Archive for Styczeń 2010
Z racji trwającego 3-go tygodnia perypetii szpitalnych.
Poczekajcie na mnie. Wrócę.
XBMC a openSUSE 11.2 (64-bit)
Kilkanaście wpisów temu pokazywałem w jaki sposób można łatwo skompilować najnowsze buildy XBMC korzystając z repozytorium SVN. Przez ten okres czasu sporo się zmieniło – wyszła nowa edycja dystrybucji openSUSE – 11.2, repozytorium XBMC zmieniło lokalizację.
Dzisiaj zmiany:
1. Zmiana lokalizacji repozytorium XBMC.
Najnowsze snapshoty pobieramy poleceniem:
#svn checkout https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk # cd trunk
# svn up
# make clean
2. Brakujące pakiety i zależności:
# 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 # zypper in SDL-devel SDL_image-devel SDL_mixer-devel jpegint-devel audiofile-devel fontconfig-devel freetype2-devel fribidi-devel glibc-devel hal-devel # 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 # zypper in libopenssl-devel sqlite3-devel libstdc++-devel libpng-devel libtre-devel e2fsprogs-devel libvorbis-devel lzo-devel pcre-devel libenca-devel libpulse-devel # 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 # zypper in libtool libsamplerate-devel libfaad-devel flac-devel libsmbclient-devel libtiff-devel enca-devel
3. Patch dla brakujących cflags.
Tworzymy plik ‚missing-cflags.patch’ wklejając do niego zawartość i kopiując go do katalogu w naszym repozytorium (trunk/xbmc)
Aktywacja patcha:
diff -uNr XBMC/xbmc/FileSystem/Makefile old-XBMC/xbmc/FileSystem/Makefile--- XBMC/xbmc/FileSystem/Makefile 2009-04-21 02:38:38.000000000 +0200+++ old-XBMC/xbmc/FileSystem/Makefile 2009-05-08 17:20:00.000000000 +0200-1,4 +1,4 @@-INCLUDES=-I. -I../ -I../linux -I../../guilib -I../lib/UnrarXLib -I../utils -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include+INCLUDES=-I. -I../ -I../linux -I../../guilib -I../lib/UnrarXLib -I../utils -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib64/dbus-1.0/include -I/usr/lib64/glib-2.0/includeINCLUDES+=-I../lib/libcdio/libcdio/includeCXXFLAGS+= -D__STDC_FORMAT_MACROSdiff -uNr XBMC/xbmc/linux/Makefile.in old-XBMC/xbmc/linux/Makefile.in--- XBMC/xbmc/linux/Makefile.in 2009-04-21 02:38:38.000000000 +0200+++ old-XBMC/xbmc/linux/Makefile.in 2009-05-08 17:35:20.000000000 +0200-1,6 +1,6 @@ARCH=@ARCH@-INCLUDES=-I. -I/usr/include/SDL -I.. -I../../guilib -I../utils -I../FileSystem+INCLUDES=-I. -I/usr/include/SDL -I.. -I../../guilib -I../utils -I../FileSystem -I/usr/lib64/dbus-1.0/include -I/usr/lib64/glib-2.0/includeifeq ($(findstring osx,$(ARCH)), osx)INCLUDES+=-I../osxendifdiff -uNr XBMC/xbmc/Makefile old-XBMC/xbmc/Makefile--- XBMC/xbmc/Makefile 2009-04-21 02:38:38.000000000 +0200+++ old-XBMC/xbmc/Makefile 2009-05-08 17:15:23.000000000 +0200-1,4 +1,4 @@-INCLUDES+=-I. -Ilinux -Icores -I../guilib -Iutils -IFileSystem+INCLUDES+=-I. -Ilinux -Icores -I../guilib -Iutils -IFileSystem -I/usr/lib64/dbus-1.0/include -I/usr/lib64/glib-2.0/includeINCLUDES+=-Ilib/libUPnP/Platinum/ThirdParty/Neptune/Source/Core \-Ilib/libUPnP/Platinum/Source/Core \diff -uNr XBMC/xbmc/utils/Makefile old-XBMC/xbmc/utils/Makefile--- XBMC/xbmc/utils/Makefile 2009-04-21 02:38:38.000000000 +0200+++ old-XBMC/xbmc/utils/Makefile 2009-05-08 17:50:35.000000000 +0200-1,4 +1,4 @@-INCLUDES=-I. -I.. -I../linux -I../cores -I../../guilib+INCLUDES=-I. -I.. -I../linux -I../cores -I../../guilib -I/usr/lib64/dbus-1.0/include -I/usr/lib64/glib-2.0/includeSRCS=AlarmClock.cpp \Archive.cpp \# patch -p1 < missing-cflags.patchOstatnie 4 linie zawieraja poprawki, które działają na najnowszym snapshocie svn (realizacja ręczna też możliwa)
4. Kompilacja
# CFLAGS="-I/usr/lib64/dbus-1.0/include -I/usr/lib64/glib-2.0/include" # export CFLAGS # ./bootstrap # ./configure --enable-mid --disable-debug --disable-pulse --prefix=/usr # make # make install5. Zabawa 😉