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

olad is looking in the wrong location for libolaserver.so.0 #1956

Open
rainfay opened this issue Mar 31, 2024 · 1 comment
Open

olad is looking in the wrong location for libolaserver.so.0 #1956

rainfay opened this issue Mar 31, 2024 · 1 comment

Comments

@rainfay
Copy link

rainfay commented Mar 31, 2024

System info :
rainfay@port:~/ola-0.10.9/olad$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 11 (bullseye)
Release:        11
Codename:       bullseye
--- GCC info ----
rainfay@port:~/ola-0.10.9/olad$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/10/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa:hsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 10.2.1-6' --with-bugurl=file:///usr/share/doc/gcc-10/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-10 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-10-Km9U7s/gcc-10-10.2.1/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-10-Km9U7s/gcc-10-10.2.1/debian/tmp-gcn/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-mutex
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 10.2.1 20210110 (Debian 10.2.1-6)
rainfay@port:~/ola-0.10.9/olad$

Okay issue description 
Fresh build 
After running 
#make all 
#sudo make install 
then running the olad command via 
root@port:~# olad
olad: error while loading shared libraries: libolaserver.so.0: cannot open shared object file: No such file or directory
root@port:~#

vs running the following in the build  directory which works 
rainfay@port:~/ola-0.10.9/olad$ ./olad
common/io/IOUtils.cpp:39: open(/dev/dmx0): No such file or directory
plugins/opendmx/OpenDmxPlugin.cpp:80: Could not open /dev/dmx0 No such file or directory
common/io/IOUtils.cpp:39: open(/dev/kldmx0): No such file or directory
plugins/karate/KaratePlugin.cpp:79: Could not open /dev/kldmx0 No such file or directory
plugins/pathport/PathportNode.cpp:164: Pathport packet too small to fit a pdu header
plugins/pathport/PathportNode.cpp:164: Pathport packet too small to fit a pdu header
^Crainfay@port:~/ola-0.10.9/olad$
 
Attached the following straces 
 
[strace OLAD.txt](https://github.com/OpenLightingProject/ola/files/14814640/strace.OLAD.txt)
Running the non working command 
[straceinsrc.txt](https://github.com/OpenLightingProject/ola/files/14814641/straceinsrc.txt)
Running the working command 

Looking at the non working strace.
It searches for libolaserver.so.0 in a lot of locations then gives up at ...

openat(AT_FDCWD, "/usr/lib/libolaserver.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)


running a find command 
root@port:~# find /usr/  -type f -name "libolaserver*"
/usr/local/lib/libolaserverplugininterface.a
/usr/local/lib/libolaserver.so.0.0.0
/usr/local/lib/pkgconfig/libolaserver.pc
/usr/local/lib/libolaserver.la
/usr/local/lib/libolaserver.a
/usr/local/lib/libolaserverplugininterface.la
/usr/local/lib/libolaserverplugininterface.so.0.0.0
---
The location the program is looking for the library is the wrong location.

vs the working strace 
openat(AT_FDCWD, "/home/rainfay/ola-0.10.9/olad/.libs/tls/x86_64/x86_64/libolaserver.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/home/rainfay/ola-0.10.9/olad/.libs/tls/x86_64/x86_64", 0x7fff7e1937e0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/rainfay/ola-0.10.9/olad/.libs/tls/x86_64/libolaserver.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/home/rainfay/ola-0.10.9/olad/.libs/tls/x86_64", 0x7fff7e1937e0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/rainfay/ola-0.10.9/olad/.libs/tls/x86_64/libolaserver.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/home/rainfay/ola-0.10.9/olad/.libs/tls/x86_64", 0x7fff7e1937e0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/rainfay/ola-0.10.9/olad/.libs/tls/libolaserver.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/home/rainfay/ola-0.10.9/olad/.libs/tls", 0x7fff7e1937e0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/rainfay/ola-0.10.9/olad/.libs/x86_64/x86_64/libolaserver.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/home/rainfay/ola-0.10.9/olad/.libs/x86_64/x86_64", 0x7fff7e1937e0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/rainfay/ola-0.10.9/olad/.libs/x86_64/libolaserver.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/home/rainfay/ola-0.10.9/olad/.libs/x86_64", 0x7fff7e1937e0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/rainfay/ola-0.10.9/olad/.libs/x86_64/libolaserver.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/home/rainfay/ola-0.10.9/olad/.libs/x86_64", 0x7fff7e1937e0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/rainfay/ola-0.10.9/olad/.libs/libolaserver.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\217\4\0\0\0\0\0"..., 832) = 832

Looks in the same directory structure and finds it... 






@rainfay
Copy link
Author

rainfay commented Mar 31, 2024

Looking at the makefile... my best guess is the default value in $(libdir) does not line up with where Gcc is saying where the program can find the library on the system.

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

No branches or pull requests

1 participant