RNBO on Patchbox OS

The steps I took:

  1. Basic setup
    1. Installed clean Patchbox OS Bookworm ARM64 2024-04-04 image on an SD card and put it in my RPi 3B+ (I was on the bullseye based Patchbox OS before, but c74 has stopped supporting it since RNBO 1.3.0)
    2. Completed the initial wizard, set jack setting, installed puredata module and set my wifi so that I could ssh to RPi
    3. Updated installed packages
  2. rnbooscquery build steps base on source repo readme
    1. installed dependecies:
      sudo apt-get -y install cmake build-essential libavahi-compat-libdnssd-dev libssl-dev libjack-jackd2-dev libdbus-1-dev libxml2-dev libgmock-dev google-mock libsdbus-c++-dev python3-pip ruby libsndfile1-dev

    2. copied the rnbo src files from my Win machine to RPi. I have RNBO 1.4.3 installed via package manager so I took the source from %HOMEPATH%\Documents\Max 9\Packages\RNBO\source\rnbo and put it in ~/Downloads/rnbooscquery so that now I have this:

      image

    3. making the build:
      mkdir build/
      cd build/
      cmake .. -DRNBO_DIR=~/Downloads/rnbooscquery/
      cmake --build .
      cpack

    4. result:

      – The C compiler identification is GNU 12.2.0
      – The CXX compiler identification is GNU 12.2.0
      – Detecting C compiler ABI info
      – Detecting C compiler ABI info - done
      – Check for working C compiler: /usr/bin/cc - skipped
      – Detecting C compile features
      – Detecting C compile features - done
      – Detecting CXX compiler ABI info
      – Detecting CXX compiler ABI info - done
      – Check for working CXX compiler: /usr/bin/c++ - skipped
      – Detecting CXX compile features
      – Detecting CXX compile features - done
      – Configuring done
      – Generating done
      CMake Warning:
      Manually-specified variables were not used by the project:
      
      RNBO_DIR
      
      – Build files have been written to: /home/patch/Downloads/rnbooscquery/build
      CPack Error: CPack generator not specified
      

Attached is the CMakeList from the source and the CMakeOutput.log generated as a result of the above. Thank you for the help Giedrius

CMakeLists.txt (1.7 KB)

CMakeOutput.log (43.2 KB)

The source code you copied is not for rnbooscquery, but for RNBO itself, keep it as is, but do this:

cd ~
git clone https://github.com/Cycling74/rnbo.oscquery.runner
cd rnbo.oscquery.runner
mkdir build
cd build
cmake .. -DRNBO_DIR=~/Downloads/rnbooscquery/
cmake --build .
1 Like

Makes sense. Tried your suggestion, found out that conan was missing:

Cloning into 'rnbo.oscquery.runner'...
remote: Enumerating objects: 5327, done.
remote: Counting objects: 100% (252/252), done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 5327 (delta 248), reused 238 (delta 238), pack-reused 5075 (from 2)
Receiving objects: 100% (5327/5327), 1.13 MiB | 2.04 MiB/s, done.
Resolving deltas: 100% (3823/3823), done.
-- The CXX compiler identification is GNU 12.2.0
-- The C compiler identification is GNU 12.2.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Downloading conan.cmake from https://github.com/conan-io/cmake-conan
-- Conan: checking conan executable
CMake Error at build/conan.cmake:918 (message):
  Conan executable not found! Please install conan.
Call Stack (most recent call first):
  common/conan.cmake:13 (conan_check)
  CMakeLists.txt:14 (include)


-- Configuring incomplete, errors occurred!
See also "/home/patch/rnbo.oscquery.runner/build/CMakeFiles/CMakeOutput.log".
gmake: Makefile: No such file or directory
gmake: *** No rule to make target 'Makefile'.  Stop.

Installed conan (basing on the steps from the manual)
pip3 install --break-system-packages --user conan==1.61.0
, added /home/patch/.local/bin to PATH in ~/.bashrc as suggested when the conan installation completes, verified that conan works by calling it from command line.

Cleared content of the ~/rnbo.oscquery.runner/build directory and tried to make the build once more

patch@patchbox:~/rnbo.oscquery.runner $ cd build
cmake .. -DRNBO_DIR=~/Downloads/rnbooscquery/
cmake --build .
-- The CXX compiler identification is GNU 12.2.0
-- The C compiler identification is GNU 12.2.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Downloading conan.cmake from https://github.com/conan-io/cmake-conan
-- Conan: checking conan executable
-- Conan: Found program /home/patch/.local/bin/conan
-- Conan: Version found Conan version 1.61.0
-- Conan: Adding cycling-public remote repository (https://conan-public.cycling74.com) verify ssl (True)
WARN: Remotes registry file missing, creating default one in /home/patch/.conan/remotes.json
CMake Error at CMakeLists.txt:151 (find_package):
  Could not find a configuration file for package "sdbus-c++" that is
  compatible with requested version "0.8.3".

  The following configuration files were considered but not accepted:

    /usr/lib/aarch64-linux-gnu/cmake/sdbus-c++/sdbus-c++-config.cmake, version: 1.2.0
    /lib/aarch64-linux-gnu/cmake/sdbus-c++/sdbus-c++-config.cmake, version: 1.2.0

-- Configuring incomplete, errors occurred!
See also "/home/patch/rnbo.oscquery.runner/build/CMakeFiles/CMakeOutput.log".
gmake: Makefile: No such file or directory
gmake: *** No rule to make target 'Makefile'.  Stop.

I’m not entirely sure how to proceed now. CMakeOutput.log is attached below

CMakeOutput.log (43.2 KB)

Delete all the contents in ~/rnbo.oscquery.runner/build/ and try with this cmake command:

cmake .. -DRNBO_DIR=~/Downloads/rnbooscquery/ -DWITH_DBUS=Off

It should skip using the sdbus library, not sure what it is being used for exactly, peeking at the code, it has something to do with ‘Update Service’.

1 Like

I have now renamed the directory with rnbo source files for it to have a less misleading name.

I believe the sdbus is used for the rnbo-update-service that handles updates and allows for managing the rnbooscquery versions, but it only makes sense to use it if the rnbooscquery package was coming from the c74 repository, so skipping it should be fine in the case that I make the package build manually

patch@patchbox:~/rnbo.oscquery.runner/build $ cmake .. -DRNBO_DIR=~/Downloads/rnbo/ -DWITH_DBUS=Off -- The CXX compiler identification is GNU 12.2.0
-- The C compiler identification is GNU 12.2.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Downloading conan.cmake from https://github.com/conan-io/cmake-conan
-- Conan: checking conan executable
-- Conan: Found program /home/patch/.local/bin/conan
-- Conan: Version found Conan version 1.61.0
-- Conan: Adding cycling-public remote repository (https://conan-public.cycling74.com) verify ssl (True)
-- Conan: checking conan executable
-- Conan: Found program /home/patch/.local/bin/conan
-- Conan: Version found Conan version 1.61.0
-- Conan executing: /home/patch/.local/bin/conan install . --build missing --profile:host default --profile:build default --settings:host build_type=Debug --settings:build build_type=Debug
Auto detecting your dev setup to initialize the default profile (/home/patch/.conan/profiles/default)
CC and CXX: /usr/bin/cc, /usr/bin/c++
No compiler was detected (one may not be needed)
Default settings
        os=Linux
        os_build=Linux
        arch=armv8
        arch_build=armv8
        build_type=Release
ERROR: Not able to automatically detect '/usr/bin/cc' version
*** You can change them in /home/patch/.conan/profiles/default ***
*** Or override with -s compiler='other' -s ...s***

Configuration (profile_host):
[settings]
arch=armv8
arch_build=armv8
build_type=Debug
os=Linux
os_build=Linux
[options]
[build_requires]
[env]

Configuration (profile_build):
[settings]
arch=armv8
arch_build=armv8
build_type=Debug
os=Linux
os_build=Linux
[options]
[build_requires]
[env]

cpp-optparse/cci.20171104: Not found in local cache, looking in remotes...
cpp-optparse/cci.20171104: Trying with 'cycling-public'...
Downloading conanmanifest.txt
Downloading conanfile.py
Downloading conan_export.tgz
cpp-optparse/cci.20171104: Downloaded recipe revision 0
ERROR: cpp-optparse/cci.20171104: 'settings.compiler' value not defined
CMake Error at build/conan.cmake:651 (message):
  Conan install failed='1'
Call Stack (most recent call first):
  CMakeLists.txt:170 (conan_cmake_install)

-- Configuring incomplete, errors occurred!
See also "/home/patch/rnbo.oscquery.runner/build/CMakeFiles/CMakeOutput.log".

CMakeOutput.log (43.2 KB)

You have to solve the conan compiler detection issue somehow. Maybe try using the latest conan version available, or provide the config manually, see issues like these: