micro-ROS / micro-ROS/micro_ros_setup
menuconfig tool causes "flags.make:8: *** missing separator. Stop." error when building.
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Shell
- Estrellas
- 509
- Forks
- 183
- Merge medio
- 22 h 26 min
- PR fusionados (30 d)
- 7
Descripción
## 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/ &
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Reproduce la compilación de ESP32 usando los puntos de entrada de micro_ros_setup create_firmware_ws.sh, configure_firmware.sh y build_firmware.sh, comparando las ejecuciones con y sin el argumento menuconfig. Inspecciona esp-idf/main/CMakeFiles/__idf_main.dir/flags.make en la línea 8 y determina por qué menuconfig produce una sintaxis de make no válida. Se considera completado cuando el firmware configurado se compila correctamente.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- cmake, shell, ubuntu
- Área
- build-system, embedded-iot
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100