2008-08-07, 00:53
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:
I think that the error has something to do with
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?
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?