undefined symbol: lsl_library_info (missing from compiled liblsl32armv7l.so)
dxjones opened this issue · 7 comments
After installing the ARM version of the liblsl32.so library to work on the Raspberry Pi 3 B+, we get this error message:
AttributeError: /usr/local/lib/python2.7/dist-packages/pylsl/liblsl32.so: undefined symbol: lsl_library_info
I am wondering if lsl_library_info()
function was added recently (within the past year), so the ARM library needs to be recompiled from the updated source.
If that is the case, I would appreciate guidance on how to compile liblsl32.so
on a Raspberry Pi.
From what I have heard, it may take 3 hours, ... so I am hoping to get some help in the process, so it will be successful the first time.
Any help or advice appreciated.
First, install the build environment (see here; short: install g++ / clang++, CMake, and optionally git). Then, clone the liblsl repository or download and unzip the archive.
In the downloaded folder, do
mkdir build; cd build
cmake -DLSL_LSLBOOST_PATH=lslboost ..
time cmake --build . --target install
To speed things up, you could try a branch with some compilation speed optimizations and/or install ninja beforehand (add -G Ninja
to the first cmake invocation)
See also sccn/liblsl#2
Please test the .so I attached to a comment on sccn/liblsl#2
From what I have heard, it may take 3 hours
On a plain 3B without overclocking and a slow SD card it takes about 13 minutes, but you have to limit the build to 3 concurrent processes. A deb package for Raspbian is available at the releases page
Great. Can you please add this link to the PR which is where I have been sending?
Also, can you test the lib I built? I hope to include it in pylsl on pypi. I can use your .so file but I would like to be able to generate it on the fly when needed.
I'm currently out of the country with only my smartphone at hand, so I can't do anything before next week