PX4 SITL GAZEBO | Syntax error Error in CMakeLists.txt file

I am trying to install Px4-SITL GAZEBO on Ubuntu 20.04 and I get this error
Syntax error in cmake code at /home/sj/src/PX4-Autopilot/CMakeLists.txt:506

** when parsing string ${PX4 There is an unterminated variable reference.**

The syntax currently@506 is
" target_link_libraries(${PX4 Firmware} ${GAZEBO_LIBRARIES}) "

Any Ideas !!

1 Like

Please paste the full output after a clean build, the full error, and the exact git commit that you’re at.

Hi …

The compilation was done in the /src/PX4-Autopilot directory as follows

**sj@lenovo:~/src/PX4-Autopilot$ make px4_sitl gazebo**
**[0/1] Re-running CMake...**
**-- PX4 version: v1.13.0-beta1-1059-gc32cf21b63**
**-- PX4 config file: /home/sj/src/PX4-Autopilot/boards/px4/sitl/default.px4board**
**-- PLATFORM posix**
**-- ROMFSROOT px4fmu_common**
**-- TESTING y**
**-- ETHERNET y**
**-- PX4 config: px4_sitl_default**
**-- PX4 platform: posix**
**-- PX4 lockstep: enabled**
**-- cmake build type: RelWithDebInfo**
**-- Building for code coverage**
**-- Looking for ignition-transport8 -- found version 8.4.0**
**-- Searching for dependencies of ignition-transport8**
**-- Config-file not installed for ZeroMQ -- checking for pkg-config**
**-- Checking for module 'libzmq >= 4'**
**--   Found libzmq , version 4.3.2**
**-- Checking for module 'uuid'**
**--   Found uuid, version 2.34.0**
**-- Looking for ignition-msgs5 -- found version 5.11.0**
**-- Searching for dependencies of ignition-msgs5**
**-- Looking for ignition-math6 -- found version 6.13.0**
**-- Searching for dependencies of ignition-math6**
**-- Checking for module 'tinyxml2'**
**--   Found tinyxml2, version 6.2.0**
**-- ROMFS: ROMFS/px4fmu_common**
**-- Found DART: /usr/include (Required is at least version "6.6") found components: dart **
**-- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so;-lpthread (found version "3.6.1") **
**-- Looking for ignition-math6 -- found version 6.13.0**
**-- Searching for dependencies of ignition-math6**
**-- Looking for OGRE...**
**-- Found Ogre Ghadamon (1.9.0)**
**-- Found OGRE: optimized;/usr/lib/x86_64-linux-gnu/libOgreMain.so;debug;/usr/lib/x86_64-linux-gnu/libOgreMain.so**
**-- Looking for OGRE_Paging...**
**-- Found OGRE_Paging: optimized;/usr/lib/x86_64-linux-gnu/libOgrePaging.so;debug;/usr/lib/x86_64-linux-gnu/libOgrePaging.so**
**-- Looking for OGRE_Terrain...**
**-- Found OGRE_Terrain: optimized;/usr/lib/x86_64-linux-gnu/libOgreTerrain.so;debug;/usr/lib/x86_64-linux-gnu/libOgreTerrain.so**
**-- Looking for OGRE_Property...**
**-- Found OGRE_Property: optimized;/usr/lib/x86_64-linux-gnu/libOgreProperty.so;debug;/usr/lib/x86_64-linux-gnu/libOgreProperty.so**
**-- Looking for OGRE_RTShaderSystem...**
**-- Found OGRE_RTShaderSystem: optimized;/usr/lib/x86_64-linux-gnu/libOgreRTShaderSystem.so;debug;/usr/lib/x86_64-linux-gnu/libOgreRTShaderSystem.so**
**-- Looking for OGRE_Volume...**
**-- Found OGRE_Volume: optimized;/usr/lib/x86_64-linux-gnu/libOgreVolume.so;debug;/usr/lib/x86_64-linux-gnu/libOgreVolume.so**
**-- Looking for OGRE_Overlay...**
**-- Found OGRE_Overlay: optimized;/usr/lib/x86_64-linux-gnu/libOgreOverlay.so;debug;/usr/lib/x86_64-linux-gnu/libOgreOverlay.so**
**-- Looking for ignition-math6 -- found version 6.13.0**
**-- Looking for ignition-transport8 -- found version 8.4.0**
**-- Searching for dependencies of ignition-transport8**
**-- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so;-lpthread (found suitable version "3.6.1", minimum required is "3") **
**-- Config-file not installed for ZeroMQ -- checking for pkg-config**
**-- Checking for module 'libzmq >= 4'**
**--   Found libzmq , version 4.3.2**
**-- Checking for module 'uuid'**
**--   Found uuid, version 2.34.0**
**-- Looking for ignition-msgs5 -- found version 5.11.0**
**-- Searching for dependencies of ignition-msgs5**
**-- Looking for ignition-math6 -- found version 6.13.0**
**-- Checking for module 'tinyxml2'**
**--   Found tinyxml2, version 6.2.0**
**-- Looking for ignition-msgs5 -- found version 5.11.0**
**-- Looking for ignition-common3 -- found version 3.15.1**
**-- Searching for dependencies of ignition-common3**
**-- Looking for dlfcn.h - found**
**-- Looking for libdl - found**
**-- Searching for <ignition-common3> component [graphics]**
**-- Looking for ignition-common3-graphics -- found version 3.15.1**
**-- Searching for dependencies of ignition-common3-graphics**
**-- Looking for ignition-math6 -- found version 6.13.0**
**-- Looking for ignition-fuel_tools4 -- found version 4.8.1**
**-- Searching for dependencies of ignition-fuel_tools4**
**-- Checking for module 'jsoncpp'**
**--   Found jsoncpp, version 1.7.4**
**-- Checking for module 'yaml-0.1'**
**--   Found yaml-0.1, version 0.2.2**
**-- Checking for module 'libzip'**
**--   Found libzip, version 1.5.1**
**-- Looking for ignition-common3 -- found version 3.15.1**
**-- Looking for ignition-math6 -- found version 6.13.0**
**-- Looking for ignition-msgs5 -- found version 5.11.0**
**CMake Error at CMakeLists.txt:506 (target_link_libraries):**
**  Syntax error in cmake code at**

**    /home/sj/src/PX4-Autopilot/CMakeLists.txt:506**

**  when parsing string**

**    ${PX4**

**  There is an unterminated variable reference.**


**-- Configuring incomplete, errors occurred!**
**See also "/home/sj/src/PX4-Autopilot/build/px4_sitl_default/CMakeFiles/CMakeOutput.log".**
**See also "/home/sj/src/PX4-Autopilot/build/px4_sitl_default/CMakeFiles/CMakeError.log".**
**FAILED: build.ninja **
**/usr/bin/cmake -S/home/sj/src/PX4-Autopilot -B/home/sj/src/PX4-Autopilot/build/px4_sitl_default**
**ninja: error: rebuilding 'build.ninja': subcommand failed**
**make: *** [Makefile:232: px4_sitl] Error 1**

2. The docker version from Jonas Vautherin runs well but this is headless Gazebo along * with QGC and mavsdk python .

*       **docker run --rm -it jonasvautherin/px4-gazebo-headless:1.13.2***

. *Specs of my laptop

  1. I used the following cmd under /src dir ```
  • **git clone https://github.com/PX4/PX4-Autopilot.git --recursive***
    

```

Addendum to the above report…Now I have the following error using another installation

sj@lenovo:~/src/sitl_gazebo/build$ cmake ..
-- install-prefix: /usr
-- cmake build type: RelWithDebInfo
-- The C compiler identification is GNU 9.4.0
-- The CXX compiler identification is GNU 9.4.0
-- Check for working C compiler: /usr/lib/ccache/cc
-- Check for working C compiler: /usr/lib/ccache/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/lib/ccache/c++
-- Check for working CXX compiler: /usr/lib/ccache/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test COMPILER_SUPPORTS_CXX17
-- Performing Test COMPILER_SUPPORTS_CXX17 - Success
-- Performing Test COMPILER_SUPPORTS_CXX14
-- Performing Test COMPILER_SUPPORTS_CXX14 - Success
-- Performing Test COMPILER_SUPPORTS_CXX11
-- Performing Test COMPILER_SUPPORTS_CXX11 - Success
-- Performing Test COMPILER_SUPPORTS_CXX0X
-- Performing Test COMPILER_SUPPORTS_CXX0X - Success
-- Using C++17 standard
-- ccache enabled via symlink (/usr/lib/ccache/c++ -> /usr/bin/ccache)
-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake (found suitable version "1.71.0", minimum required is "1.58") found components: system thread filesystem 
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Checking for module 'bullet>=2.82'
--   Found bullet, version 2.88
-- Found ccd: /usr/include (found suitable version "2.0", minimum required is "2.0") 
-- Found fcl: /usr/include (found suitable version "0.5.0", minimum required is "0.3.2") 
-- Found assimp: /usr/include (found version "5.0.0") 
-- Found DART: /usr/include (Required is at least version "6.6") found components: dart 
-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake (found suitable version "1.71.0", minimum required is "1.40.0") found components: thread system filesystem program_options regex iostreams date_time 
-- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so;-lpthread (found version "3.6.1") 
-- Looking for ignition-math6 -- found version 6.13.0
-- Searching for dependencies of ignition-math6
-- Looking for OGRE...
-- OGRE_PREFIX_WATCH changed.
-- Checking for module 'OGRE'
--   Found OGRE, version 1.9.0
-- Found Ogre Ghadamon (1.9.0)
-- Found OGRE: optimized;/usr/lib/x86_64-linux-gnu/libOgreMain.so;debug;/usr/lib/x86_64-linux-gnu/libOgreMain.so
-- Looking for OGRE_Paging...
-- Found OGRE_Paging: optimized;/usr/lib/x86_64-linux-gnu/libOgrePaging.so;debug;/usr/lib/x86_64-linux-gnu/libOgrePaging.so
-- Looking for OGRE_Terrain...
-- Found OGRE_Terrain: optimized;/usr/lib/x86_64-linux-gnu/libOgreTerrain.so;debug;/usr/lib/x86_64-linux-gnu/libOgreTerrain.so
-- Looking for OGRE_Property...
-- Found OGRE_Property: optimized;/usr/lib/x86_64-linux-gnu/libOgreProperty.so;debug;/usr/lib/x86_64-linux-gnu/libOgreProperty.so
-- Looking for OGRE_RTShaderSystem...
-- Found OGRE_RTShaderSystem: optimized;/usr/lib/x86_64-linux-gnu/libOgreRTShaderSystem.so;debug;/usr/lib/x86_64-linux-gnu/libOgreRTShaderSystem.so
-- Looking for OGRE_Volume...
-- Found OGRE_Volume: optimized;/usr/lib/x86_64-linux-gnu/libOgreVolume.so;debug;/usr/lib/x86_64-linux-gnu/libOgreVolume.so
-- Looking for OGRE_Overlay...
-- Found OGRE_Overlay: optimized;/usr/lib/x86_64-linux-gnu/libOgreOverlay.so;debug;/usr/lib/x86_64-linux-gnu/libOgreOverlay.so
-- Looking for ignition-math6 -- found version 6.13.0
-- Looking for ignition-transport8 -- found version 8.4.0
-- Searching for dependencies of ignition-transport8
-- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so;-lpthread (found suitable version "3.6.1", minimum required is "3") 
-- Config-file not installed for ZeroMQ -- checking for pkg-config
-- Checking for module 'libzmq >= 4'
--   Found libzmq , version 4.3.2
-- Found ZeroMQ: TRUE (Required is at least version "4") 
-- Checking for module 'uuid'
--   Found uuid, version 2.34.0
-- Found UUID: TRUE  
-- Looking for ignition-msgs5 -- found version 5.11.0
-- Searching for dependencies of ignition-msgs5
-- Looking for ignition-math6 -- found version 6.13.0
-- Checking for module 'tinyxml2'
--   Found tinyxml2, version 6.2.0
-- Looking for ignition-msgs5 -- found version 5.11.0
-- Looking for ignition-common3 -- found version 3.15.1
-- Searching for dependencies of ignition-common3
-- Looking for dlfcn.h - found
-- Looking for libdl - found
-- Found DL: TRUE  
-- Searching for <ignition-common3> component [graphics]
-- Looking for ignition-common3-graphics -- found version 3.15.1
-- Searching for dependencies of ignition-common3-graphics
-- Looking for ignition-math6 -- found version 6.13.0
-- Looking for ignition-fuel_tools4 -- found version 4.8.1
-- Searching for dependencies of ignition-fuel_tools4
-- Found CURL: /usr/lib/x86_64-linux-gnu/libcurl.so (found version "7.68.0")  
-- Checking for module 'jsoncpp'
--   Found jsoncpp, version 1.7.4
-- Found JSONCPP: TRUE  
-- Checking for module 'yaml-0.1'
--   Found yaml-0.1, version 0.2.2
-- Found YAML: TRUE  
-- Checking for module 'libzip'
--   Found libzip, version 1.5.1
-- Found ZIP: TRUE  
-- Looking for ignition-common3 -- found version 3.15.1
-- Looking for ignition-math6 -- found version 6.13.0
-- Looking for ignition-msgs5 -- found version 5.11.0
-- Checking for one of the modules 'glib-2.0'
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.8.10", minimum required is "3") 
-- Found OpenCV: /usr/local (found version "4.5.5") 
-- Found TinyXML: /usr/lib/x86_64-linux-gnu/libtinyxml.so  
-- Checking for module 'gstreamer-1.0 >= 1.0'
--   Found gstreamer-1.0 , version 1.16.3
-- Checking for module 'gstreamer-base-1.0 >= 1.0'
--   Found gstreamer-base-1.0 , version 1.16.3
-- Checking for module 'gstreamer-app-1.0 >= 1.0'
--   No package 'gstreamer-app-1.0' found
-- Found GStreamer: GSTREAMER_INCLUDE_DIRS;GSTREAMER_LIBRARIES;GSTREAMER_VERSION;GSTREAMER_BASE_INCLUDE_DIRS;GSTREAMER_BASE_LIBRARIES (Required is at least version "1.0") 
-- Checking for module 'OGRE'
--   Found OGRE, version 1.9.0
-- Building klt_feature_tracker without catkin
-- Building OpticalFlow with OpenCV
-- Could NOT find MAVLink (missing: MAVLINK_INCLUDE_DIRS) (found version "2.0")
-- catkin DISABLED
-- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so;-lpthread (found version "3.6.1") 
-- Checking for module 'protobuf'
--   Found protobuf, version 3.6.1
-- Gazebo version: 11.12
-- Found GStreamer: adding gst_camera_plugin
-- Found GStreamer: adding gst_video_stream_widget
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
GSTREAMER_APP_LIBRARIES (ADVANCED)
    linked by target "AdvancedLiftDragPlugin" in directory /home/sj/src/sitl_gazebo
    linked by target "ForceVisual" in directory /home/sj/src/sitl_gazebo
    linked by target "gazebo_airship_dynamics_plugin" in directory /home/sj/src/sitl_gazebo
    linked by target "gazebo_pose_sniffer_plugin" in directory /home/sj/src/sitl_gazebo
    linked by target "sensor_msgs" in directory /home/sj/src/sitl_gazebo
    linked by target "gazebo_airspeed_plugin" in directory /home/sj/src/sitl_gazebo
    linked by target "gazebo_groundtruth_plugin" in directory /home/sj/src/sitl_gazebo
    linked by target "physics_msgs" in directory /home/sj/src/sitl_gazebo
    linked by target "std_msgs" in directory /home/sj/src/sitl_gazebo
    linked by target "gazebo_usv_dynamics_plugin" in directory /home/sj/src/sitl_gazebo
    linked by target "gazebo_video_stream_widget" in directory /home/sj/src/sitl_gazebo
    linked by target "gazebo_gps_plugin" in directory /home/sj/src/sitl_gazebo
    linked by target "gazebo_opticalflow_mockup_plugin" in directory /home/sj/src/sitl_gazebo
    linked by target "gazebo_irlock_plugin" in directory /home/sj/src/sitl_gazebo
    linked by target "gazebo_parachute_plugin" in directory /home/sj/src/sitl_gazebo
    linked by target "gazebo_lidar_plugin" in directory /home/sj/src/sitl_gazebo
    linked by target "gazebo_multirotor_base_plugin" in directory /home/sj/src/sitl_gazebo
    linked by target "gazebo_wind_plugin" in directory /home/sj/src/sitl_gazebo
    linked by target "gazebo_opticalflow_plugin" in directory /home/sj/src/sitl_gazebo
    linked by target "gazebo_uuv_plugin" in directory /home/sj/src/sitl_gazebo
    linked by target "gazebo_drop_plugin" in directory /home/sj/src/sitl_gazebo
    linked by target "nav_msgs" in directory /home/sj/src/sitl_gazebo
    linked by target "gazebo_sonar_plugin" in directory /home/sj/src/sitl_gazebo
    linked by target "gazebo_vision_plugin" in directory /home/sj/src/sitl_gazebo
    linked by target "gazebo_user_camera_plugin" in directory /home/sj/src/sitl_gazebo
    linked by target "gazebo_gst_camera_plugin" in directory /home/sj/src/sitl_gazebo
    linked by target "mav_msgs" in directory /home/sj/src/sitl_gazebo
    linked by target "gazebo_controller_interface" in directory /home/sj/src/sitl_gazebo
    linked by target "gazebo_gimbal_controller_plugin" in directory /home/sj/src/sitl_gazebo
    linked by target "gazebo_imu_plugin" in directory /home/sj/src/sitl_gazebo
    linked by target "gazebo_mavlink_interface" in directory /home/sj/src/sitl_gazebo
    linked by target "gazebo_motor_model" in directory /home/sj/src/sitl_gazebo
    linked by target "gazebo_camera_manager_plugin" in directory /home/sj/src/sitl_gazebo
    linked by target "gazebo_magnetometer_plugin" in directory /home/sj/src/sitl_gazebo
    linked by target "gazebo_barometer_plugin" in directory /home/sj/src/sitl_gazebo
    linked by target "LiftDragPlugin" in directory /home/sj/src/sitl_gazebo
    linked by target "gazebo_catapult_plugin" in directory /home/sj/src/sitl_gazebo
_MAVLINK_INCLUDE_DIR
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo
   used as include directory in directory /home/sj/src/sitl_gazebo/unit_tests
   used as include directory in directory /home/sj/src/sitl_gazebo/unit_tests
   used as include directory in directory /home/sj/src/sitl_gazebo/unit_tests
   used as include directory in directory /home/sj/src/sitl_gazebo/unit_tests
   used as include directory in directory /home/sj/src/sitl_gazebo/unit_tests
   used as include directory in directory /home/sj/src/sitl_gazebo/unit_tests
   used as include directory in directory /home/sj/src/sitl_gazebo/unit_tests
   used as include directory in directory /home/sj/src/sitl_gazebo/unit_tests

-- Configuring incomplete, errors occurred!
See also "/home/sj/src/sitl_gazebo/build/CMakeFiles/CMakeOutput.log".
See also "/home/sj/src/sitl_gazebo/build/CMakeFiles/CMakeError.log".

I’m confused because from your git command it looks like you are on the main branch. However, the CMakeLists.txt there doesn’t have that many lines.

https://github.com/PX4/PX4-Autopilot/blob/82dce9353c9e17f0de23eae23d20796661441389/CMakeLists.txt

So what exactly is your git commit? Or branch?

1 Like

@Hi Julian,
I used the following command after creating the " /src " folder
( git clone --recursive GitHub - PX4/PX4-SITL_gazebo-classic: Set of plugins, models and worlds to use with OSRF Gazebo Simulator in SITL and HITL. .)

Went by the guidelines dictated on GitHub - PX4/PX4-SITL_gazebo-classic: Set of plugins, models and worlds to use with OSRF Gazebo Simulator in SITL and HITL..

The above guidelines were attempted after successfully installing and running the docker version of PX4-SITL Gazebo headless using the GitHub - JonasVautherin/px4-gazebo-headless: An unofficial Ubuntu-based container building and running PX4 SITL (Software In The Loop) through gazebo. in the same "/ src " folder .

Hope this could help you in some direction to the issue…thank you …

@Julian…thank you

I was able to finally run PX4SITL Gazebo classic by installing additional GST streamer 1.0 modules using the following command
sudo apt-get install libgstreamer-plugins-base1.0-dev and then I ran the following command in PX4-Autopilot dir
make px4_sitl gazebo-classic

All the errors vanished and Gazebo started !!
I read the following link Build error GSTREAMER · Issue #13117 · PX4/PX4-Autopilot · GitHub

1 Like