Botspot / pi-apps

Raspberry Pi App Store for Open Source Projects
GNU General Public License v3.0
1.93k stars 207 forks source link

Error while loading shared libraries for Stunt Rally #2125

Open Boblet67 opened 2 years ago

Boblet67 commented 2 years ago

Confirmations

What happened?

Running "stuntrally" gives an error.

Description

After I install Stunt Rally, when I type "stuntrally" in the terminal I get this: stuntrally: error while loading shared libraries: libboost_system.so.1.67.0: cannot open shared object file: No such file or directory

Any help would be helpful.

What is your operating system?

Raspberry Pi Bullseye 64 bit

github-actions[bot] commented 2 years ago

Hello there 👋 Thanks for submitting your first issue to the Pi-Apps project! We'll try to get back to you as soon as possible. In the meantime, we encourage you join our Discord server, where you can ask any questions you might have.

Boblet67 commented 2 years ago

I have just found out its not just this that doesn't work other scripts on my raspberry pi don't work. Sorry but anyone know how to solve this issue?

Itai-Nelken commented 1 year ago

Can you send the output of apt search libboost* please?

Boblet67 commented 1 year ago

Can you send the output of apt search libboost* please?

I got:

Sorting... Done
Full Text Search... Done
libboost-all-dev/stable 1.74.0.3 arm64
  Boost C++ Libraries development files (ALL) (default version)

libboost-atomic-dev/stable 1.74.0.3 arm64
  atomic data types, operations, and memory ordering constraints (default version)

libboost-atomic1.74-dev/stable,now 1.74.0-9 arm64 [installed,automatic]
  atomic data types, operations, and memory ordering constraints

libboost-atomic1.74.0/stable,now 1.74.0-9 arm64 [installed,automatic]
  atomic data types, operations, and memory ordering constraints

libboost-chrono-dev/stable 1.74.0.3 arm64
  C++ representation of time duration, time point, and clocks (default version)

libboost-chrono1.74-dev/stable,now 1.74.0-9 arm64 [installed,automatic]
  C++ representation of time duration, time point, and clocks

libboost-chrono1.74.0/stable,now 1.74.0-9 arm64 [installed,automatic]
  C++ representation of time duration, time point, and clocks

libboost-container-dev/stable 1.74.0.3 arm64
  C++ library that implements several well-known containers - dev files (default version)

libboost-container1.74-dev/stable 1.74.0-9 arm64
  C++ library that implements several well-known containers - dev files

libboost-container1.74.0/stable 1.74.0-9 arm64
  C++ library that implements several well-known containers

libboost-context-dev/stable 1.74.0.3 arm64
  provides a sort of cooperative multitasking on a single thread (default version)

libboost-context1.74-dev/stable 1.74.0-9 arm64
  provides a sort of cooperative multitasking on a single thread

libboost-context1.74.0/stable 1.74.0-9 arm64
  provides a sort of cooperative multitasking on a single thread

libboost-contract-dev/stable 1.74.0.3 arm64
  Contract library for C++ - dev files (default version)

libboost-contract1.74-dev/stable 1.74.0-9 arm64
  Contract library for C++ - dev files

libboost-contract1.74.0/stable 1.74.0-9 arm64
  Contract library for C++

libboost-coroutine-dev/stable 1.74.0.3 arm64
  provides a sort of cooperative multitasking on a single thread (default version)

libboost-coroutine1.74-dev/stable 1.74.0-9 arm64
  provides a sort of cooperative multitasking on a single thread

libboost-coroutine1.74.0/stable 1.74.0-9 arm64
  provides a sort of cooperative multitasking on a single thread

libboost-date-time-dev/stable 1.74.0.3 arm64
  set of date-time libraries based on generic programming concepts (default version)

libboost-date-time1.74-dev/stable,now 1.74.0-9 arm64 [installed,automatic]
  set of date-time libraries based on generic programming concepts

libboost-date-time1.74.0/stable,now 1.74.0-9 arm64 [installed,automatic]
  set of date-time libraries based on generic programming concepts

libboost-dev/stable,now 1.74.0.3 arm64 [installed,automatic]
  Boost C++ Libraries development files (default version)

libboost-doc/stable,stable 1.74.0.3 all
  Boost.org libraries documentation placeholder (default version)

libboost-exception-dev/stable 1.74.0.3 arm64
  library to help write exceptions and handlers (default version)

libboost-exception1.74-dev/stable 1.74.0-9 arm64
  library to help write exceptions and handlers

libboost-fiber-dev/stable 1.74.0.3 arm64
  cooperatively-scheduled micro-/userland-threads (default version)

libboost-fiber1.74-dev/stable 1.74.0-9 arm64
  cooperatively-scheduled micro-/userland-threads

libboost-fiber1.74.0/stable 1.74.0-9 arm64
  cooperatively-scheduled micro-/userland-threads

libboost-filesystem-dev/stable,now 1.74.0.3 arm64 [installed,automatic]
  filesystem operations (portable paths, iteration over directories, etc) in C++ (default version)

libboost-filesystem1.74-dev/stable,now 1.74.0-9 arm64 [installed,automatic]
  filesystem operations (portable paths, iteration over directories, etc) in C++

libboost-filesystem1.74.0/stable,now 1.74.0-9 arm64 [installed,automatic]
  filesystem operations (portable paths, iteration over directories, etc) in C++

libboost-geometry-utils-perl/stable 0.15-2+b9 arm64
  Perl module providing bindings to the Boost Geometry library

libboost-graph-dev/stable 1.74.0.3 arm64
  generic graph components and algorithms in C++ (default version)

libboost-graph-parallel-dev/stable 1.74.0.3 arm64
  generic graph components and algorithms in C++ (default version)

libboost-graph-parallel1.74-dev/stable 1.74.0-9 arm64
  generic graph components and algorithms in C++

libboost-graph-parallel1.74.0/stable 1.74.0-9 arm64
  generic graph components and algorithms in C++

libboost-graph1.74-dev/stable 1.74.0-9 arm64
  generic graph components and algorithms in C++

libboost-graph1.74.0/stable 1.74.0-9 arm64
  generic graph components and algorithms in C++

libboost-iostreams-dev/stable 1.74.0.3 arm64
  Boost.Iostreams Library development files (default version)

libboost-iostreams1.74-dev/stable 1.74.0-9 arm64
  Boost.Iostreams Library development files

libboost-iostreams1.74.0/stable,now 1.74.0-9 arm64 [installed,automatic]
  Boost.Iostreams Library

libboost-locale-dev/stable 1.74.0.3 arm64
  C++ facilities for localization (default version)

libboost-locale1.74-dev/stable 1.74.0-9 arm64
  C++ facilities for localization

libboost-locale1.74.0/stable 1.74.0-9 arm64
  C++ facilities for localization

libboost-log-dev/stable 1.74.0.3 arm64
  C++ logging library (default version)

libboost-log1.74-dev/stable 1.74.0-9 arm64
  C++ logging library

libboost-log1.74.0/stable 1.74.0-9 arm64
  C++ logging library

libboost-math-dev/stable 1.74.0.3 arm64
  Boost.Math Library development files (default version)

libboost-math1.74-dev/stable 1.74.0-9 arm64
  Boost.Math Library development files

libboost-math1.74.0/stable 1.74.0-9 arm64
  Boost.Math Library

libboost-mpi-dev/stable 1.74.0.3 arm64
  C++ interface to the Message Passing Interface (MPI) (default version)

libboost-mpi-python-dev/stable 1.74.0.3 arm64
  C++ interface to the Message Passing Interface (MPI), Python Bindings (default version)

libboost-mpi-python1.74-dev/stable 1.74.0-9 arm64
  C++ interface to the Message Passing Interface (MPI), Python Bindings

libboost-mpi-python1.74.0/stable 1.74.0-9 arm64
  C++ interface to the Message Passing Interface (MPI), Python Bindings

libboost-mpi1.74-dev/stable 1.74.0-9 arm64
  C++ interface to the Message Passing Interface (MPI)

libboost-mpi1.74.0/stable 1.74.0-9 arm64
  C++ interface to the Message Passing Interface (MPI)

libboost-nowide-dev/stable 1.74.0.3 arm64
  Standard library functions with UTF-8 API on Windows

libboost-nowide1.74-dev/stable 1.74.0-9 arm64
  Standard library functions with UTF-8 API on Windows development files

libboost-nowide1.74.0/stable 1.74.0-9 arm64
  Standard library functions with UTF-8 API on Windows

libboost-numpy-dev/stable 1.74.0.3 arm64
  Boost.Python NumPy extensions development files (default version)

libboost-numpy1.74-dev/stable 1.74.0-9 arm64
  Boost.Python NumPy extensions development files

libboost-numpy1.74.0/stable 1.74.0-9 arm64
  Boost.Python NumPy extensions

libboost-program-options-dev/stable 1.74.0.3 arm64
  program options library for C++ (default version)

libboost-program-options1.74-dev/stable 1.74.0-9 arm64
  program options library for C++

libboost-program-options1.74.0/stable,now 1.74.0-9 arm64 [installed,automatic]
  program options library for C++

libboost-python-dev/stable 1.74.0.3 arm64
  Boost.Python Library development files (default version)

libboost-python1.74-dev/stable 1.74.0-9 arm64
  Boost.Python Library development files

libboost-python1.74.0/stable 1.74.0-9 arm64
  Boost.Python Library

libboost-random-dev/stable 1.74.0.3 arm64
  Boost Random Number Library (default version)

libboost-random1.74-dev/stable 1.74.0-9 arm64
  Boost Random Number Library

libboost-random1.74.0/stable 1.74.0-9 arm64
  Boost Random Number Library

libboost-regex-dev/stable 1.74.0.3 arm64
  regular expression library for C++ (default version)

libboost-regex1.74-dev/stable 1.74.0-9 arm64
  regular expression library for C++

libboost-regex1.74.0/stable,now 1.74.0-9 arm64 [installed,automatic]
  regular expression library for C++

libboost-serialization-dev/stable 1.74.0.3 arm64
  serialization library for C++ (default version)

libboost-serialization1.74-dev/stable,now 1.74.0-9 arm64 [installed,automatic]
  serialization library for C++

libboost-serialization1.74.0/stable,now 1.74.0-9 arm64 [installed,automatic]
  serialization library for C++

libboost-stacktrace-dev/stable 1.74.0.3 arm64
  library to capture and print stack traces - development files (default version)

libboost-stacktrace1.74-dev/stable 1.74.0-9 arm64
  library to capture and print stack traces - development files

libboost-stacktrace1.74.0/stable 1.74.0-9 arm64
  library to capture and print stack traces

libboost-system-dev/stable,now 1.74.0.3 arm64 [installed,automatic]
  Operating system (e.g. diagnostics support) library (default version)

libboost-system1.74-dev/stable,now 1.74.0-9 arm64 [installed,automatic]
  Operating system (e.g. diagnostics support) library

libboost-system1.74.0/stable,now 1.74.0-9 arm64 [installed,automatic]
  Operating system (e.g. diagnostics support) library

libboost-test-dev/stable 1.74.0.3 arm64
  components for writing and executing test suites (default version)

libboost-test1.74-dev/stable 1.74.0-9 arm64
  components for writing and executing test suites

libboost-test1.74.0/stable 1.74.0-9 arm64
  components for writing and executing test suites

libboost-thread-dev/stable,now 1.74.0.3 arm64 [installed,automatic]
  portable C++ multi-threading (default version)

libboost-thread1.74-dev/stable,now 1.74.0-9 arm64 [installed,automatic]
  portable C++ multi-threading

libboost-thread1.74.0/stable,now 1.74.0-9 arm64 [installed,automatic]
  portable C++ multi-threading

libboost-timer-dev/stable 1.74.0.3 arm64
  C++ wall clock and CPU process timers (default version)

libboost-timer1.74-dev/stable 1.74.0-9 arm64
  C++ wall clock and CPU process timers

libboost-timer1.74.0/stable 1.74.0-9 arm64
  C++ wall clock and CPU process timers

libboost-tools-dev/stable 1.74.0.3 arm64
  Boost C++ Libraries development tools (default version)

libboost-type-erasure-dev/stable 1.74.0.3 arm64
  C++ runtime polymorphism based on concepts (default version)

libboost-type-erasure1.74-dev/stable 1.74.0-9 arm64
  C++ runtime polymorphism based on concepts

libboost-type-erasure1.74.0/stable 1.74.0-9 arm64
  C++ runtime polymorphism based on concepts

libboost-wave-dev/stable,now 1.74.0.3 arm64 [installed,automatic]
  C99/C++ preprocessor library (default version)

libboost-wave1.74-dev/stable,now 1.74.0-9 arm64 [installed,automatic]
  C99/C++ preprocessor library

libboost-wave1.74.0/stable,now 1.74.0-9 arm64 [installed,automatic]
  C99/C++ preprocessor library

libboost1.74-all-dev/stable 1.74.0-9 arm64
  Boost C++ Libraries development files (ALL)

libboost1.74-dev/stable,now 1.74.0-9 arm64 [installed,automatic]
  Boost C++ Libraries development files

libboost1.74-doc/stable,stable 1.74.0-9 all
  Boost.org libraries documentation placeholder

libboost1.74-tools-dev/stable 1.74.0-9 arm64
  Boost C++ Libraries development tools

r-cran-bh/stable,stable 1.74.0-1 all
  (Virtual) GNU R package to provide BH
Boblet67 commented 1 year ago

I have also just reinstalled Bullseye OS (64bit). All I have done is moved a few files (like the Download and Documents folder) from the old system onto the new and installed Pi Apps and Stunt Rally. I did stuntrally again and got the same result.

Itai-Nelken commented 1 year ago

That is really weird! You seem to have libboost 1.74 while the stuntrally build requires at least v1.67 which means that it should work. Can you send the output of find /usr/lib -name libboost* please?

Boblet67 commented 1 year ago

Thanks for the help by the way. The output is:

/usr/lib/aarch64-linux-gnu/libboost_serialization.a
/usr/lib/aarch64-linux-gnu/libboost_atomic.a
/usr/lib/aarch64-linux-gnu/libboost_filesystem.so.1.74.0
/usr/lib/aarch64-linux-gnu/libboost_chrono.a
/usr/lib/aarch64-linux-gnu/libboost_serialization.so
/usr/lib/aarch64-linux-gnu/libboost_wserialization.so
/usr/lib/aarch64-linux-gnu/libboost_wserialization.a
/usr/lib/aarch64-linux-gnu/libboost_system.so
/usr/lib/aarch64-linux-gnu/cmake/boost_date_time-1.74.0/libboost_date_time-variant-static.cmake
/usr/lib/aarch64-linux-gnu/cmake/boost_date_time-1.74.0/libboost_date_time-variant-shared.cmake
/usr/lib/aarch64-linux-gnu/cmake/boost_serialization-1.74.0/libboost_serialization-variant-static.cmake
/usr/lib/aarch64-linux-gnu/cmake/boost_serialization-1.74.0/libboost_serialization-variant-shared.cmake
/usr/lib/aarch64-linux-gnu/cmake/boost_atomic-1.74.0/libboost_atomic-variant-static.cmake
/usr/lib/aarch64-linux-gnu/cmake/boost_atomic-1.74.0/libboost_atomic-variant-shared.cmake
/usr/lib/aarch64-linux-gnu/cmake/boost_thread-1.74.0/libboost_thread-variant-static.cmake
/usr/lib/aarch64-linux-gnu/cmake/boost_thread-1.74.0/libboost_thread-variant-shared.cmake
/usr/lib/aarch64-linux-gnu/cmake/boost_wave-1.74.0/libboost_wave-variant-static.cmake
/usr/lib/aarch64-linux-gnu/cmake/boost_wave-1.74.0/libboost_wave-variant-shared.cmake
/usr/lib/aarch64-linux-gnu/cmake/boost_system-1.74.0/libboost_system-variant-shared.cmake
/usr/lib/aarch64-linux-gnu/cmake/boost_system-1.74.0/libboost_system-variant-static.cmake
/usr/lib/aarch64-linux-gnu/cmake/boost_wserialization-1.74.0/libboost_wserialization-variant-shared.cmake
/usr/lib/aarch64-linux-gnu/cmake/boost_wserialization-1.74.0/libboost_wserialization-variant-static.cmake
/usr/lib/aarch64-linux-gnu/cmake/boost_chrono-1.74.0/libboost_chrono-variant-static.cmake
/usr/lib/aarch64-linux-gnu/cmake/boost_chrono-1.74.0/libboost_chrono-variant-shared.cmake
/usr/lib/aarch64-linux-gnu/cmake/boost_filesystem-1.74.0/libboost_filesystem-variant-shared.cmake
/usr/lib/aarch64-linux-gnu/cmake/boost_filesystem-1.74.0/libboost_filesystem-variant-static.cmake
/usr/lib/aarch64-linux-gnu/libboost_program_options.so.1.74.0
/usr/lib/aarch64-linux-gnu/libboost_system.so.1.74.0
/usr/lib/aarch64-linux-gnu/libboost_iostreams.so.1.74.0
/usr/lib/aarch64-linux-gnu/libboost_serialization.so.1.74.0
/usr/lib/aarch64-linux-gnu/libboost_wave.so
/usr/lib/aarch64-linux-gnu/libboost_regex.so.1.74.0
/usr/lib/aarch64-linux-gnu/libboost_system.a
/usr/lib/aarch64-linux-gnu/libboost_date_time.a
/usr/lib/aarch64-linux-gnu/libboost_wserialization.so.1.74.0
/usr/lib/aarch64-linux-gnu/libboost_chrono.so.1.74.0
/usr/lib/aarch64-linux-gnu/libboost_atomic.so.1.74.0
/usr/lib/aarch64-linux-gnu/libboost_wave.a
/usr/lib/aarch64-linux-gnu/libboost_thread.a
/usr/lib/aarch64-linux-gnu/libboost_chrono.so
/usr/lib/aarch64-linux-gnu/libboost_date_time.so
/usr/lib/aarch64-linux-gnu/libboost_date_time.so.1.74.0
/usr/lib/aarch64-linux-gnu/libboost_wave.so.1.74.0
/usr/lib/aarch64-linux-gnu/libboost_atomic.so
/usr/lib/aarch64-linux-gnu/libboost_thread.so
/usr/lib/aarch64-linux-gnu/libboost_filesystem.a
/usr/lib/aarch64-linux-gnu/libboost_thread.so.1.74.0
/usr/lib/aarch64-linux-gnu/libboost_filesystem.so
Itai-Nelken commented 1 year ago

Try running this: LD_LIBRARY_PATH="/usr/lib/aarch64-linux-gnu/" stuntrally.

Boblet67 commented 1 year ago

:( I get the same result.

Itai-Nelken commented 1 year ago

I have no idea what more to do. You can try compiling stunt rally and see if it works:

sudo apt install -y cmake git build-essential libboost-wave-dev libboost-system-dev libboost-filesystem-dev libboost-thread-dev libogre-1.9-dev libmygui-dev libsdl2-dev libogg-dev libvorbis-dev libenet-dev libopenal-dev libopenal-dev libbullet-dev libbullet-extras-dev
git clone --depth=1 git://github.com/stuntrally/stuntrally.git stuntrally
cd stuntrally/data
git clone --depth=1 git://github.com/stuntrally/tracks.git tracks
cd ..
mkdir build
cd build
cmake ..
make -j2
sudo make install
Boblet67 commented 1 year ago

When I run the first line I get this: E: Unable to locate package cmake git build-essential libboost-wave-dev libboost-system-dev libboost-filesystem-dev libboost-thread-dev libogre-1.9-dev libmygui-dev libsdl2-dev libogg-dev libvorbis-dev libenet-dev libopenal-dev libopenal-dev libbullet-dev libbullet-extras-dev

Boblet67 commented 1 year ago

Is anyone else getting this problem?

Itai-Nelken commented 1 year ago

When I run the first line I get this: E: Unable to locate package cmake git build-essential libboost-wave-dev libboost-system-dev libboost-filesystem-dev libboost-thread-dev libogre-1.9-dev libmygui-dev libsdl2-dev libogg-dev libvorbis-dev libenet-dev libopenal-dev libopenal-dev libbullet-dev libbullet-extras-dev

Oops, I accidentally added double quotes. I edited the comment with the instructions, try again.

theofficialgman commented 1 year ago

That is really weird! You seem to have libboost 1.74 while the stuntrally build requires at least v1.67 which means that it should work. Can you send the output of find /usr/lib -name libboost* please?

it isn't at least @Itai-Nelken it is exactly that version when building packages/binaries that link against boost, it links against that particular version the pacakge appears to have been built on buster and is only compatible with buster's boost version, hence why it doesn't work on bullseye

You will need to look into either: A: building stuntrally statically with boot built into the binary (not dynamically linked). You can always run a ldd binaryname to see what the binary ends up linking to afterwards or B: build stuntrally for bullseye in addition to buster and host separate debs for each version

Boblet67 commented 1 year ago

Sorry I havent been replying.

I have no idea what more to do. You can try compiling stunt rally and see if it works:

sudo apt install -y cmake git build-essential libboost-wave-dev libboost-system-dev libboost-filesystem-dev libboost-thread-dev libogre-1.9-dev libmygui-dev libsdl2-dev libogg-dev libvorbis-dev libenet-dev libopenal-dev libopenal-dev libbullet-dev libbullet-extras-dev
git clone --depth=1 git://github.com/stuntrally/stuntrally.git stuntrally
cd stuntrally/data
git clone --depth=1 git://github.com/stuntrally/tracks.git tracks
cd ..
mkdir build
cd build
cmake ..
make -j2
sudo make install

It failed cmake ..

And theofficialgman can you explain thurther?

Boblet67 commented 1 year ago

Can anyone check if this happens for everyone on a new install?

theofficialgman commented 1 year ago

And theofficialgman can you explain thurther?

I have already fully explained. the issue is the binary was built by someone on debian buster, which has boost 1.67 and will only run if the user has boot 1.67 on their system. nothing else will work.

itai needs to rebuild on bullseye as well or build statically as I said