# [xbmc] Compilation fail (résolu)

## syphering

Salut,

J'ai quasiment fini de me configurer mon HTPC, tout est fin pret sauf une chose... xbmc  :Sad: 

J'ai trouvé pas mal de posst sur des problèmes de compilation xbmc mais rien ne m'a permis d'y arriver.

Si vous avez des info je suis preneur, voici la log de la compilation et d'autres informations, merci par avance  :Wink: 

```
2240 In file included from DVDPlayer.cpp:34:0:

2241 DVDDemuxers/DVDDemuxFFmpeg.h: At global scope:

2242 DVDDemuxers/DVDDemuxFFmpeg.h:127:27: error: 'MAX_STREAMS' was not declared in this scope

2243 DVDDemuxers/DVDDemuxFFmpeg.h:129:18: warning: 'ByteIOContext' is deprecated (declared at /usr/include/libavformat/avio.h:253)

2244 x86_64-pc-linux-gnu-g++ -MD -c -O2 -pipe -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DNDEBUG=1 -O2 -pipe -fPIC -DPIC -D_REENT     RANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DNDEBUG=1 -O2 -pipe -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DNDEBUG=1      -D_LINUX -D_FILE_DEFINED -D__STDC_CONSTANT_MACROS -DBIN_INSTALL_PATH="\"/usr/lib64/xbmc\"" -DINSTALL_PATH="\"/usr/share/xbmc\"" -D'GIT_REV="Unknown"' -D     HAVE_CONFIG_H  -I../ -I. -Ilinux -Icores -I../guilib -Iutils -IFileSystem -I/usr/include/freetype2 -Icores/dvdplayer -Ilib/libUPnP/Platinum/Source/Core      -Ilib/libUPnP/Platinum/Source/Platinum -Ilib/libUPnP/Platinum/Source/Devices/MediaServer -Ilib/libUPnP/Platinum/Source/Devices/MediaConnect -Ilib/libUPn     P/Platinum/Source/Devices/MediaRenderer -Ilib/libUPnP/Neptune/Source/System/Posix -Ilib/libUPnP/Neptune/Source/Core -Ilib/libcdio/libcdio/include -I../l     ib/jsoncpp/jsoncpp/include -Ilib/cpluff/libcpluff -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/ -I/usr/include/SDL -I/usr/include/alsa -I/usr/include/dbu     s-1.0 -I/usr/include/freetype2 -I/usr/include/fribidi -I/usr/include/glib-2.0 -I/usr/include/libpng15 -I/usr/include/lzo -I/usr/include/mysql -I/usr/lib     64/dbus-1.0/include -I/usr/lib64/glib-2.0/include -I/var/tmp/portage/media-tv/xbmc-10.1/work/xbmc-10.1 GUIWindowMusicInfo.cpp -o GUIWindowMusicInfo.o

2245 make[1]: *** [DVDPlayer.o] Error 1

2246 make[1]: Leaving directory `/var/tmp/portage/media-tv/xbmc-10.1/work/xbmc-10.1/xbmc/cores/dvdplayer'

2247 make: *** [xbmc/cores/dvdplayer/DVDPlayer.a] Error 2

2248 make: *** Waiting for unfinished jobs....

```

emerge --info =media-tv/xbmc-10.1

```

Portage 2.1.10.41 (default/linux/amd64/10.0/desktop, gcc-4.5.3, glibc-2.14.1-r1, 3.0.6-gentoo x86_64)

=================================================================

                        System Settings

=================================================================

System uname: Linux-3.0.6-gentoo-x86_64-AMD_E-350_Processor-with-gentoo-2.1

Timestamp of tree: Wed, 21 Dec 2011 18:30:01 +0000

app-shells/bash:          4.2_p20

dev-lang/python:          2.7.2-r3, 3.1.4-r3, 3.2.2

dev-util/cmake:           2.8.6-r4

dev-util/pkgconfig:       0.26

sys-apps/baselayout:      2.1

sys-apps/openrc:          0.9.7

sys-apps/sandbox:         2.5

sys-devel/autoconf:       2.68

sys-devel/automake:       1.9.6-r3, 1.11.1-r1

sys-devel/binutils:       2.22-r1

sys-devel/gcc:            4.5.3-r2

sys-devel/gcc-config:     1.5-r2

sys-devel/libtool:        2.4.2

sys-devel/make:           3.82-r3

sys-kernel/linux-headers: 3.1 (virtual/os-headers)

sys-libs/glibc:           2.14.1-r1

Repositories: gentoo

ACCEPT_KEYWORDS="amd64"

ACCEPT_LICENSE="* -@EULA"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS="-O2 -pipe"

CHOST="x86_64-pc-linux-gnu"

CONFIG_PROTECT="/etc"

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"

CXXFLAGS="-O2 -pipe"

DISTDIR="/usr/portage/distfiles"

FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"

FFLAGS=""

GENTOO_MIRRORS="ftp://mirror.ovh.net/gentoo-distfiles/ http://mirror.ovh.net/gentoo-distfiles/"

LDFLAGS="-Wl,-O1 -Wl,--as-needed"

LINGUAS="fr"

MAKEOPTS="-j3"

PKGDIR="/usr/portage/packages"

PORTAGE_CONFIGROOT="/"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY=""

SYNC="rsync://rsync.gentoo.org/gentoo-portage"

USE="X a52 aac acl acpi alsa amd64 berkdb branding bzip2 cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus dri dts dvd dvdr emboss encode exif fam firefox flac fortran gdbm gdu gif gpm gtk iconv jpeg lcms libnotify mad mmx mng modules mp3 mp4 mpeg mudflap multilib ncurses nls nptl nptlonly ogg opengl openmp pam pango pcre pdf png policykit ppds pppd qt3support qt4 readline sdl session spell sse sse2 ssl startup-notification svg sysfs tcpd tiff truetype udev unicode usb vorbis x264 xcb xml xorg xulrunner xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="fr" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="radeon" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"

Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
```

emerge -pqv =media-tv/xbmc-10.1

```
[ebuild  N    ] media-tv/xbmc-10.1  USE="alsa sse sse2 udev vaapi xrandr (-altivec) -avahi -css -debug -joystick -midi -profile -pulseaudio -rtmp -vdpau -webserver"
```

----------

## El_Goretto

Manque l'erreur de compilation elle même, on ne voit rien sur ce que tu donnes, c'est encore avant.

----------

## syphering

J'ai mis le détail de l'erreur dans le premier post.

----------

## El_Goretto

Regarde alors du côté "FFmpeg" et "libavtruc" (me rappelle plus le nom). Soit il s'agit de dépendances non satisfaites (ces choses sont non installées ou bien un USE flag manque) soit de version qui ne convient pas.

On va dire que je fais moyennement confiance aux ebuild xbmc, donc c'est du bricolage qui n'est jamais à faire normalement quand c'est propre.

----------

## syphering

L'origine du problème vient de mon make.conf. J'y avais mis un flag pour accepter tous les paquets en ~amd64  :Surprised: . Une redescende du système sans ce flag m'a permis l'install de xmbc avec succès.

J'ai cependant une autre question sur l'utilisation de VAAPI avec xmbc. La compilation avec ce flag dans xmbc, ffmpeg, libva à fonctionne mais pas la lecture des 1080p. La carte est une ati hd6350. Dans xmbc lorsque j'active VAAPI et que je lis un film hd rien ne se passe.

Y a t il quelque chose d'autre a faire pour utiliser VAAPI ?

----------

## El_Goretto

Tu utilises les drivers AMD proprios?

Parce que j'en étais resté au fait que seul fglrx proposait une accélération hard du décodage des vidéos, et qu'il fallait pour le coup faire video->VAAPI->XVBA->fglrx

Après, concrètement, euh... jamais fait  :Smile: 

----------

## syphering

J'utilise les drivers ATI du dépôt Gentoo.

J'ai aussi utilisé le flag VAAPI pour les paquets suivants :

```
tuxcinema ~ # equery h vaapi

 * Searching for USE flag vaapi ... 

[IP-] [  ] media-tv/xbmc-10.1:0

[IP-] [  ] media-video/ffmpeg-0.7.8:0

[IP-] [  ] virtual/ffmpeg-0.6.90:0

```

Le retour de vainfo me semble correct :

```
libva: VA-API version 0.32.0

Xlib:  extension "XFree86-DRI" missing on display ":0.0".

libva: va_getDriverName() returns 0

libva: Trying to open /usr/lib64/va/drivers/fglrx_drv_video.so

libva: va_openDriver() returns 0

vainfo: VA-API version: 0.32 (libva 1.0.15)

vainfo: Driver version: Splitted-Desktop Systems XvBA backend for VA-API - 0.8.0

vainfo: Supported profile and entrypoints

      VAProfileH264High               : VAEntrypointVLD

      VAProfileVC1Advanced            : VAEntrypointVLD
```

Mais dès que j'active VAAPI dans XBMC impossible de lire un mkv en 720p ou 1080p  :Sad: 

----------

