micro-ROS / micro-ROS/micro_ros_setup

menuconfig tool causes "flags.make:8: *** missing separator. Stop." error when building.

Offen
#580 17 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Shell
Sterne
509
Forks
183
Ø Merge
22 Std. 26 Min.
Gemergte PRs (30 T.)
7

Beschreibung

## Issue template

- Hardware description: ESP32
- RTOS: FreeRTOS
- Installation type: micro_ros_setup, basic examples programmed through VM Ubuntu 22.04
- Version or commit hash: Humble ROS2

I've encountered an issue when trying to compile and configure a micro_ros example and would be very grateful for any help with this, I'm not so familiar with the issue reporting section on github so please excuse me if this post is a bit long winded.

#### Steps to reproduce the issue
Fresh VM using Ubuntu 22.04 and ROS2 Humble, when following the basic micros ros tutorial found at https://micro.ros.org/blog/2020/08/27/esp32.

When running the command "ros2 run micro_ros_setup build_firmware.sh menuconfig" the following command "ros2 run micro_ros_setup build_firmware.sh" then produces the error found below. However, if the "ros2 run micro_ros_setup build_firmware.sh menuconfig" command is not executed and "ros2 run micro_ros_setup build_firmware.sh" is ran instead the example compiles without any issues.

In any case the menuconfig tool makes the following build process fail, even if the menu is exited without saving, this seems to be an issue even if I change micro controller and if serial is used rather than UDP. There is an error found in with flags.make every time, does anyone have any suggestions?

Many thanks!

#### Expected behaviour
**Commands:**
**ros2 run micro_ros_setup create_firmware_ws.sh freertos esp32
ros2 run micro_ros_setup configure_firmware.sh int32_publisher --transport serial #-t udp -i 192.168.1.120 -p 8888
ros2 run micro_ros_setup build_firmware.sh**

**Terminal output (Working output without running menuconfig):**

[100%] Built target gen_project_binary
make -f CMakeFiles/app.dir/build.make CMakeFiles/app.dir/depend
make[2]: Entering directory '/home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build'
cd /home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions /home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions /home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build /home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build /home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build/CMakeFiles/app.dir/DependInfo.cmake --color=
make[2]: Leaving directory '/home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build'
make -f CMakeFiles/app.dir/build.make CMakeFiles/app.dir/build
make[2]: Entering directory '/home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build'
make[2]: Nothing to be done for 'CMakeFiles/app.dir/build'.
make[2]: Leaving directory '/home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build'
[100%] Built target app
make[1]: Leaving directory '/home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build'
/usr/bin/cmake -E cmake_progress_start /home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build/CMakeFiles 0

#### Actual behaviour
**Commands:**
**ros2 run micro_ros_setup create_firmware_ws.sh freertos esp32
ros2 run micro_ros_setup configure_firmware.sh int32_publisher --transport serial #-t udp -i 192.168.1.120 -p 8888
ros2 run micro_ros_setup build_firmware.sh menuconfig
ros2 run micro_ros_setup build_firmware.sh**

**Terminal output (Fails):**
Consolidate compiler generated dependencies of target __idf_openssl
make[2]: Leaving directory '/home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build'
make -f esp-idf/openssl/CMakeFiles/__idf_openssl.dir/build.make esp-idf/openssl/CMakeFiles/__idf_openssl.dir/build
make[2]: Entering directory '/home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build'
make[2]: Nothing to be done for 'esp-idf/openssl/CMakeFiles/__idf_openssl.dir/build'.
make[2]: Leaving directory '/home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build'
[ 97%] Built target __idf_openssl
make -f esp-idf/spiffs/CMakeFiles/__idf_spiffs.dir/build.make esp-idf/spiffs/CMakeFiles/__idf_spiffs.dir/depend
make[2]: Entering directory '/home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build'
cd /home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions /home/verk/Desktop/microros_ws/firmware/toolchain/esp-idf/components/spiffs /home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build /home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build/esp-idf/spiffs /home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build/esp-idf/spiffs/CMakeFiles/__idf_spiffs.dir/DependInfo.cmake --color=
Consolidate compiler generated dependencies of target __idf_spiffs
make[2]: Leaving directory '/home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build'
make -f esp-idf/spiffs/CMakeFiles/__idf_spiffs.dir/build.make esp-idf/spiffs/CMakeFiles/__idf_spiffs.dir/build
make[2]: Entering directory '/home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build'
make[2]: Nothing to be done for 'esp-idf/spiffs/CMakeFiles/__idf_spiffs.dir/build'.
make[2]: Leaving directory '/home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build'
[ 98%] Built target __idf_spiffs
make -f esp-idf/unity/CMakeFiles/__idf_unity.dir/build.make esp-idf/unity/CMakeFiles/__idf_unity.dir/depend
make[2]: Entering directory '/home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build'
cd /home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions /home/verk/Desktop/microros_ws/firmware/toolchain/esp-idf/components/unity /home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build /home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build/esp-idf/unity /home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build/esp-idf/unity/CMakeFiles/__idf_unity.dir/DependInfo.cmake --color=
Consolidate compiler generated dependencies of target __idf_unity
make[2]: Leaving directory '/home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build'
make -f esp-idf/unity/CMakeFiles/__idf_unity.dir/build.make esp-idf/unity/CMakeFiles/__idf_unity.dir/build
make[2]: Entering directory '/home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build'
make[2]: Nothing to be done for 'esp-idf/unity/CMakeFiles/__idf_unity.dir/build'.
make[2]: Leaving directory '/home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build'
[ 99%] Built target __idf_unity
make -f esp-idf/wifi_provisioning/CMakeFiles/__idf_wifi_provisioning.dir/build.make esp-idf/wifi_provisioning/CMakeFiles/__idf_wifi_provisioning.dir/depend
make[2]: Entering directory '/home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build'
cd /home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions /home/verk/Desktop/microros_ws/firmware/toolchain/esp-idf/components/wifi_provisioning /home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build /home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build/esp-idf/wifi_provisioning /home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build/esp-idf/wifi_provisioning/CMakeFiles/__idf_wifi_provisioning.dir/DependInfo.cmake --color=
Consolidate compiler generated dependencies of target __idf_wifi_provisioning
make[2]: Leaving directory '/home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build'
make -f esp-idf/wifi_provisioning/CMakeFiles/__idf_wifi_provisioning.dir/build.make esp-idf/wifi_provisioning/CMakeFiles/__idf_wifi_provisioning.dir/build
make[2]: Entering directory '/home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build'
make[2]: Nothing to be done for 'esp-idf/wifi_provisioning/CMakeFiles/__idf_wifi_provisioning.dir/build'.
make[2]: Leaving directory '/home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build'
[100%] Built target __idf_wifi_provisioning
make -f esp-idf/main/CMakeFiles/__idf_main.dir/build.make esp-idf/main/CMakeFiles/__idf_main.dir/depend
make[2]: Entering directory '/home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build'
esp-idf/main/CMakeFiles/__idf_main.dir/flags.make:8: *** missing separator. Stop.
make[2]: Leaving directory '/home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build'
make[1]: *** [CMakeFiles/Makefile2:3835: esp-idf/main/CMakeFiles/__idf_main.dir/all] Error 2
make[1]: Leaving directory '/home/verk/Desktop/microros_ws/firmware/freertos_apps/microros_esp32_extensions/build'
make: *** [Makefile:139: all] Error 2
[ros2run]: Process exited with failure 2

#### Additional information

To install micro_ros after installing ROS2 I run the following script:

sudo apt update
sudo apt install git -y
source /opt/ros/$ROS_DISTRO/setup.bash

# Create a workspace and download the micro-ROS tools
cd /home/verk/Desktop
mkdir microros_ws
cd microros_ws
git clone -b $ROS_DISTRO https://github.com/micro-ROS/micro_ros_setup.git src/micro_ros_setup

sudo apt install python3-rosdep2 -y

# Update dependencies using rosdep
sudo apt update && rosdep update
rosdep install --from-paths src --ignore-src -y

# Install pip
sudo apt-get install python3-pip -y
sudo apt-get install python3-vcstool -y

rosdep update

# Build micro-ROS tools and source them
colcon build
source install/local_setup.bash
echo 'source /home/verk/Desktop/microros_ws/install/local_setup.bash' >> ~/.bashrc

#Install USB drivers for VM
sudo apt-get install minicom -y
sudo apt install build-essential flex bison libssl-dev libelf-dev dwarves libncurses-dev -y

sudo usermod -a -G dialout verk
sudo usermod -a -G tty verk

ros2 run micro_ros_setup create_firmware_ws.sh freertos esp32

sudo apt update

x-www-browser https://micro.ros.org/blog/2020/08/27/esp32/ &
x-www-browser https://micro.ros.org/docs/tutorials/core/first_application_rtos/freertos/ &

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Reproduziere den ESP32-Build mit den micro_ros_setup-Einstiegspunkten create_firmware_ws.sh, configure_firmware.sh und build_firmware.sh und vergleiche die Ausführungen mit und ohne das Argument menuconfig. Untersuche esp-idf/main/CMakeFiles/__idf_main.dir/flags.make in Zeile 8 und ermittle, warum menuconfig eine ungültige Make-Syntax erzeugt. Als erledigt gilt die Aufgabe, wenn die konfigurierte Firmware erfolgreich gebaut wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cmake, shell, ubuntu
Bereich
build-system, embedded-iot
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.