Debian Etch - compiling XBMC?
#1
Question 
I know there is no support etc... but has anyone compiled on Etch? I compiled it several times on sid/lenny but I had to drop back to Etch as sid/lenny wasn't reliable enough for my server.
Is there anything I could be missing that would cause it to not compile?

Code:
make XboxMediaCenter
make[1]: Entering directory `/home/gary/XBMC'
g++ -g -Wformat -D_DEBUG -o XboxMediaCenter xbmc/*.o xbmc/settings/*.o xbmc/cdrip/*.o guilib/*.o guilib/tinyXML/*.o guilib/common/*.o xbmc/FileSystem/*.o xbmc/FileSystem/VideoDatabaseDirectory/*.o xbmc/FileSystem/MusicDatabaseDirectory/*.o xbmc/visualizations/*.o xbmc/cores/*.o xbmc/cores/paplayer/*.o xbmc/linux/*.o xbmc/lib/sqlLite/*.o xbmc/lib/libscrobbler/*.o xbmc/lib/libPython/*.o xbmc/lib/libPython/xbmcmodule/*.o xbmc/xbox/*.o xbmc/cores/DllLoader/*.o xbmc/cores/DllLoader/exports/*.o xbmc/cores/DllLoader/exports/util/*.o xbmc/utils/*.o xbmc/lib/UnrarXLib/*.o xbmc/lib/libGoAhead/*.o xbmc/cores/dvdplayer/*.o xbmc/cores/dvdplayer/DVDSubtitles/*.o xbmc/cores/dvdplayer/DVDInputStreams/*.o xbmc/cores/dvdplayer/DVDCodecs/*.o xbmc/cores/dvdplayer/DVDCodecs/Audio/*.o xbmc/cores/dvdplayer/DVDCodecs/Video/*.o xbmc/cores/dvdplayer/DVDCodecs/Overlay/*.o xbmc/cores/dvdplayer/DVDDemuxers/*.o xbmc/cores/dvdplayer/DVDCodecs/Overlay/libspucc/*.o xbmc/cores/VideoRenderers/*.o xbmc/cores/VideoRenderers/VideoShaders/*.o xbmc/lib/libGoAhead/libGoAheadD-i486-linux.a xbmc/lib/libXBMS/libxbms-i486-linux.a xbmc/lib/libUPnP/libupnp-i486-linux.a xbmc/lib/libshout/libshout-i486-linux.a xbmc/lib/libRTV/librtv-i486-linux.a xbmc/lib/libXDAAP/libxdaap-i486-linux.a -lrt -lasound -lsqlite3 -lsmbclient -llzo -lfribidi -lfreetype -ldl -lcdio -lSDL_mixer -lSDL_image -lSDL -lXinerama -lGLU -lGLEW -lGL  -rdynamic
xbmc/utils/Network.o: In function `CNetwork::NetworkMessage(CNetwork::EMESSAGE, unsigned long)':
/home/gary/XBMC/xbmc/utils/Network.cpp:76: multiple definition of `CNetwork::NetworkMessage(CNetwork::EMESSAGE, unsigned long)'
xbmc/xbox/Network.o:/home/gary/XBMC/xbmc/xbox/Network.cpp:527: first defined here
xbmc/utils/Network.o: In function `CNetwork':
/home/gary/XBMC/xbmc/utils/Network.cpp:6: multiple definition of `CNetwork::CNetwork()'
xbmc/xbox/Network.o:/home/gary/XBMC/xbmc/xbox/Network.cpp:436: first defined here
/usr/bin/ld: Warning: size of symbol `CNetwork::CNetwork()' changed from 81 in xbmc/xbox/Network.o to 54 in xbmc/utils/Network.o
xbmc/utils/Network.o: In function `CNetwork':
/home/gary/XBMC/xbmc/utils/Network.cpp:6: multiple definition of `CNetwork::CNetwork()'
xbmc/xbox/Network.o:/home/gary/XBMC/xbmc/xbox/Network.cpp:436: first defined here
/usr/bin/ld: Warning: size of symbol `CNetwork::CNetwork()' changed from 81 in xbmc/xbox/Network.o to 54 in xbmc/utils/Network.o
xbmc/utils/Network.o: In function `~CNetwork':
/home/gary/XBMC/xbmc/utils/Network.cpp:11: multiple definition of `CNetwork::~CNetwork()'
xbmc/xbox/Network.o:/home/gary/XBMC/xbmc/xbox/Network.cpp:445: first defined here
/usr/bin/ld: Warning: size of symbol `CNetwork::~CNetwork()' changed from 19 in xbmc/xbox/Network.o to 74 in xbmc/utils/Network.o
xbmc/utils/Network.o: In function `~CNetwork':
/home/gary/XBMC/xbmc/utils/Network.cpp:11: multiple definition of `CNetwork::~CNetwork()'
xbmc/xbox/Network.o:/home/gary/XBMC/xbmc/xbox/Network.cpp:445: first defined here
/usr/bin/ld: Warning: size of symbol `CNetwork::~CNetwork()' changed from 19 in xbmc/xbox/Network.o to 74 in xbmc/utils/Network.o
/usr/bin/ld: cannot find -lGL
collect2: ld returned 1 exit status
make[1]: *** [XboxMediaCenter] Error 1
make[1]: Leaving directory `/home/gary/XBMC'
make: *** [all] Error 2
make: Leaving directory `/home/gary/XBMC'
Reply
#2
doing ./build.sh by the way Smile
Reply
#3
you need to install libgl i think.
Reply
#4
Nope got that.
Reply
#5
Finaly did you success to run XBMC on Debian etch?

How did you do?
Reply
#6
I never got it to run on etch... but then again, I got frustrated with it and really didn't try hard... just installed 7.10 server and went from there with no problems
Reply
#7
Zouu, if you're going to hijack an ancient thread, can you at least post what problems you're having? Just because it didn't work back in October doesn't mean it won't/will now.
Reply
#8
ow ok sorry Laugh

So I go the error when I "make" it.

Here is the last lines of the ./configure out put:

Code:
...
...
checking for utime... yes
[b]checking build system type... i686-pc-linux-gnu[/b]
[b]checking host system type... i686-pc-linux-gnu[/b]
checking for /usr/lib/python2.4/config/libpython2.4-pic.a... yes
ccache not found. Falling back to default CC
configure: creating ./config.status
config.status: creating Makefile
config.status: creating Makefile.include
config.status: creating xbmc/lib/libPython/linux/Makefile
config.status: creating xbmc/lib/libUPnP/Makefile
config.status: creating config.h

------------------------
  XBMC Configuration:
------------------------
  Debugging:    Yes
  Profiling:    No
  OpenGL:       Yes
  Joystick:     Yes
  XRandR:       Yes
  MMS:          Yes
  PCRE Support: Yes
  Automount:    No
  ccache:       No
------------------------
Is it normal that it detect an "i686-pc-linux-gnu"? I think I've an i386 (Pentium4 3Ghz - HT).

Ok now the make's last output lines (I do a make clean juste beafore lunching make command)

Code:
g++ -c -D__STDC_FORMAT_MACROS -g -D_DEBUG -Wall -DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/hal -D_LINUX -D_FILE_DEFINED -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -DHAS_SDL_JOYSTICK -DHAS_XRANDR -DHAS_MMS -DHAS_PCRE -D'SVN_REV="12743"' -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../lib/libUPnP/Platinum/ThirdParty/Neptune/Source/Core -I../lib/libUPnP/Platinum/Source/Core -I../lib/libUPnP/Platinum/Source/Devices/MediaServer -I../lib/libUPnP/Platinum/ThirdParty/Neptune/Source/System/Posix NptXbmcFile.cpp -o NptXbmcFile.o
rm -f CacheMemBuffer.o
g++ -c -D__STDC_FORMAT_MACROS -g -D_DEBUG -Wall -DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/hal -D_LINUX -D_FILE_DEFINED -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -DHAS_SDL_JOYSTICK -DHAS_XRANDR -DHAS_MMS -DHAS_PCRE -D'SVN_REV="12743"' -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../lib/libUPnP/Platinum/ThirdParty/Neptune/Source/Core -I../lib/libUPnP/Platinum/Source/Core -I../lib/libUPnP/Platinum/Source/Devices/MediaServer -I../lib/libUPnP/Platinum/ThirdParty/Neptune/Source/System/Posix CacheMemBuffer.cpp -o CacheMemBuffer.o
rm -f FileMMS.o
g++ -c -D__STDC_FORMAT_MACROS -g -D_DEBUG -Wall -DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/hal -D_LINUX -D_FILE_DEFINED -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -DHAS_SDL_JOYSTICK -DHAS_XRANDR -DHAS_MMS -DHAS_PCRE -D'SVN_REV="12743"' -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../lib/libUPnP/Platinum/ThirdParty/Neptune/Source/Core -I../lib/libUPnP/Platinum/Source/Core -I../lib/libUPnP/Platinum/Source/Devices/MediaServer -I../lib/libUPnP/Platinum/ThirdParty/Neptune/Source/System/Posix FileMMS.cpp -o FileMMS.o
FileMMS.cpp: In member function ‘virtual long long int XFILE::CFileMMS::Seek(long long int, int)’:
FileMMS.cpp:49: error: ‘mms_seek’ was not declared in this scope
make[1]: *** [FileMMS.o] Erreur 1
make[1]: quittant le répertoire « /install/XBMC/sources/xbmc/FileSystem »
make: *** [filesystem] Erreur 2
zou@PC-Zou:/install/XBMC/sources$

And if I try the command : ./build.sh NOUPDATE, here is the last outputs
Code:
g++ -c -g -D_DEBUG -Wall -DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/hal -D_LINUX -D_FILE_DEFINED -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -DHAS_SDL_JOYSTICK -DHAS_XRANDR -DHAS_MMS -DHAS_PCRE -D'SVN_REV="12743"' -I. -Ilinux -Icores -I../guilib -Iutils -Ilib/libUPnP/Platinum/ThirdParty/Neptune/Source/Core -Ilib/libUPnP/Platinum/Source/Core -Ilib/libUPnP/Platinum/Source/Devices/MediaServer -Ilib/libUPnP/Platinum/ThirdParty/Neptune/Source/System/Posix -Ilib/libUPnP/Platinum/Source/Devices/MediaConnect -Ilib/libUPnP/Platinum/Source/Devices/MediaRenderer Artist.cpp -o Artist.o
rm -f Album.o
g++ -c -g -D_DEBUG -Wall -DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/hal -D_LINUX -D_FILE_DEFINED -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -DHAS_SDL_JOYSTICK -DHAS_XRANDR -DHAS_MMS -DHAS_PCRE -D'SVN_REV="12743"' -I. -Ilinux -Icores -I../guilib -Iutils -Ilib/libUPnP/Platinum/ThirdParty/Neptune/Source/Core -Ilib/libUPnP/Platinum/Source/Core -Ilib/libUPnP/Platinum/Source/Devices/MediaServer -Ilib/libUPnP/Platinum/ThirdParty/Neptune/Source/System/Posix -Ilib/libUPnP/Platinum/Source/Devices/MediaConnect -Ilib/libUPnP/Platinum/Source/Devices/MediaRenderer Album.cpp -o Album.o
make[1]: quittant le répertoire « /install/XBMC/sources/xbmc »
make: quittant le répertoire « /install/XBMC/sources »
Generating Changelog.txt
Backing up old ./BUILD to ./BUILD.bak.
Creating ./BUILD.
Copying xbmc-xrandr

FAILED! Exiting. (1)
zou@PC-Zou:/install/XBMC/sources$
And no executable in the BUILD folder.

If you think you have an idea, fell free to say it.

Anyway thx for your attention
Reply
#9
And I forgot to say which set of pakage I've installed, here is it :

make g++-4.1 gcc-4.1 libsdl1.2-dev libsdl-image1.2-dev libsdl-gfx1.2-dev libsdl-mixer1.2-dev libsdl-sound1.2-dev libsdl-stretch-dev libfribidi0 libfribidi-dev liblzo1 liblzo-dev libfreetype6 libfreetype6-dev libsqlite3-0 libsqlite3-dev libogg-dev libasound2-dev python2.4-dev python2.4 python-sqlite libglew1 libglew-dev libcurl3-dev g++ gawk x11proto-xinerama-dev libxinerama-dev libxrandr-dev libxrender-dev libmms-dev pmount libmad0-dev libtre-dev libogg-dev libvorbis-dev libmysqlclient15-dev libpcre3-dev libdbus-1-dev libhal-dev libhal-storage-dev libjasper-1.701-1 libjasper-1.701-dev libjasper-dev libjasper-runtime

In bold, the pakage who are different from the require pakage :
- I switch libglew1.4 to libglew1 and libglew1.4-dev to libglew-dev
- libjasper1 doe'nt exist for Debian etch so I use libjasper-1.701-1 and I add the libjasper-1.701-dev, libjasper-dev and libjasper-runtime pakages.
Reply
#10
Your libmms is outdated. Try to uninstall it from apt and install it from libmms svn repo.
Reply
#11
I suppose you mean libmms-dev pakage?
Reply
#12
Both actually. When you install from source there is no "-dev" package you get everything in one go. IIRC it's the normal "./configure && make && sudo make install && sudo ldconfig" GNU autotools install.
Reply
#13
You can also just compile with:

./build.sh CONFIGOPT=--disable-mms

This will disable mms. There was a check for this in earlier versions of xbmc but for some weird reason it was removed?
Reply
#14
The check is actually still there it just isn't thorough enough and don't check for a couple functions we use but aren't in <=0.3 (except some distros have them patched in). I added the extra necessary checks awhile back but I think one of the devs removed them at some point.

EDIT: Ok I figured out why the check was removed and added it back in a proper manner. configure should properly disable mms support now.
Reply
#15
OK I downloaded the libmms0.4sources from http://launchpad.net/libmms . Then configure, make and install ok.

Now I retry to make XBMC

./configur -> ok juste like before
but when I make it here is the outputs :

Quote:...
g++ -c -D__STDC_FORMAT_MACROS -g -D_DEBUG -Wall -DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/hal -D_LINUX -D_FILE_DEFINED -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAS_SDL_JOYSTICK -DHAS_XRANDR -DHAS_MMS -DHAS_PCRE -D'SVN_REV="12743"' -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../lib/libUPnP/Platinum/ThirdParty/Neptune/Source/Core -I../lib/libUPnP/Platinum/Source/Core -I../lib/libUPnP/Platinum/Source/Devices/MediaServer -I../lib/libUPnP/Platinum/ThirdParty/Neptune/Source/System/Posix FileFactory.cpp -o FileFactory.o
/usr/local/include/libmms/mms.h:79: error: expected ‘,’ or ‘...’ before ‘this’
/usr/local/include/libmms/mms.h:81: error: expected ‘,’ or ‘...’ before ‘this’
/usr/local/include/libmms/mms.h:83: error: expected ‘,’ or ‘...’ before ‘this’
make[1]: *** [FileFactory.o] Erreur 1
make[1]: quittant le répertoire « /install/XBMC/sources/xbmc/FileSystem »
make: *** [filesystem] Erreur 2
zou@PC-Zou:/install/XBMC/sources$

So i searched about this prob on the web and I found this :
https://bugs.launchpad.net/libmms/+bug/180201

Thus I followed the instructions :

-Uninstall libmms0.4
-Modified the mms.h file from this :
Code:
77    mms_off_t mms_get_current_pos (mms_t *instance);    
78            
79    uint32_t mms_get_asf_header_len (mms_t *[b]this[/b]);
80            
81    uint64_t mms_get_asf_packet_len (mms_t *[b]this[/b]);    
82            
83    int      mms_get_seekable (mms_t *[b]this[/b]);    
84        
85    #ifdef __cplusplus
to this ( or more exactly to instance Big Grin )
Code:
77    mms_off_t mms_get_current_pos (mms_t *instance);
78
79    uint32_t mms_get_asf_header_len (mms_t *[b]instance[/b]);
80
81    uint64_t mms_get_asf_packet_len (mms_t *[b]instance[/b]);
82
83    int      mms_get_seekable (mms_t *[b]instance[/b]);
84    
85    #ifdef __cplusplus
- rebuild the libmms0.4 and install it (make clean -> configure ->make -> make install)

and .... nop! Another error arisen. Here is it whit the make commande (I did an other make clean for XBMC just before launching make)

Code:
...
make[1]: Rien à faire pour « lib ».
make[1]: quittant le répertoire « /install/XBMC/sources/xbmc/lib/libcmyth »
make XboxMediaCenter
make[1]: entrant dans le répertoire « /install/XBMC/sources »
g++ -g -D_DEBUG -Wall -o XboxMediaCenter xbmc/*.o xbmc/settings/*.o xbmc/cdrip/*.o guilib/*.o guilib/tinyXML/*.o guilib/common/*.o xbmc/FileSystem/*.o xbmc/FileSystem/VideoDatabaseDirectory/*.o xbmc/FileSystem/MusicDatabaseDirectory/*.o xbmc/visualizations/*.o xbmc/screensavers/*.o xbmc/cores/*.o xbmc/cores/paplayer/*.o xbmc/linux/*.o xbmc/lib/sqLite/*.o xbmc/lib/libscrobbler/*.o xbmc/lib/libPython/*.o xbmc/lib/libPython/xbmcmodule/*.o xbmc/xbox/*.o xbmc/cores/DllLoader/*.o xbmc/cores/DllLoader/exports/*.o xbmc/cores/DllLoader/exports/util/*.o xbmc/utils/*.o xbmc/lib/UnrarXLib/*.o xbmc/lib/libGoAhead/*.o xbmc/cores/dvdplayer/*.o xbmc/cores/dvdplayer/DVDSubtitles/*.o xbmc/cores/dvdplayer/DVDInputStreams/*.o xbmc/cores/dvdplayer/DVDCodecs/*.o xbmc/cores/dvdplayer/DVDCodecs/Audio/*.o xbmc/cores/dvdplayer/DVDCodecs/Video/*.o xbmc/cores/dvdplayer/DVDCodecs/Overlay/*.o xbmc/cores/dvdplayer/DVDDemuxers/*.o xbmc/cores/dvdplayer/DVDCodecs/Overlay/libspucc/*.o xbmc/cores/VideoRenderers/*.o xbmc/cores/VideoRenderers/VideoShaders/*.o xbmc/lib/libcmyth/*.o xbmc/lib/libGoAhead/libGoAheadD-i486-linux.a xbmc/lib/libXBMS/libxbms-i486-linux.a xbmc/lib/libUPnP/libupnp-i486-linux.a xbmc/lib/libshout/libshout-i486-linux.a xbmc/lib/libRTV/librtv-i486-linux.a xbmc/lib/libXDAAP/libxdaap-i486-linux.a xbmc/lib/libcdio/libcdio-i486-linux.a xbmc/lib/libsmb/libsmbclient-i486-linux.a -lhal-storage -ldbus-1 -lpcre -lmms -lXrandr -ljpeg -ljasper -lpng12 -lresolv -lrt -lasound -lmysqlclient -lsqlite3 -llzo -lfribidi -lfreetype -ldl -lSDL_mixer -lSDL_image -lSDL -lvorbis -logg -ltre -lmad -lXinerama -lGLU -lGLEW -lGL  -rdynamic
xbmc/lib/libGoAhead/libGoAheadD-i486-linux.a(ejparse.o): dans la fonction « evalCond »:
src/ejparse.c:1172: référence indéfinie vers « __stack_chk_fail »
xbmc/lib/libGoAhead/libGoAheadD-i486-linux.a(ejparse.o): dans la fonction « evalExpr »:
src/ejparse.c:1314: référence indéfinie vers « __stack_chk_fail »
xbmc/lib/libGoAhead/libGoAheadD-i486-linux.a(form.o): dans la fonction « websFormHandler »:
src/form.c:88: référence indéfinie vers « __stack_chk_fail »
xbmc/lib/libGoAhead/libGoAheadD-i486-linux.a(sock.o): dans la fonction « socketDoOutput »:
src/sock.c:550: référence indéfinie vers « __stack_chk_fail »
xbmc/lib/libGoAhead/libGoAheadD-i486-linux.a(sock.o): dans la fonction « socketFree »:
src/sock.c:673: référence indéfinie vers « __stack_chk_fail »
xbmc/lib/libGoAhead/libGoAheadD-i486-linux.a(sockGen.o):src/sockGen.c:309: [b]encore plus de références indéfinies suivent vers[/b] « __stack_chk_fail »
collect2: ld returned 1 exit status
make[1]: *** [XboxMediaCenter] Erreur 1
make[1]: quittant le répertoire « /install/XBMC/sources »
make: *** [all] Erreur 2
zou@PC-Zou:/install/XBMC/sources$

The bold text can be translate in english to
[HTML]more undefined references to `__stack_chk_fail' follow[/HTML]

This time I don't know what is the prob, but it seems that's more serious.

Thx a lot
Reply

Logout Mark Read Team Forum Stats Members Help
Debian Etch - compiling XBMC?0