Closed hgrw closed 1 year ago
Two things:
cmake/LSLCMake.cmake
has some common functions for liblsl and apps using it, so there's no need to include it in the buildi386:x86-64
is just another name for amd64. file
will report this a bit more unambiguously: liblsl.so: ELF 64-bit LSB shared object, x86-64
Ah, great. Thanks!
OS & Arch - ubuntu 22, amd64, x86
I'm following steps in documentation to build and install libs. I am using a pretty fresh ubuntu 22 install. Everything default. Unexpectedly, the LSL toolchain defaults to i386 instead of amd64. This happens regardless of whether I use LSL-provided toolchain...There is something fundamental I'm missing here. Since I'm using Ninja, and the docs specify visual studio, I don't need to use the -A flag, and I can see that the generated files match my architecture. Nonetheless, resultant .so are 32 bit arch. Is this the default behaviour of the project, or is it something to do with my build setup?
Steps
git clone --depth=1 https://github.com/sccn/liblsl.git
cd liblsl && cmake -S . -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE=cmake/LSLCMake.cmake
. Confirm detected architecture: amd64, as below:sudo cmake --build build -j --config Release --target install
. Lib installed as expected:objdump -f /usr/local/lib/liblsl.so