Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libboost_system.so.1.54.0: cannot open shared object file: No such file or directory (linux64) [WITH WORKAROUND/SOLUTION] #79

Open
GoogleCodeExporter opened this issue Mar 18, 2016 · 7 comments

Comments

@GoogleCodeExporter
Copy link

What steps will reproduce the problem?
1. Follow SimpleOpenNI installation instructions for Linux 
(https://code.google.com/p/simple-openni/wiki/Installation)

2. Run any SimpleOpenNI example sketch.

What is the expected output? What do you see instead?
Expected output: sketch loads library and runs.
Actual output: sketch does not run, giving the following error:

Can't load SimpleOpenNI library (libSimpleOpenNI64.so) : 
java.lang.UnsatisfiedLinkError: 
/home/dario/sketchbook/libraries/SimpleOpenNI/library/libSimpleOpenNI64.so: 
libboost_system.so.1.54.0: cannot open shared object file: No such file or 
directory
Verify if you installed SimpleOpenNI correctly.
http://code.google.com/p/simple-openni/wiki/Installation
A library relies on native code that's not available.
Or only works properly when the sketch is run as a 32-bit  application.

What version of the product are you using? On what operating system?
SimpleOpenNI 1.96 on Linux Mint 15, 64bit


Please provide any additional information below.
I found a quick workaround with a colleague.
Apparently, the libboost_system.so.1.54.0 is missing from the 
../library/linux64/ folder.
For a quick test, we copied a previous version of the file (1.53, the most 
recent one I had available on my system) inside the ../library/linux64/ folder, 
changing its name in order to match the required 1.54 version file:

cp /usr/lib/libboost_system.so.1.53.0 
/home/dario/sketchbook/libraries/SimpleOpenNI/library/linux64/libboost_system.so
.1.54.0

Even if the version is not the right one (1.53 vs 1.54), sketches now seem to 
work :)

I noticed that inside the ../library/linux64/ folder there is a 
libboost_filesystem.so.1.54.0 file. 
If I rename/remove that file, while keeping the added libboost_system.so.1.54.0 
file in the folder, the library still works.
Is it possible that libboost_filesystem.so.1.54.0 is included instead of 
libboost_system.so.1.54.0?




Original issue reported on code.google.com by dar...@gmail.com on 11 Oct 2013 at 12:50

@GoogleCodeExporter
Copy link
Author

I have this exact problem, on Ubuntu 13.10, after installing the OpenNI device 
rules, then installing SimpleOpenNI through Processing 2.0.3's installation 
process.

I also tried the workaround somebody suggested in this thread:
https://groups.google.com/forum/#!msg/simple-openni-discuss/P32ylJdsjho/4KplLWBw
P3AJ

Where you rename libboost_filesystem* to libboost_system*, but this gave me a 
different error, about an "undefined symbol: 
_ZN5boost6system15system_categoryEv". So I don't think that's the solution.

Any other ideas?

Original comment by konklone on 27 Oct 2013 at 9:39

@GoogleCodeExporter
Copy link
Author

For more information -- I tried the other, first workaround in that same link, 
which is to install libboost systemwide and then copy (in my case, symlink) the 
system lib to the SimpleOpenNI linux64 dir in my sketchbook dir:

ln -s /usr/lib/x86_64-linux-gnu/libboost_system.so.1.53.0 
libboost_system.so.1.54.0

And this got me through. Now I just get "what() Cannot open Kinect", which I 
suspect is a separate problem.

Original comment by konklone on 27 Oct 2013 at 10:03

@GoogleCodeExporter
Copy link
Author

...and finally, for anyone watching -- I was able to fix the "what() Cannot 
open Kinect" error by taking this file:

https://raw.github.com/OpenKinect/libfreenect/master/platform/linux/udev/51-kine
ct.rules

And putting it into "/etc/udev/rules.d/". I had *already* done the Simple 
OpenNI extra Linux instructions 
(https://code.google.com/p/simple-openni/wiki/Installation#Linux) that copy 
557-primesense-usb.rules to the same directory. That wasn't enough.

Original comment by konklone on 27 Oct 2013 at 10:09

@GoogleCodeExporter
Copy link
Author

I can confirm, the fixes were: 

1. download and copy the file in 
~/sketchbook/libraries/SimpleOpenNI/library/linux64
http://rpmfind.net/linux/rpm2html/search.php?query=libboost_system.so.1.54.0%28%
29%2864bit%29

2. copy the file to /etc/udev
https://raw.github.com/OpenKinect/libfreenect/master/platform/linux/udev/51-kine
ct.rules

After these steps, I tested
- Kinect works OK 
- Xtion doesn't work, gives the error:
Can't init SimpleOpenNI, maybe the camera is not connected!
which is probably caused by the OpenNI2 freenect driver:
https://github.com/piedar/OpenNI2-FreenectDriver
If you find it more, please let me know

Thanks

Original comment by Alexandr...@gmail.com on 4 Nov 2013 at 1:29

@GoogleCodeExporter
Copy link
Author

After trying to resolve this issue for 2 days,

installing libboost_system.so.1.54.0 solved the issue on Fedora 18 x64 .

Thanks a lot.

Original comment by dgcoffee...@gmail.com on 6 Nov 2013 at 9:07

@GoogleCodeExporter
Copy link
Author

[deleted comment]

@GoogleCodeExporter
Copy link
Author

i solved the problem by downloading the boost library from boost.org. 
I extracted the files, run the ./bootstrap.sh and the ./b2 and when the 
installing was done i copied from 

/boost_1_54_0/bin.v2/libs/system/build/gcc-4.7/release/threading-multi

the libboost_system.so.1.54.0 to the directory
/sketchbook/libraries/SimpleOpenNI/library/linux64

i had already deleted the previous one named libboost_filesystem.so.1.54.0

i hope it works for everyone

Original comment by ds...@hotmail.gr on 18 Nov 2013 at 10:34

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant