ArduSub won't compile

When I run the submodule update command, I get a bunch of errors related to the PX4Firmware. As a result, the ‘Make’ fails too:

C:\px4\ArduSub [master]> git submodule update --init --recursive
Submodule ‘modules/PX4Firmware’ (git://github.com/ArduPilot/PX4Firmware.git) registered for path ‘modules/PX4Firmware’
Submodule ‘modules/PX4NuttX’ (git://github.com/ArduPilot/PX4NuttX.git) registered for path ‘modules/PX4NuttX’
Submodule ‘modules/gbenchmark’ (git://github.com/google/benchmark.git) registered for path ‘modules/gbenchmark’
Submodule ‘gtest’ (git://github.com/ArduPilot/googletest) registered for path ‘modules/gtest’
Submodule ‘modules/mavlink’ (git://github.com/ArduPilot/mavlink) registered for path ‘modules/mavlink’
Submodule ‘modules/uavcan’ (git://github.com/ArduPilot/uavcan.git) registered for path ‘modules/uavcan’
Submodule ‘modules/waf’ (git://github.com/ArduPilot/waf.git) registered for path ‘modules/waf’
Cloning into ‘modules/PX4Firmware’…
remote: Counting objects: 172358, done.
rRemote: Total 172358 (delta 0), reused 0 (delta 0), pack-reused 172358eceiving objects: 100% (172358/172358), 70.60 MiBReceiving objects: 100% (172358/172358)
, 74.45 MiB | 8.34 MiB/s, done.
Resolving deltas: 100% (128421/128421), done.
Checking connectivity… done
remote: Counting objects: 2827, done.
remote: Compressing objects: 100% (2/2), done.
d 1329
Receiving objects: 100% (2827/2827), 592.77 KiB | 0 bytes/s, done.
Resolving deltas: 100% (2010/2010), completed with 438 local objects.
From git://github.com/ArduPilot/PX4Firmware

  • [new ref] refs/pull/1/head -> origin/pr/1
  • [new ref] refs/pull/10/head -> origin/pr/10
  • [new ref] refs/pull/11/head -> origin/pr/11
  • [new ref] refs/pull/12/head -> origin/pr/12
  • [new ref] refs/pull/13/head -> origin/pr/13
  • [new ref] refs/pull/14/head -> origin/pr/14
  • [new ref] refs/pull/15/head -> origin/pr/15
  • [new ref] refs/pull/16/head -> origin/pr/16
  • [new ref] refs/pull/17/head -> origin/pr/17
  • [new ref] refs/pull/18/head -> origin/pr/18
  • [new ref] refs/pull/19/head -> origin/pr/19
  • [new ref] refs/pull/2/head -> origin/pr/2
  • [new ref] refs/pull/20/head -> origin/pr/20
  • [new ref] refs/pull/21/head -> origin/pr/21
  • [new ref] refs/pull/22/head -> origin/pr/22
  • [new ref] refs/pull/23/head -> origin/pr/23
  • [new ref] refs/pull/24/head -> origin/pr/24
  • [new ref] refs/pull/25/head -> origin/pr/25
  • [new ref] refs/pull/26/head -> origin/pr/26
  • [new ref] refs/pull/27/head -> origin/pr/27
  • [new ref] refs/pull/28/head -> origin/pr/28
  • [new ref] refs/pull/29/head -> origin/pr/29
  • [new ref] refs/pull/3/head -> origin/pr/3
  • [new ref] refs/pull/30/head -> origin/pr/30
  • [new ref] refs/pull/31/head -> origin/pr/31
  • [new ref] refs/pull/32/head -> origin/pr/32
  • [new ref] refs/pull/33/head -> origin/pr/33
  • [new ref] refs/pull/34/head -> origin/pr/34
  • [new ref] refs/pull/35/head -> origin/pr/35
  • [new ref] refs/pull/36/head -> origin/pr/36
  • [new ref] refs/pull/37/head -> origin/pr/37
  • [new ref] refs/pull/38/head -> origin/pr/38
  • [new ref] refs/pull/39/head -> origin/pr/39
  • [new ref] refs/pull/4/head -> origin/pr/4
  • [new ref] refs/pull/40/head -> origin/pr/40
  • [new ref] refs/pull/41/head -> origin/pr/41
  • [new ref] refs/pull/42/head -> origin/pr/42
  • [new ref] refs/pull/43/head -> origin/pr/43
  • [new ref] refs/pull/44/head -> origin/pr/44
  • [new ref] refs/pull/45/head -> origin/pr/45
  • [new ref] refs/pull/46/head -> origin/pr/46
  • [new ref] refs/pull/47/head -> origin/pr/47
  • [new ref] refs/pull/48/head -> origin/pr/48
  • [new ref] refs/pull/49/head -> origin/pr/49
  • [new ref] refs/pull/5/head -> origin/pr/5
  • [new ref] refs/pull/50/head -> origin/pr/50
  • [new ref] refs/pull/51/head -> origin/pr/51
  • [new ref] refs/pull/52/head -> origin/pr/52
  • [new ref] refs/pull/53/head -> origin/pr/53
  • [new ref] refs/pull/6/head -> origin/pr/6
  • [new ref] refs/pull/7/head -> origin/pr/7
  • [new ref] refs/pull/8/head -> origin/pr/8
  • [new ref] refs/pull/9/head -> origin/pr/9
    fatal: reference is not a tree: 4e5cccf67a5d25f8bb9ff87103e31ff8c0b1130b
    Cloning into ‘modules/PX4NuttX’…
    remote: Counting objects: 125543, done.
    remote: Total 125543 (delta 0), reused 0 (delta 0), pack-reused 125543Receiving objects: 100% (125543/125543), 30.07 MiB
    Receiving objects: 100% (125543/125543), 31.16 MiB | 6.99 MiB/s, done.
    Resolving deltas: 100% (102008/102008), done.
    Checking connectivity… done
    Submodule path ‘modules/PX4NuttX’: checked out ‘579e82d4567e0884f113447d255d8e8e4335ac76’
    Cloning into ‘modules/gbenchmark’…
    remote: Counting objects: 1855, done.
    Receiving objects: 10sed 18550% (1855/1855), 473.63 KiB | 0 bytes/s, done.delta 0), pack-reu)
    Resolving deltas: 0% (0/1122
    Resolving deltas: 100% (1122/1122), done.
    Checking connectivity… done
    Submodule path ‘modules/gbenchmark’: checked out ‘006d23ccca1375a973b7fae0cc351cedb41b812a’
    Cloning into ‘modules/gtest’…
    remote: Counting objects: 7141, done.
    remote: Total 7141 (delta 0), reused 0 (delta 0), pack-reused 7141
    Receiving objects: 100% (7141/7141), 2.42 MiB | 1.34 MiB/s, done.
    Resolving deltas: 100% (5324/5324), done.
    Checking connectivity… done
    Submodule path ‘modules/gtest’: checked out ‘c99458533a9b4c743ed51537e25989ea55944908’
    Cloning into ‘modules/mavlink’…
    remote: Counting objects: 13323, done.
    Rremote: Total 13323 (delta 0), reused 0 (delta 0), pack-reused 13323e
    Receiving objects: 100% (13323/13323), 5.58 MiB | 3.35 MiB/s, done.
    Resolving deltas: 100% (8853/8853), done.
    Checking connectivity… done
    Submodule path ‘modules/mavlink’: checked out ‘3a9202b10593cd55ae0532bc00d25511ad27e5cd’
    Cloning into ‘modules/uavcan’…
    remote: Counting objects: 16655, done.
    remote: Total 16655 (delta 0), reused 0 (delta 0), pack-reused 16655
    Receiving objects: 100% (16655/16655), 2.71 MiB | 1.91 MiB/s, done.
    Resolving deltas: 100% (11244/11244), done.
    Checking connectivity… done
    Submodule path ‘modules/uavcan’: checked out ‘7ce96d6c1e5aeb82fa90ade26a49552c122a984b’
    Submodule ‘dsdl’ (GitHub - OpenCyphal/public_regulated_data_types: Regulated DSDL definitions for Cyphal (standard and third-party)) registered for path ‘dsdl’
    Submodule ‘libuavcan/dsdl_compiler/pyuavcan’ (GitHub - OpenCyphal/pycyphal: Python implementation of the Cyphal protocol stack.) registered for path ‘libuavcan/dsdl_compiler/pyuavcan’
    Cloning into ‘dsdl’…
    remote: Counting objects: 515, done.
    Receiving objects: 76% (392/515) 0 (delta 0), pack-reusRed 515
    Receiving objects: 100% (515/515), 66.27 KiB | 0 bytes/s, done.
    Resolving deltas: 100% (283/283), done.
    Checking connectivity… done
    Submodule path ‘modules/uavcan/dsdl’: checked out ‘9804a3e6972825586be252ce08dd899f44994b14’
    Cloning into ‘libuavcan/dsdl_compiler/pyuavcan’…
    remote: Counting objects: 911, done.
    k-reused 911 39/911)
    Receiving objects: 100% (911/911), 176.01 KiB | 0 bytes/s, done.
    Resolving deltas: 100% (605/605), done.
    Checking connectivity… done
    Submodule path ‘modules/uavcan/libuavcan/dsdl_compiler/pyuavcan’: checked out ‘c58477a644d20ccf95a20c151f3a0402f271c3b8’
    Submodule ‘dsdl’ (GitHub - OpenCyphal/public_regulated_data_types: Regulated DSDL definitions for Cyphal (standard and third-party)) registered for path ‘dsdl’
    Cloning into ‘dsdl’…
    remote: Counting objects: 515, done.

Receiving objects: 100% (515/515), 66.27 KiB | 0 bytes/s, done.
Resolving deltas: 100% (283/283), done.
Checking connectivity… done
Submodule path ‘modules/uavcan/libuavcan/dsdl_compiler/pyuavcan/dsdl’: checked out ‘fd12483ddd4e58242d61d74a163e7aeaa1e0f466’
Cloning into ‘modules/waf’…
remote: Counting objects: 10229, done.
remote: Total 10229 (delta 0), reused 0 (delta 0), pack-reused 10229
Receiving objects: 100% (10229/10229), 2.92 MiB | 2.24 MiB/s, done.
Resolving deltas: 100% (6932/6932), done.
Checking connectivity… done
Submodule path ‘modules/waf’: checked out ‘7dee3bdb8f30398621dd3764f969903b1bc68850’
Unable to checkout ‘4e5cccf67a5d25f8bb9ff87103e31ff8c0b1130b’ in submodule path ‘modules/PX4Firmware’

Something has definitely been broken. I am not on a system where I can build right now, but you can try doing ‘git checkout master’ under ardusub/modules/PX4Firmware, then ‘make px4-v2-clean’ under ardusub/, then try to build again.

Hmm, I agree. Some thing broke even though there haven’t been new commits to master.

Not sure what’s going on here. I’m cloning a fresh repo to investigate.

-Rusty

FYI, the error has been fixed and the most recent code also changes the thruster numbering. Please see the diagrams in the documentation for updated numbering.

-Rusty

That did it!

Thanks Rusty. Now I can continue the transition of the vehicle to ArduSub. I better start ordering parts…heading to the Blue Robotics online Store!

-Ken