Problem compiling RRF 3.1.1

  • Hello,
    I am trying to build from scratch in my computer the RepRapFirmware 3.0 for a Duet 3 Mainboard 6HC following the "Instructions for building dc42 fork of RepRapFirmware" from the dev branch, I am using the branches of RRF 3.X with the last update on 8 of january 2020.

    I have followed the guide step by step but I am having problems when compiling it. I build them in this order: CoreNG->FreeRTOS->RRFLibraries->CANlib->RepRapFirmware.
    Every project except RepRapFirmware are building successfully.

    These are some of the errors I encounter when building RRF v3-dev :



    Which are the correct branches I should use to build the RRF Release 3.1.1 ?

    I have compiled previous versions of RRF 3 using the "v3.01-dev" branch of RRF, but this does not work with the branches specified on the 8 th of january 2020.

    Any help is apreciated.

  • administrators

    You appear to have selected the RADDS configuration, which is no longer supported. You need to select the Duet3_v06 configuration.

  • Thanks for answering,

    You were right, I did chose wrongly the build configuration of RRF. Once I changed that, there were some other errors when compiling related with these files :

    -CANlib/src→ On the updated commit there is a file named “Duet3Common.h” and the RRF v3-dev is looking for “Duet3Limits.h”.

    -CoreNG/libraries → On the updated commit there were only 2 forlders (Flash,Wire) so the RRF v3-dev could not find “sd_mmc.h” file.

    -RRFLibraries/src/General/NumericConverter → There is a function NumericConverter::Accumulate that does not work with the function in RRF v3-dev.

    It would be nice if you could update the RRF v3-dev branch taking into account recent changes to the other projects (CANlib, CoreNG, RRFLibraries) so it works with the latest versions.

    At the end I managed to compile it. For anyone that wants to compile RRF 3.1.1 these are the branches of the projects that I have used for the Duet3 MB6HC following the BuildInstructions file with the last modification on 08-01-2020.
    The dates in brackets are the commit dates of each project that I had to use for a succesfull compilation.

    • CANlib:master (09-06-2020)
    • CoreNG:dev (14-06-2020)
    • DuetWifiSocketServer:master (20-02-2020)
    • FreeRTOS:master (31-05-2020)
    • RepRapFirmware:v3-dev (07-07-2020)
    • RRFLibraries:dev (01-05-2020)

  • administrators

    All the projects that RRF3.1.0 and RRF3.1.1 depend on have 3.1.0 tags on the correct commits to use.

    The current development branch is v3.02-dev.

  • Hello again,
    So you are saying every commit of the projects i should use to compile RRF3.1.1 has a "3.1.0" tag like this one ??

    RRF tag 3.1.0.JPG

    If that is what you mean, I am not able to find a "3.1.0" or "3.1.1" tag on the commits of for example "CoreNG: dev " or "CANlib: master"

    If that is not correct, what do you mean with the tags ?? Can you specify which commits should be used to compile RRF 3.1.1


    edit: if you have tab completion in your shell you can also just view the tags and braches available by pressing tab after typing git checkout. should see 3.1.0 on the relevant branches and proceed to check out that on in each repo.

    bearer@build:~/eclipse/firmware/CoreNG$ git checkout
    1.18.1                origin/dev            v1.19
    3.1.0                 origin/HEAD           v2.05.2
    dev                   origin/master         v2-chrishamm
    FETCH_HEAD            origin/v2.05.2        v2-dev
    HEAD                  origin/v2-chrishamm   v3-dev
    master                origin/v2-dev
    ORIG_HEAD             origin/v3-dev
    bearer@build:~/eclipse/firmware/CoreNG$ git checkout 3.1.0
    Note: checking out '3.1.0'.
    You are in 'detached HEAD' state. You can look around, make experimental
    changes and commit them, and you can discard any commits you make in this
    state without impacting any branches by performing another checkout.
    If you want to create a new branch to retain commits you create, you may
    do so (now or later) by using -b with the checkout command again. Example:
      git checkout -b <new-branch-name>
    HEAD is now at c0ad4e5 Moved SPI SPI definitions out of this project

    edit2: to elaborate on the point made below:

  • Beat me to it! You gotta choose the tag like you choose the branch. (On GitHub, that is.)

  • administrators

    You can also see what tags are available on the Tags page for the project, e.g.

  • Oh, I did not know about that Tags page, I will check it .
    Thanks a lot!

Log in to reply