Error due compilation

LinuxMint20 OS

I am trying to compile Marlin 2.0 firmware for a 3D printer. I do this with the console command $ platformio run.
An error appears while executing the command. From the output I can not understand what is the reason. Please help me figure it out.

    Compiling .pio/build/LPC1769/src/src/libs/hex_print_routines.cpp.o
    Compiling .pio/build/LPC1769/src/src/libs/least_squares_fit.cpp.o
    Compiling .pio/build/LPC1769/src/src/libs/nozzle.cpp.o
    Compiling .pio/build/LPC1769/src/src/libs/numtostr.cpp.o
    Compiling .pio/build/LPC1769/src/src/libs/stopwatch.cpp.o
    Compiling .pio/build/LPC1769/src/src/libs/vector_3.cpp.o
    Compiling .pio/build/LPC1769/src/src/module/configuration_store.cpp.o
    Compiling .pio/build/LPC1769/src/src/module/delta.cpp.o
    In file included from Marlin/src/lcd/menu/../../inc/../core/language.h:382,
                     from Marlin/src/lcd/menu/../../inc/MarlinConfig.h:43,
                     from Marlin/src/lcd/menu/../ultralcd.h:24,
                     from Marlin/src/lcd/menu/menu.h:24,
                     from Marlin/src/lcd/menu/menu_motion.cpp:31:
    Marlin/src/lcd/menu/menu_motion.cpp: In function 'void _menu_move_distance(AxisEnum, screenFunc_t, int8_t)':
    Marlin/src/lcd/menu/menu_motion.cpp:262:33: warning: 'мм' directive writing 4 bytes into a region of size 3 [-Wformat-overflow=]
      262 |         sprintf_P(tmp, GET_TEXT(MSG_MOVE_Z_DIST), dtostrf(SHORT_MANUAL_Z_MOVE, 1, digs, numstr));
    Marlin/src/lcd/menu/../../inc/../core/multi_language.h:74:49: note: in definition of macro 'GET_TEXT'
       74 |   #define GET_TEXT(MSG) GET_LANG(LCD_LANGUAGE)::MSG
          |                                                 ^~~
    Marlin/src/lcd/menu/menu_motion.cpp:262:18: note: 'sprintf' output 22 or more bytes into a destination of size 20
      262 |         sprintf_P(tmp, GET_TEXT(MSG_MOVE_Z_DIST), dtostrf(SHORT_MANUAL_Z_MOVE, 1, digs, numstr));
    Compiling .pio/build/LPC1769/src/src/module/endstops.cpp.o
    In file included from Marlin/src/lcd/menu/menu_temperature.cpp:31:
    Marlin/src/lcd/menu/menu.h: In function 'void menu_temperature()':
    Marlin/src/lcd/menu/menu.h:343:37: warning: '_thisItemNr' may be used uninitialized in this function [-Wmaybe-uninitialized]
      343 | #define END_SCREEN() } screen_items = _thisItemNr
          |                                     ^
    Marlin/src/lcd/menu/menu.h:327:40: note: '_thisItemNr' was declared here
      327 |   int8_t _menuLineNr = encoderTopLine, _thisItemNr; \
          |                                        ^~~~~~~~~~~
    Marlin/src/lcd/menu/menu.h:340:22: note: in expansion of macro 'SCREEN_OR_MENU_LOOP'
      340 | #define START_MENU() SCREEN_OR_MENU_LOOP(true)
          |                      ^~~~~~~~~~~~~~~~~~~
    Marlin/src/lcd/menu/menu_temperature.cpp:165:3: note: in expansion of macro 'START_MENU'
      165 |   START_MENU();
          |   ^~~~~~~~~~
    Compiling .pio/build/LPC1769/src/src/module/motion.cpp.o
    Compiling .pio/build/LPC1769/src/src/module/planner.cpp.o
    Compiling .pio/build/LPC1769/src/src/module/planner_bezier.cpp.o
    Compiling .pio/build/LPC1769/src/src/module/printcounter.cpp.o
    Compiling .pio/build/LPC1769/src/src/module/probe.cpp.o
    Compiling .pio/build/LPC1769/src/src/module/scara.cpp.o
    Compiling .pio/build/LPC1769/src/src/module/servo.cpp.o
    Compiling .pio/build/LPC1769/src/src/module/stepper.cpp.o
    Compiling .pio/build/LPC1769/src/src/module/stepper/L64xx.cpp.o
    Compiling .pio/build/LPC1769/src/src/module/stepper/TMC26X.cpp.o
    Compiling .pio/build/LPC1769/src/src/module/stepper/indirection.cpp.o
    Compiling .pio/build/LPC1769/src/src/module/stepper/trinamic.cpp.o
    Compiling .pio/build/LPC1769/src/src/module/temperature.cpp.o
    Marlin/src/module/configuration_store.cpp: In static member function 'static void MarlinSettings::reset()':
    Marlin/src/module/configuration_store.cpp:2621:32: error: 'DEFAULT_Kp' was not declared in this scope; did you mean 'DEFAULT_Kd'?
     2621 |       PID_PARAM(Kp, e) = float(DEFAULT_Kp);
          |                                ^~~~~~~~~~
          |                                DEFAULT_Kd
    Compiling .pio/build/LPC1769/src/src/module/tool_change.cpp.o
    *** [.pio/build/LPC1769/src/src/module/configuration_store.cpp.o] Error 1
    Marlin/src/module/planner.cpp: In static member function 'static bool Planner::_populate_block(block_t*, bool, const abce_long_t&, const xyze_pos_t&, feedRate_t, uint8_t, const float&)':
    Marlin/src/module/planner.cpp:2407:19: error: 'maxj' was not declared in this scope
     2407 |                   maxj = (max_jerk[axis]          // mj : The max jerk setting for this axis
          |                   ^~~~
    Marlin/src/module/planner.cpp:2407:36: error: 'axis' was not declared in this scope
     2407 |                   maxj = (max_jerk[axis]          // mj : The max jerk setting for this axis
          |                                    ^~~~
    Marlin/src/module/planner.cpp:2396:23: warning: unused variable 'extra_xyjerk' [-Wunused-variable]
     2396 |       constexpr float extra_xyjerk = 0;
          |                       ^~~~~~~~~~~~
    *** [.pio/build/LPC1769/src/src/module/planner.cpp.o] Error 1
    ============================================ [FAILED] Took 38.39 seconds ============================================
    
    Environment    Status    Duration
    -------------  --------  ------------
    LPC1769        FAILED    00:00:38.385
    ======================================= 1 failed, 0 succeeded in 00:00:38.385 =======================================

The variables maxj and axis are unknown in this section of the code. That’s exactly what the compiler is telling you.

Either you are not compiling the latest Marlin version, you have wrong configuration files, or Marlin has a bug. Either way, the people you want to talk to is the people who write the Marlin firmware, not the people that make the build system. See Issues · MarlinFirmware/Marlin · GitHub

Thanks for the answer. The reason I wrote here is because I have already compiled this version of marlin, there were no errors. Only two things have changed: I replaced the LinuxMint18 operating system with Mint20 (and, as a result, the PlatformIO version) and made changes to the marlin configuration file. Now I’m trying to understand what caused the error.

Do you have a backup of that old file? Did you change anything regarding Axis settings (max jerk)?

Unfortunately, the previous version of the file has not survived. I will look for the source of the error. Thanks for the suggestions.