Kodi Community Forum
Dharma Beta 3 (svn 34835) fails to compile - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: General Support (https://forum.kodi.tv/forumdisplay.php?fid=111)
+---- Forum: Linux (https://forum.kodi.tv/forumdisplay.php?fid=52)
+---- Thread: Dharma Beta 3 (svn 34835) fails to compile (/showthread.php?tid=83464)



Dharma Beta 3 (svn 34835) fails to compile - kickit2 - 2010-10-18

Hello everyone -

Just tried to upgrade svn and fail with error 1. Here is the copy/paste of the last lines:

make[1]: Leaving directory `/build/Dharma/xbmc/cores/DllLoader/exports'
g++ -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -g -D_DEBUG -Wall -O2 -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -g -D_DEBUG -Wall -O2 -o xbmc.bin -Wl,--whole-archive xbmc/lib/cmyth/libcmyth/libcmyth.a xbmc/lib/cmyth/librefmem/librefmem.a xbmc/linux/linux.a xbmc/utils/utils.a xbmc/cores/DllLoader/exports/util/exports_utils.a xbmc/cores/DllLoader/exports/exports.a -Wl,--no-whole-archive xbmc/xbmc.a xbmc/addons/addons.a xbmc/cores/playercorefactory/playercorefactory.a xbmc/cores/dvdplayer/DVDPlayer.a xbmc/cores/paplayer/paplayer.a xbmc/cores/VideoRenderers/VideoRenderer.a xbmc/cores/VideoRenderers/VideoShaders/VideoShaders.a guilib/guilib.a guilib/common/gui_common.a guilib/tinyXML/tinyxml.a xbmc/cdrip/cdrip.a xbmc/cores/cores.a xbmc/lib/libPython/python.a xbmc/cores/DllLoader/dllloader.a xbmc/cores/dvdplayer/DVDCodecs/DVDCodecs.a xbmc/cores/dvdplayer/DVDCodecs/Audio/Audio.a xbmc/cores/dvdplayer/DVDCodecs/Overlay/Overlay.a xbmc/cores/dvdplayer/DVDCodecs/Video/Video.a xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxers.a xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreams.a xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitles.a xbmc/cores/AudioRenderers/audiorenderers.a xbmc/cores/ExternalPlayer/ExternalPlayer.a xbmc/FileSystem/filesystem.a xbmc/FileSystem/MusicDatabaseDirectory/musicdatabasedirectory.a xbmc/FileSystem/VideoDatabaseDirectory/videodatabasedirectory.a xbmc/karaoke/karaoke.a xbmc/lib/libPython/xbmcmodule/xbmcmodule.a xbmc/lib/libscrobbler/scrobbler.a xbmc/lib/libRTV/librtv-i486-linux.a xbmc/lib/libshout/libshout-i486-linux.a xbmc/lib/libUPnP/libupnp-i486-linux.a xbmc/lib/libXDAAP/libxdaap-i486-linux.a xbmc/lib/libjsonrpc/libjsonrpc.a lib/jsoncpp/jsoncpp/src/lib_json/libjsoncpp.a xbmc/lib/libhttpapi/libhttpapi.a xbmc/lib/sqLite/sqllite.a xbmc/lib/libsquish/libsquish-i486-linux.a xbmc/lib/libapetag/.libs/libapetag.a lib/xbmc-dll-symbols/dll-symbols.a xbmc/settings/settings.a xbmc/lib/libXBMS/libxbms-i486-linux.a xbmc/lib/UnrarXLib/UnrarXLib.a xbmc/lib/libhts/libhts.a xbmc/posix/posix.a -lXrandr -lavahi-client -lavahi-common -lfaac -lpulse -lmicrohttpd -lSDL_image -lrt -ltiff -ljasper -lresolv -ldl -lSDL_mixer -lsmbclient -lfaad -lmysqlclient -lmodplug -lmpeg2convert -lmpeg2 -lwavpack -lcrypto -lssl -lz -llzo2 -lpthread -ljpeg -lbz2 -lGLU -lGLEW -lGL -lmad -lm -lfontconfig -lfribidi -lsqlite3 -lpng12 -lpcre -lpcre -lpcrecpp -lcdio -lm -lsamplerate -lmms -lm -lglib-2.0 -lfreetype -logg -lvorbis -lm -logg -lvorbisenc -lvorbis -lm -logg -rdynamic -L/usr/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -lssl -lcrypto -lasound -lenca -lm -lXt -lX11 -lXtst -lXext -lXmu -lXt -lX11 -lXinerama -lcurl -L/lib -ldbus-1 -lpthread -lrt -lSDL -lpthread -L/lib -lhal -ldbus-1 -lpthread -lrt -L/lib -lhal-storage -lhal -ldbus-1 -lpthread -lrt -rdynamic
xbmc/lib/libjsonrpc/libjsonrpc.a(FileOperations.o): In function `JSONRPC::CFileOperations::GetDirectory(CStdStr<char> const&, JSONRPC::ITransportLayer*, JSONRPC::IClient*, Json::Value const&, Json::Value&)':
/build/Dharma/xbmc/lib/libjsonrpc/FileOperations.cpp:97: undefined reference to `XFILE::CDirectory::GetDirectory(CStdStr<char> const&, CFileItemList&, CStdStr<char>, bool, bool, XFILE:Big GrinIR_CACHE_TYPE, bool, bool)'
xbmc/lib/libjsonrpc/libjsonrpc.a(FileOperations.o): In function `JSONRPC::CFileOperations::FillFileItemList(Json::Value const&, CFileItemList&)':
/build/Dharma/xbmc/lib/libjsonrpc/FileOperations.cpp:169: undefined reference to `XFILE::CDirectory::GetDirectory(CStdStr<char> const&, CFileItemList&, CStdStr<char>, bool, bool, XFILE:Big GrinIR_CACHE_TYPE, bool, bool)'
xbmc/lib/libhttpapi/libhttpapi.a(XBMChttp.o): In function `CXbmcHttp::AddItemToPlayList(boost:Confusedhared_ptr<CFileItem> const&, int, int, CStdStr<char>, bool)':
/build/Dharma/xbmc/lib/libhttpapi/XBMChttp.cpp:495: undefined reference to `XFILE::CDirectory::GetDirectory(CStdStr<char> const&, CFileItemList&, CStdStr<char>, bool, bool, XFILE:Big GrinIR_CACHE_TYPE, bool, bool)'
xbmc/lib/libhttpapi/libhttpapi.a(XBMChttp.o): In function `CXbmcHttp::xbmcGetMediaLocation(int, CStdStr<char>*)':
/build/Dharma/xbmc/lib/libhttpapi/XBMChttp.cpp:752: undefined reference to `XFILE::CDirectory::GetDirectory(CStdStr<char> const&, CFileItemList&, CStdStr<char>, bool, bool, XFILE:Big GrinIR_CACHE_TYPE, bool, bool)'
xbmc/lib/libhttpapi/libhttpapi.a(XBMChttp.o): In function `CXbmcHttp::displayDir(int, CStdStr<char>*)':
/build/Dharma/xbmc/lib/libhttpapi/XBMChttp.cpp:399: undefined reference to `XFILE::CDirectory::GetDirectory(CStdStr<char> const&, CFileItemList&, CStdStr<char>, bool, bool, XFILE:Big GrinIR_CACHE_TYPE, bool, bool)'
collect2: ld returned 1 exit status
make: *** [xbmc.bin] Error 1


- juju0 - 2010-10-24

Same here. I found the problem : the function GetDirectory takes 9 parameters, not 8 (old function prototype ?). So libjsonrpc and libhttpapi have to be recompiled and Makefile doesn't see it for some reason...

So the following commands should do the trick (in a Dharma checkout directory)
Code:
( cd xbmc/lib/libjsonrpc && make clean )
( cd xbmc/lib/libhttpapi && make clean )
make

But there is probably a dependancy probem in makefiles


- dlite - 2010-10-28

Got the same problem and the solution of juju0 works - thanks a lot!