# flight core v2 compilation

Source: https://forum.modalai.com/topic/3931/flight-core-v2-compilation
Category: General Questions (https://forum.modalai.com/category/2/general-questions)
Posted: 2024-11-12 20:23:47 UTC by hockey_fan
Replies: 13 · Views: 1544

## hockey_fan · 2024-11-12 20:23:47 UTC

To build flight core v2 I'm following the basic instructions:

git clone -b modalai-1.13.3 https://github.com/modalai/px4-firmware.git --recursive
cd px4-firmware
make modalai_fc-v2

But when using make, I have a very large number of compile errors.  Most I've gotten through by adding missing python libraries, stm32 cross compiler, etc.  However there are still more related to missing header files.  Are there recommended version(s) for the developer toolchain that go together with this branch?  Or is there something else I'm still missing?  Thanks.

## Reply by tom (ModalAI staff) · 2024-11-12 21:23:43 UTC

@hockey_fan In order to build PX4 for FCv2 we build inside a nuttx docker container (px4io/px4-dev-nuttx-focal:2022-08-12), this is how we do it in CI: https://gitlab.com/voxl-public/voxl-sdk/ci-tools/-/blob/master/pipeline-configs/fc-px4.yml?ref_type=heads#L31

## Reply by hockey_fan · 2024-11-13 00:35:18 UTC (in reply to tom)

@tom Thanks, I have not used docker before so I'll dive in.  At the same time the instructions above are antiquated and also are pulling from a different repository than the subsequent one mentioned.  Could the instructions on building flight core v2 be updated in the future to reflect using docker and the alternate repository, thanks.

## Reply by tom (ModalAI staff) · 2024-11-13 00:36:17 UTC (in reply to hockey_fan)

@hockey_fan Can you send a link to the directions you're following?

## Reply by hockey_fan · 2024-11-13 00:40:49 UTC (in reply to tom)

@tom https://docs.modalai.com/flight-core-v2-firmware/

## Reply by tom (ModalAI staff) · 2024-11-13 00:52:29 UTC (in reply to hockey_fan)

@hockey_fan Is there a specific reason you're building the flight core firmware yourself and not loading one of our prebuilt binaries?

Since those instructions are out of date, following them will produce an out of date binary. 

The newest pre-built binary is: http://voxl-packages.modalai.com/dists/fc-v2/staging/modalai_fc-v2_1.14.0-2.0.85.px4

## Reply by hockey_fan · 2024-11-13 00:54:58 UTC (in reply to tom)

@tom I need to make modifications to the code, that's why I want to build it.

## Reply by hockey_fan · 2024-11-13 01:06:27 UTC

I'm using the flight core v2 standalone board as a development platform with PX4 before moving on to the voxl2 board environment.

## Reply by tom (ModalAI staff) · 2024-11-13 01:06:37 UTC (in reply to hockey_fan)

@hockey_fan Understood, I recommend doing your development off the tip of our branch instead of modalai-1.13.3:

https://github.com/modalai/px4-firmware/tree/voxl-dev

## Reply by hockey_fan · 2024-11-13 01:38:39 UTC (in reply to tom)

@tom Shall I use the .yml file mentioned at the first comment to build flight core v2, or is there a dockerfile in the repository that will work?

## Reply by hockey_fan · 2024-11-13 01:56:01 UTC

I am still very confused on how I should build for flight core v2, and which docker file to use.  Which is the git repository needed to get to the ci tools?  It is not included in the regular voxl-dev repository.

## Reply by tom (ModalAI staff) · 2024-11-13 19:47:26 UTC (in reply to hockey_fan)

@hockey_fan I recommend installing `voxl-docker` on your host machine, this will guide you through installing docker and the voxl-docker repo which makes building voxl packages easier.: https://docs.modalai.com/voxl-docker-and-cross-installation/#how-to-setup-voxl-docker-and-voxl-cross

Once done, you'll be able to do the following:

move into the px4-firmware directory
```
cd px4-firmware
```

Mount the directory into the docker container (the first time you run this it will download the px4-dev-nuttx-focal docker image to your host machine
```
voxl-docker -i px4io/px4-dev-nuttx-focal:2022-08-12
```

Once in the container:

```
make modalai_fc-v2
```

This will generate the px4 build at `px4-firmware/build/modalai_fc-v2_default/modalai_fc-v2_*.px4` which can be accessed inside or outside of the container

## Reply by hockey_fan · 2024-11-14 01:40:06 UTC (in reply to tom)

@tom Thanks very much, I got it working, appreciate it.

## Reply by tom (ModalAI staff) · 2024-11-14 17:32:23 UTC (in reply to hockey_fan)

@hockey_fan No problem, I'll update the docs page with this info, thank you for pointing this out
