Thursday, December 4, 2008

Boxee redux

Trying to rebuild the latest Boxee and run into these problems:



1] AppManager.h:52 - change "static bool CAppManager::RunInBG(InstallOrUpgradeAppBG* pJob);" to "static bool RunInBG(InstallOrUpgradeAppBG* pJob);". g++ doesn't like the redundant qualification. Wonder what version of g++ the XBMC crew uses, as that's a common error I see alot from code coming over from Windows.



2] LinuxFileSystem.cpp:188 Change

shares.strName += " (" + g_localizeStrings.Get(51350) + ")";

to
share.strName += " (" + g_localizeStrings.Get(51350) + ")";


A very strange and impossible bug - it was using the Vector, not the CMediaShare. Maybe we shouldn't be doing HAL?



3] I got an error about missing libtxml.a. Needs tinyxml:

$ cd xbmc/lib/libBoxee
$ tar xzvf tinyxml_2_5_3.tar.gz


Not sure why it wasn't in there. Then I had to add a target to the Makefile found in xbmc/lib/libBoxee:




all: libBoxee.a libtxpath.a libtxml.a

libtxml.a:
make -C tinyxml
$(AR) $(ARFLAGS) libtxml.a tinyxml/*.o
ranlib libtxml.a


And that finally compiled. A lot cleaner and faster compiler than the previous version. This creates a ./Boxee. Now another problem cropped up - I can't seem to find any sort of script to create a new installation, like I create before. And there is no plugins folder, like there used to be. But I just faked it, using my make-boxee.sh script and copying in plugins folder from my previous install.



So I copy the create opt/boxee folder into /opt/boxee. And try to run it. It sort of worked, although I had to try a few times to log in, as it kept complaining of an invalid password. I assume that is just because the server is getting pounded due to all the people trying out the new version.



But even once I got logged in, it still wasn't very stable. Whenever the left menu would try to come up, Boxee locked up hard, requiring me to Ctrl-Alt-F2 to a text console and killing the process. Trying to play anything just crashes it. And I can't seem to find any log file :( Oh well.