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

OpenBLAS compile error on Raspberry #8

Closed
GuidoBartoli opened this issue Dec 15, 2021 · 7 comments
Closed

OpenBLAS compile error on Raspberry #8

GuidoBartoli opened this issue Dec 15, 2021 · 7 comments
Labels
build-issue Issues related to building and compiling the code

Comments

@GuidoBartoli
Copy link

Hi, I am trying to compile and run HybVIO on a Raspberry Pi 4 with 4 GB of RAM running Debian Bullseye with no desktop environment (Raspberry Pi OS Lite 32-bit).

These are the steps I followed:

  1. sudo apt update && sudo apt upgrade && sudo apt autoremove
  2. sudo apt install clang libc++-dev libgtk2.0-dev libgstreamer1.0-dev libvtk6-dev libavresample-dev libglfw3-dev libglfw3 libglew-dev libxkbcommon-dev cmake git ffmpeg (I was unable to install glfw package, is it supported on Pi?)
  3. git clone https://github.com/SpectacularAI/HybVIO.git --recursive
  4. cd HybVIO/3rdparty/mobile-cv-suite
  5. ./scripts/build.sh

And this is the received error:

CMake Warning (dev) at CMakeLists.txt:135 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "HASWELL" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Reading vars from /home/pi/HybVIO/3rdparty/mobile-cv-suite/OpenBLAS/kernel/arm/KERNEL...
-- Reading vars from /home/pi/HybVIO/3rdparty/mobile-cv-suite/OpenBLAS/kernel/arm/KERNEL.HASWELL...
CMake Error at cmake/utils.cmake:20 (file):
  file STRINGS file
  "/home/pi/HybVIO/3rdparty/mobile-cv-suite/OpenBLAS/kernel/arm/KERNEL.HASWELL"
  cannot be read.
Call Stack (most recent call first):
  kernel/CMakeLists.txt:16 (ParseMakefileVars)
  kernel/CMakeLists.txt:863 (build_core)

Is it something relative to a specific version of CMake that must be used to compile this project?
And furthermore, is there a specific guide available on how to compile HybVIO on Raspberry and parameter optimizations to make it run in real time?

Thanks

@oseiskar
Copy link
Member

Hello! Please update the Pi to a 64-bit operating system (like Ubuntu 20+). 32-bit builds are not supported

@oseiskar
Copy link
Member

oseiskar commented Dec 15, 2021

Regarding GLFW, a non-GUI build mode with less dependencies is also available:

  • mobile-cv-suite: cd 3rdparty/mobile-cv-suite && BUILD_VISUALIZATIONS=OFF ./scripts/build.sh
  • HybVIO CMake: cmake -DBUILD_VISUALIZATIONS=OFF -DUSE_SLAM=ON ..

... or completely without OpenGL acceleration:

  • cd 3rdparty/mobile-cv-suite && WITH_OPENGL=OFF BUILD_VISUALIZATIONS=OFF ./scripts/build.sh
  • cmake -DBUILD_VISUALIZATIONS=OFF -DBUILD_WITH_GPU=OFF -DUSE_SLAM=ON ..

@GuidoBartoli
Copy link
Author

Hello! Please update the Pi to a 64-bit operating system (like Ubuntu 20+). 32-bit builds are not supported
Thanks for the reply.

Is Debian Bullseye 64-bit Lite suitable too, or is Ubuntu 64-bit with window environment necessary?

@GuidoBartoli
Copy link
Author

Regarding GLFW, a non-GUI build mode with less dependencies is also available:

  • mobile-cv-suite: cd 3rdparty/mobile-cv-suite && BUILD_VISUALIZATIONS=OFF ./scripts/build.sh
  • HybVIO CMake: cmake -DBUILD_VISUALIZATIONS=OFF -DUSE_SLAM=ON ..

... or completely without OpenGL acceleration:

  • cd 3rdparty/mobile-cv-suite && WITH_OPENGL=OFF BUILD_VISUALIZATIONS=OFF ./scripts/build.sh
  • cmake -DBUILD_VISUALIZATIONS=OFF -DBUILD_WITH_GPU=OFF -DUSE_SLAM=ON ..

Ok, thanks

@oseiskar
Copy link
Member

Hello! Please update the Pi to a 64-bit operating system (like Ubuntu 20+). 32-bit builds are not supported
Thanks for the reply.

Is Debian Bullseye 64-bit Lite suitable too, or is Ubuntu 64-bit with window environment necessary?

We haven't tested on 64-bit Debian on Rasberry Pi, but there's no reason to suspect the build would not work, especially if you build without GL & visualizations

@GuidoBartoli
Copy link
Author

Ok, thanks.
In a window-less environment, is it also possible to store SLAM results in order to inspect them later offline instead of visualizing in real-time?

@oseiskar
Copy link
Member

Ok, thanks. In a window-less environment, is it also possible to store SLAM results in order to inspect them later offline instead of visualizing in real-time?

Not directly supported in this codebase, but you can run the same input data through the system in both a window-less and a graphical environment. The results are not guaranteed to be identical on different processors but they are probably quite close

@oseiskar oseiskar mentioned this issue Jan 12, 2022
@oseiskar oseiskar added the build-issue Issues related to building and compiling the code label Oct 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build-issue Issues related to building and compiling the code
Projects
None yet
Development

No branches or pull requests

2 participants