"Error while loading shared libraries" when starting XBMC
#1
I get the following when I try to run XBMC:

error while loading shared libraries: liblzo.so.1: can not open shared object file: No such file or directory

Now here's what I've done to get this error and hopefully someone can give me a hand. I installed the XBMC 2.1 Alpha 2 package (from the PPAs) since it seems to have a few less bugs than the current SVN (can't remember exact detail, but that what I've deduced from a few other people's posts, etc.). However, I'm an ATI user so I need to compile things myself, but I don't want to install all the extra packages, etc. on the main machine. So I downloaded the Alpha 2 branch from the SVN onto another machine and compiled it with debug turned off, everything else default. I then moved the XboxMediaCenter file it created to the main machine, renamed it to xbmc.bin (which is what the executable file is called that's installed by the package). However, I get the above error when I try to run xbmc. Any help is highly appreciated.

Btw, the reason why I'm only moving the executable file and not the whole BUILD directory from the machine I compiled things on is cause the two machines are not in the same area (home vs work) and the executable can be just e-mailed over.

I would have been under the assumption that the Alpha 2 branch would be identical to the Alpha 2 package ... but maybe it's not ... either way, if anyone can offer some assistance as to how to fix this without copying the whole BUILD directory created on the other machine that would be highly appreciated.

Thanks,
Harry
Reply
#2
So it looks like I might just be missing some sort of library called liblzo.so.1 (still learning how linux and Ubuntu works Oo ). I have a file called liblzo2.so.2, but not the one it's looking for. Is it just a matter of installing a certian package?

Btw, I'm running all this on Hardy.

Thanks,
Harry
Reply
#3
/usr/lib is liblzo.so in there?

ln -s /usr/local/lib/liblzo.so.1 /usr/lib/liblzo.so.1
could fix it..
Reply
#4
OK, so I got my hands on the liblzo.so.1 file and the actual library it points to (the liblzo.so.1 file was a symbolic link to the actual library) and stuck them in the /usr/lib folder. However, now I get the following:

The XBMC_HOME enviroment variable is not set.
The XBMC_HOME enviroment variable is not set.
Fatal error encountered, aborting
Error log at /var/tmp/xbmc.log
Aborted

Here's a link to what's in the log file:

http://pastebin.com/f62f75bc0

Thanks,
Harry
Reply
#5
usr/local/share/xbmc/language/English/strings.xml
does that file exist?
Reply
#6
Nope, there's not even a xbmc directory in /usr/local/share. It's only in /usr/share. Should I create a symbolic link in the /usr/local/share directory to the xbmc directory in /usr/share?

Thanks,
Harry
Reply
#7
i think thats the problem yeah.

which linux distro & flavor are you using?
Reply
#8
The problem is that you're doing a bunch of crap in a non standard way.

You CANNOT use platform mode when running with build.sh. Platform mode depends on an install path that is hardcoded at configure "/usr/local/share/xbmc" as default.

You're going to have to give a more clear explanation of what exactly you're doing here. xbmc revision, how you're compiling, any extra compile options, how you're installing and where, etc. The more descriptive you are the better.

OR you could simply install the few kB in header files and simply ./configure && make && make install and be done with the whole ordeal.
Reply
#9
Ya, I know it's totally non standard ... but that's part of the fun Smile ... here's what I've done:

Machine 1 (compile machine)
Install Ubuntu Hardy
Download Alpha 2 branch of the SVN and compile it using the build.sh script with debugging turned
off, no other options.
Revision is what ever revision the Alpha 2 branch is.

Machine 2 (main machine)
Running Ubuntu Hardy
Install Alpha 2 package from the PPAs (installed to default location /usr/share/xbmc)
Took the XboxMediaCenter file from Machine 1 and copied it over the xbmc.bin file that's on Machine
2. Xbmc.bin file was located in /usr/share/xbmc
Copied the two missing library files (libzo) into /usr/lib

Now I have also created a symbolic link in /usr/local/share/ called xbmc to point to the /usr/share/xbmc folder. Now XBMC runs. However, the only thing is that when I run it I get the following output in the terminal window:

The XBMC_HOME environment variable is not set.
The XBMC_HOME environment variable is not set.

After it exists the following lines also appear in the termnial:

CRITSEC[0x8b64664]: Trying to enter destroyed section.
CRITSEC[0x8b64664]: Some other thread trying to leave our critical section.

Should I be concerned about any of these? The "critical section" part sound serious Smile.

Other than that XBMC seems to be working fine, although I haven't fully tested everything yet.

Sorry for the non standardness, but I it's almost fixed (as long as those couple of output lines are nothing to be concerned about) and hopefully can help anyone else doing anything similar. Also, I'm very grateful for everyones input and help. XBMC is awesome.

Thanks,
Harry
Reply

Logout Mark Read Team Forum Stats Members Help
"Error while loading shared libraries" when starting XBMC0