Compiling older releases from repo

I’m trying to compile Arduplane 3.9.7, source code zip file downloaded from, and I get this error:

python: can’t open file ‘/cygdrive/c/Users/Usuario/Downloads/ardupilot-ArduPlane-3.9.7/ardupilot-ArduPlane-3.9.7/modules/waf/waf-light’: [Errno 2] No such file or directory
Missing waf submodule. Trying to get it
fatal: no es un repositorio git ( o ningún padre en el punto de montado /cygdrive)
Parando en el límite del sistema de archivos (GIT_DISCOVERY_ACROSS_FILESYSTEM no establecido).
Could not update submodule

If I extecute “git submodule update --init --recursive” I also get this error:

fatal: no es un repositorio git ( o ningún padre en el punto de montado /cygdrive)
Parando en el límite del sistema de archivos (GIT_DISCOVERY_ACROSS_FILESYSTEM no establecido).

However, if I clone the repo, update the submodules and cofigure target and bulid plane with waf, I do it with success.

I made some changes to FrSky Passthrough telemetry protocol, and would like to add it to that version of the firmware (3.9.7), which is running well on my Nimbus 1800 VTOL aircraft.


yes that is normal, we rely on git for many things, so only downloading the zip from github won’t work.

Any other helpful comment? Thanks so much.

I tried several things, like downloading submodules source code from github. I can donfigure the board, but while compiling I get some errors.

I also tried to clone the repo, and did a git checkout to commit number 6a3513fb0e566e997cbfece867d8162df0472989

And also I updated submodules.

waf configure process seems to end ok, bat ./waf plane command produces this message after serveral errors about missin files:

Broken revdeps detected on set([
{task 7696390817504: generate_bin arduplane -> arduplane.bin},
{task 7696390817384: cxxprogram AP_Arming.cpp.28.o,ArduPlane.cpp.28.o,Attitude.cpp.28.o,GCS_Mavlink.cpp.28.o,GCS_Plane.cpp.28.o,Log.cpp.28.o,Parameters.cpp.28.o,Plane.cpp.28.o,afs_plane.cpp.28.o,altitude.cpp.28.o,avoidance_adsb.cpp.28.o,capabilities.cpp.28.o,commands.cpp.28.o,commands_logic.cpp.28.o,control_modes.cpp.28.o,events.cpp.28.o,failsafe.cpp.28.o,geofence.cpp.28.o,is_flying.cpp.28.o,motor_test.cpp.28.o,navigation.cpp.28.o,parachute.cpp.28.o,px4_mixer.cpp.28.o,quadplane.cpp.28.o,radio.cpp.28.o,sensors.cpp.28.o,servos.cpp.28.o,soaring.cpp.28.o,system.cpp.28.o,tailsitter.cpp.28.o,takeoff.cpp.28.o,tiltrotor.cpp.28.o,tuning.cpp.28.o,version.cpp.28.o -> arduplane},
{task 7696390817624: generate_apj arduplane.bin -> arduplane.apj}])

I got it, these are the steps I followed:

clone git repo (latest)

git clone

cd ardupilot

update submodules

git submodule update --init --recursive

move index HEAD to 3.9.7 release last commit

git checkout 6a3513fb0e566e997cbfece867d8162df0472989

update again in order to get submodules versions used on release 3.9.7

git submodule update --init --recursive

configure for desired board (Pixhawk1)

./waf configure --board Pixhawk1 --no-submodule-update

bulid ArduPlane

./waf plane

Build finish with this summary:

Build directory: /cygdrive/c/Users/Usuario/Downloads/ardupilot/build/Pixhawk1
Target Text Data BSS Total

bin/arduplane 947392 3940 193304 1144636
Build commands will be stored in build/Pixhawk1/compile_commands.json
‘plane’ finished successfully (1m43.486s)