Linux Compile errors on XBMC git related to SDL
#1
For about 2 months when I try to compile XBMC from git I get all sorts of compile errors relating to the SDL, which I am not to sure where are they coming from. Maybe some library I used is updated beyond what is supported by XBMC or maybe just the opposite

# compile error log example 1
http://pastebin.com/ujHuc8be
# compile error log example 2
http://pastebin.com/QQ0uXN25

I am not sure which other information might be helpful in resolving the issue, but here is some anyways

# Gentoo xbmc git ebuild (installation script) used
http://pastebin.com/4Bhu2tPa
# Differences to the official ebuild
http://pastebin.com/shSC1wUL
# All files installed by media-libs/libsdl-1.2.15-r5 package
http://pastebin.com/Ry0RSei7
# dmesg
http://pastebin.com/9BweH3m7

Thanks for taking a look at it
Reply
#2
/usr/include/x86_64-pc-linux-gnu/SDL/SDL_config.h:30:26: fatal error: SDL_platform.h: No such file or directory
It clearly says SDL_platform.h does not exist in your default include path.
Reply
#3
yes i Know, That is what I first saw. I tied to link /usr/include/x86_64-pc-linux-gnu/SDL/SDL_platform.h to the /usr/include/SDL/SDL_platform.h but that didn't help either.
No other package really complains about missing library either so that kind of puzzles me
Reply
#4
Don't know how to help you there as the error is happening inside your SDL includes:
In file included from /usr/include/SDL/SDL_config.h:10:0,
from /usr/include/SDL/SDL_stdinc.h:30,
from /usr/include/SDL/SDL_main.h:26,
from /usr/include/SDL/SDL.h:30,
from SDL_anigif.h:24,
from SDL_anigif.cpp:24:
/usr/include/x86_64-pc-linux-gnu/SDL/SDL_config.h:30:26: fatal error: SDL_platform.h: No such file or directory
#include "SDL_platform.h"

But I wonder why everything is in /usr/include/SDL but then it looks in /usr/include/x86_64-pc-linux-gnu/SDL.
Something seems messed up there. Make sure all files are in the same dir and are readable for your user.
Reply
#5
Well it might be something actually related to the move of the libSDL package by Gentoo to the multilib profile. Ebuild seems to install all the files in /usr/include/SDL and for some reason only some of them in the /usr/include/x86_64-pc-linux-gnu/SDL/ and /usr/include/i686-pc-linux-gnu/

http://pastebin.com/Ry0RSei7

I'll see how it goes with downgraded library with no multilib or just copying/linking all missing files to the /usr/include/x86_64-pc-linux-gnu/SDL/

EDIT: I moved to the stable version with no multilib profile but that has its problems too. I needed to disable gles & openmax as only without them xbmc would compile. With gles & openmax I got following build error still relating to the SDL

http://pastebin.com/XmDT7jj2
Reply
#6
GLES is only meant for arm.
Please try vanilla xbmc master or gotham branch, without any gentoo patches and compiled by hand with just ./bootstrap && ./configure --prefix=/whatever

If it still breaks, get us config.log, config.status and the compile log.
Reply
#7
Like I said earlier it compiled for me without gles and openmax. I tried to use Gles as it is also requirement for openmax and hence openmax is available in mesa for radeon on amd64 as well hence my try of building support for it in xbmc.

later on I'll see how the compile goes without gentoo portage interference
Reply
#8
(2014-04-27, 09:01)ryszardzonk Wrote: Like I said earlier it compiled for me without gles and openmax. I tried to use Gles as it is also requirement for openmax and hence openmax is available in mesa for radeon on amd64 as well hence my try of building support for it in xbmc.

later on I'll see how the compile goes without gentoo portage interference

You can't compile features in. There is no code in XBMC to support openmax on this platform. Absolutely pointless setting this switch.
Reply
#9
(2014-04-26, 22:17)wsnipex Wrote: Don't know how to help you there as the error is happening inside your SDL includes:

But I wonder why everything is in /usr/include/SDL but then it looks in /usr/include/x86_64-pc-linux-gnu/SDL.
Something seems messed up there. Make sure all files are in the same dir and are readable for your user.

pkg-config for sdl returns cflags and linker flags that differ from the ones in the makefile.

/usr/include/SDL holds platform independent code, while /usr/include/x86_64-pc-linux-gnu holds the platform dependent code.

patch:
Code:
--- xbmc-9999/tools/TexturePacker/Makefile.in.org       2014-05-14 22:30:09.119555506 +0200
+++ xbmc-9999/tools/TexturePacker/Makefile.in   2014-05-14 22:31:21.273385768 +0200
@@ -17,9 +17,10 @@
   -I. \
   -I@abs_top_srcdir@/lib \
   -I@abs_top_srcdir@/xbmc \
-  -I@abs_top_srcdir@/xbmc/linux
+  -I@abs_top_srcdir@/xbmc/linux \
+  $(shell pkg-config sdl SDL_image --cflags)

-LDFLAGS_FOR_BUILD += -lSDL_image -lSDL -llzo2
+LDFLAGS_FOR_BUILD += $(shell pkg-config sdl SDL_image --libs) -llzo2
LDFLAGS_FOR_BUILD += -L@abs_top_srcdir@/lib/libsquish -lsquish-native

ifeq ($(findstring Darwin,$(shell uname -s)),Darwin)
Reply
#10
this should be fixed in configure. If anyone is willing to send us a PR on github...
Reply
#11
Hi,

I also had problems when compiling a native TexturePacker binary while cross-compiling on a x86_64 host for a i386 or x86_64 target. I solved it by using this patch: http://patchwork.ozlabs.org/patch/349941/

hth
Kodi 19.5-Matrix/OpenGLES/gbm (+ PR19558 ) - Linux kernel 5.14.21 x86_64 - ffmpeg 4.4-git (+ patch )
Mesa 22.3.7 with iris driver - VA-API version 1.16.0 + Intel iHD driver version 22.6.3 - libdrm 2.4.116 - libcec 6.0.2
Intel i9-11900T - ASRock Z590 Extreme - BIOS version 2.20
Reply

Logout Mark Read Team Forum Stats Members Help
Compile errors on XBMC git related to SDL0