# How to Build mavsdk_server from new source

Source: https://forum.modalai.com/topic/931/how-to-build-mavsdk_server-from-new-source
Category: General Questions (https://forum.modalai.com/category/2/general-questions)
Posted: 2022-05-12 06:55:45 UTC by PIRON PI
Replies: 11 · Views: 2489

## PIRON PI · 2022-05-12 06:55:45 UTC

Hi, I download a new version of mavsdk.
But New mavsdk needs cmake version 3.13 or later.
I try to use voxl-emulator or gcr.io/modalai-public/voxl-mavsdk-cpp:v1.0, but their cmake are too old.
Is there a way to build new version of mavsdk?

## Reply by Eric Katzfey (ModalAI staff) · 2022-05-12 21:27:48 UTC

@PIRON-PI You can get release binaries, for example: https://github.com/mavlink/MAVSDK/releases/download/v0.43.0/mavsdk_server_linux-arm64-musl

## Reply by PIRON PI · 2022-05-13 02:26:33 UTC

Hi Eric, the demo code of python can work with mavsdk_server, 
but C++ demo code can't connect with mavsdk_server.
I read source code of python that assigns udp port for mavsdk_server.
C++ demo code doesn't assign udp port for mavsdk_server.
Does this cause C++ demo code doesn't work?

## Reply by Eric Katzfey (ModalAI staff) · 2022-05-13 15:25:34 UTC (in reply to PIRON PI)

@PIRON-PI I have only worked with the python code.

## Reply by CY-1992 · 2022-05-13 21:42:25 UTC

@PIRON-PI You don't need mavsdk-server if you use C++.

## Reply by PIRON PI · 2022-05-15 01:06:41 UTC (in reply to CY-1992)

@CY-1992 You give me confidence .
I did it.
Thanks a lot.

## Reply by PIRON PI · 2022-05-16 02:50:07 UTC (in reply to CY-1992)

@CY-1992 I generate libmavsdk.so from instruction of mavsdk.mavlink.io,
but it can't be compatible with VOXL.
Do you know where I can get source to generate libmavsdk.so for VOXL flight Deck?

## Reply by Chad Sweet (ModalAI staff) · 2022-05-16 03:55:03 UTC

I assume you have seen [this tutorial](https://gitlab.com/voxl-public/voxl-docker-images/voxl-docker-mavsdk-cpp) since you mention the docker image

Have you tried to upgrade cmake inside the voxl-mavsdk-cpp:v1.0 docker? If cmake version is the only blocker, you should be able to upgrade it to keep moving

## Reply by PIRON PI · 2022-05-16 05:26:41 UTC (in reply to Chad Sweet)

@Chad-Sweet I try to upgrade cmake in docker, but it doesn't work.

## Reply by PIRON PI · 2022-05-16 07:54:22 UTC (in reply to Chad Sweet)

@Chad-Sweet Maybe you can offer the right version of mavsdk source. Because I use "git clone https://github.com/mavlink/MAVSDK.git". It's too new to be compatible with VOXL flight Deck.

## Reply by Guest · 2022-05-17 13:17:11 UTC

@PIRON-PI  You don't need to build mavsdk from the source if you are using it in docker on voxl. Just download the arm64 deb package and install it in the docker as shown below in Dockerfile. Try to use base image arm64v8/ubuntu:20.04. It has the latest cmake version.
```
FROM arm64v8/ubuntu:20.04
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get -y update && \
    apt-get install -y build-essential cmake git wget

WORKDIR /home
RUN wget https://github.com/mavlink/MAVSDK/releases/download/v1.4.0/libmavsdk-dev_1.4.0_debian11_arm64.deb && \
    dpkg -i libmavsdk-dev_1.4.0_debian11_arm64.deb

WORKDIR /home
#copy all your c++ files and CMakeLists.txt to home directory
COPY . .

RUN cmake -Bbuild -DCMAKE_BUILD_TYPE=Debug -H. && \
    cmake --build build -j4

```

## Reply by PIRON PI · 2022-05-17 16:25:22 UTC (in reply to Guest)

@chaitanya Sorry. My goal is that cell phone can control VOXL flight deck.
Therefore, I need a MAVSDK library( e.g. libmavsdk.so) at Android. Then I can use the library to  send command to control VOXL flight deck.
