Compiling xbmc-2.1a2 in MEPIS
#1
Hi,

I'm trying to backport xbmc-2.1a2 to MEPIS 7 (a debian based distro. See http://distrowatch.com/table.php?distribution=mepis). It's mainly as compiling it for Debian etch using autotools (configure, make...)

The starting configure command is :

./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr CFLAGS="$(CFLAGS)" LDFLAGS="-Wl,-z,defs"

- I downloaded the Gutsy PPA.
- Using architecture i686
- I have installed hal-dev, dbus-dev and libhal-storage-dev

*The only unmet dependency was libcwiid0-dev so I backported libcwiid1-dev from debian lenny.

*I was getting the very same error about "src/sock.c:673: undefined reference __stack_chk_fail" described in this thread:

http://forum.xbmc.org/showthread.php?tid=29086&page=3

So I added the flag "CFLAGS=-fno-stack-protector" to both the "configure" and "make" commands listed in the debian/rules file.

* I then I got also the next error from that thread:

linux/HalManager.h:28:23: error: dbus/dbus.h: No such file or directory
linux/HalManager.h:29:20: error: libhal.h: No such file or directory

I solved that one adding manually "-I/usr/include/dbus-1.0 -I/usr/include/hal -I/usr/lib/dbus-1.0/include -I/usr/lib/dbus-1.0/include" to the Makefile.in (configure detected dbus and other dependecies but it couldn't find the file when compiling and CPPFLAGS was not working with configure, tha's why)

* I had also to add an "#include "paplayer.h" to the file paplayer_linux.cpp and the flags "I -DHAS_ALSA -DHAS_VIDEO_PLAYBACK -D__STDC_FORMAT_MACROS" to the DEFINES in the makefile.include" otherwise I it won't find any of the member attibutes (m_something) since there is no header defined for that file.

* No I get that annoying error:

Code:
/usr/bin/ccache i486-linux-gnu-g++ -c -fno-stack-protector -D_LINUX -D_FILE_DEFI
NED -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -DHAS_SDL_JOYSTIC
K -DHAS_ALSA -DHAS_VIDEO_PLAYBACK -D__STDC_FORMAT_MACROS -DHAS_XRANDR -DHAS_PCRE
-DINSTALL_PATH="\"/usr/share/xbmc\"" -I. -I.. -I../../../ -I../../ffmpeg -I../.
./../linux -I../../../../guilib -I/usr/include  DVDDemuxFFmpeg.cpp -o DVDDemuxFF
mpeg.o
DVDDemuxFFmpeg.cpp:431: error: integer constant is too large for 'long' type
DVDDemuxFFmpeg.cpp:433: error: integer constant is too large for 'long' type
DVDDemuxFFmpeg.cpp:478: error: integer constant is too large for 'long' type
DVDDemuxFFmpeg.cpp:486: error: integer constant is too large for 'long' type
DVDDemuxFFmpeg.cpp:571: error: integer constant is too large for 'long' type
DVDDemuxFFmpeg.cpp:573: error: integer constant is too large for 'long' type
DVDDemuxFFmpeg.cpp:583: error: integer constant is too large for 'long' type
DVDDemuxFFmpeg.cpp:585: error: integer constant is too large for 'long' type
DVDDemuxFFmpeg.cpp:605: error: integer constant is too large for 'long' type
DVDDemuxFFmpeg.cpp:609: error: integer constant is too large for 'long' type
DVDDemuxFFmpeg.cpp:616: error: integer constant is too large for 'long' type
DVDDemuxFFmpeg.cpp:617: error: integer constant is too large for 'long' type
DVDDemuxFFmpeg.cpp:711: error: integer constant is too large for 'long' type
DVDDemuxFFmpeg.cpp:755: error: integer constant is too large for 'long' type
DVDDemuxFFmpeg.cpp:770: error: integer constant is too large for 'long' type
DVDDemuxFFmpeg.cpp:867: error: integer constant is too large for 'long' type
DVDDemuxFFmpeg.cpp: In member function 'virtual void CDVDDemuxFFmpeg::Flush()':
DVDDemuxFFmpeg.cpp:431: error: 'INT64_C' was not declared in this scope
DVDDemuxFFmpeg.cpp: In member function 'double CDVDDemuxFFmpeg::ConvertTimestamp
(int64_t, int, int)':
DVDDemuxFFmpeg.cpp:478: error: 'INT64_C' was not declared in this scope
DVDDemuxFFmpeg.cpp:486: error: 'INT64_C' was not declared in this scope
DVDDemuxFFmpeg.cpp:487: error: expected `;' before 'm_pFormatContext'
DVDDemuxFFmpeg.cpp: In member function 'virtual DemuxPacket* CDVDDemuxFFmpeg::Re                                                     ad()':
DVDDemuxFFmpeg.cpp:571: error: 'INT64_C' was not declared in this scope
DVDDemuxFFmpeg.cpp:573: error: 'INT64_C' was not declared in this scope
DVDDemuxFFmpeg.cpp:583: error: 'INT64_C' was not declared in this scope
DVDDemuxFFmpeg.cpp:585: error: 'INT64_C' was not declared in this scope
DVDDemuxFFmpeg.cpp:605: error: 'INT64_C' was not declared in this scope
DVDDemuxFFmpeg.cpp: In member function 'virtual bool CDVDDemuxFFmpeg::SeekTime(i                                                     nt, bool, double*)':
DVDDemuxFFmpeg.cpp:711: error: 'INT64_C' was not declared in this scope
DVDDemuxFFmpeg.cpp: In member function 'void CDVDDemuxFFmpeg::UpdateCurrentPTS()                                                     ':
DVDDemuxFFmpeg.cpp:755: error: 'INT64_C' was not declared in this scope
DVDDemuxFFmpeg.cpp: In member function 'virtual int CDVDDemuxFFmpeg::GetStreamLe                                                     nght()':
DVDDemuxFFmpeg.cpp:770: error: 'INT64_C' was not declared in this scope
DVDDemuxFFmpeg.cpp: In member function 'void CDVDDemuxFFmpeg::AddStream(int)':
DVDDemuxFFmpeg.cpp:867: error: 'INT64_C' was not declared in this scope
make[1]: *** [DVDDemuxFFmpeg.o] Error 1
make[1]: Leaving directory `/home/marcos/packages/DEB-xbmc/xbmc-2.1a2/xbmc/cores                                                     /dvdplayer/DVDDemuxers'
make: *** [dvdplayer] Error 2

I think that the error has something to do with
Code:
#ifdef _LINUX
#include "stdint.h"
#else
#define INT64_C int64_t
#endif

I tried to modify it properly without succeeding. Could anybody tell me how can I solve it? If nobody know, could I know which version from the SVN PPA is functional enough to give a try? Huh
Reply
#2
Please try with current SVN, the code you're using is ancient and no more stable.
Reply
#3
Thank you very much for your quick answer. You mean from here?:

http://ppa.launchpad.net/team-xbmc-svn/u...in/x/xbmc/

Is there any particular night build that you would recommend me? I mean, that is quite functional even when some of those plugins (e.g. ipod) do not work.
Reply

Logout Mark Read Team Forum Stats Members Help
Compiling xbmc-2.1a2 in MEPIS0