Appimage or installer for arm?
Hi, is there any support for installing Groot on arm based systems. The appimages i found are for x86. Or how can I proceed from building the soure code and getting the UI set up?
I tried the following on an ARM machine (M1 Mac), both in a docker container as well as in a full ubuntu VM using UTM with virtualization.
First, I installed basic dependencies:
sudo apt-get update && sudo apt-get install git build-essential cmake python3
then installed specific dependencies:
sudo apt install qtbase5-dev libqt5svg5-dev libzmq3-dev libdw-dev
then I tried to follow #156:
sudo git clone https://github.com/BehaviorTree/Groot.git
cd Groot
sudo git submodule update --init --recursive
cd depend/BehaviorTree.CPP
sudo mkdir build; cd build
sudo cmake ..
sudo make
sudo make install
cd ../../../
sudo mkdir build; cd build
sudo cmake ..
which worked fine but now at the last step
sudo make
I get the following error:
[ 72%] Linking CXX shared library libbehavior_tree_editor.so
/usr/bin/ld: cannot find -lcurses: No such file or directory
/usr/bin/ld: cannot find -lncursesw: No such file or directory
/usr/bin/ld: cannot find -ltinfo: No such file or directory
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/behavior_tree_editor.dir/build.make:345: libbehavior_tree_editor.so] Error 1
make[1]: *** [CMakeFiles/Makefile2:175: CMakeFiles/behavior_tree_editor.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
I don't know how to fix that. The libraries are mentioned as dependencies in the CMakeLists.txt so I don't know what is going on here. Not sure though if that is an ARM specific issue.
Have you installed those libraries? It's probably these or some version of them
sudo apt install libtinfo-dev libncurses5-dev libncursesw5-dev
Sharing Dockerfile that worked out on arm64 for me:
FROM ubuntu:jammy
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y -q \
git \
build-essential \
cmake \
python3 \
qtbase5-dev \
libqt5svg5-dev \
libzmq3-dev \
libdw-dev \
libtinfo-dev \
libncurses5-dev \
libncursesw5-dev
RUN git clone https://github.com/BehaviorTree/Groot.git &&\
cd Groot &&\
git submodule update --init --recursive &&\
cd depend/BehaviorTree.CPP &&\
mkdir build ; cd build &&\
cmake .. &&\
make &&\
make install &&\
cd /Groot &&\
mkdir build; cd build &&\
cmake .. &&\
make &&\
# add alias for Groot GUI (simply type "Groot" in terminal)
echo 'alias Groot="cd /Groot/build && ./Groot"' >> ~/.bashrc
# fixes: "error while loading shared libraries: libbehaviortree_cpp_v3.so: cannot open shared object"
RUN ldconfig
WORKDIR /Groot/build
CMD ./Groot