Groot icon indicating copy to clipboard operation
Groot copied to clipboard

Appimage or installer for arm?

Open silverfuryK opened this issue 2 years ago • 3 comments

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?

silverfuryK avatar May 25 '23 21:05 silverfuryK

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.

BizarrePenguin avatar Jun 15 '23 16:06 BizarrePenguin

Have you installed those libraries? It's probably these or some version of them

sudo apt install libtinfo-dev libncurses5-dev libncursesw5-dev

bracoe avatar Jul 20 '23 11:07 bracoe

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

jkaflik avatar Sep 21 '23 10:09 jkaflik