Skip to content

Conversation

@farhangnaderi
Copy link
Contributor

@farhangnaderi farhangnaderi commented Nov 21, 2025

Solved Problem

Using .so library format is not what macOS is building (dylib). This approach is more general.

Solution

Changelog Entry

For release notes:

Generalized OpticalFlow GZ plugin library

Alternatives

Not that I know of.

Test coverage

CI is happy + locally tested on macOS and Ubuntu.

make px4_sitl gz_x500
-- PX4_GIT_TAG: v1.17.0-alpha1-125-gcd22b281d2
CMake Warning (dev) at CMakeLists.txt:176 (find_package):
  Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
  are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
  the cmake_policy command to set the policy and suppress this warning.

This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found PythonInterp: /home/farhang/.pyenv/shims/python3 (found suitable version "3.12.3", minimum required is "3") 
-- PX4 config file: /home/farhang/PX4-Autopilot/boards/px4/sitl/default.px4board
-- PLATFORM posix
-- ROMFSROOT px4fmu_common
-- TESTING y
-- ETHERNET y
-- ROOT_PATH .
-- PARAM_FILE /fs/mtd_params
-- PX4 config: px4_sitl_default
-- PX4 platform: posix
-- PX4 lockstep: enabled
-- The CXX compiler identification is GNU 13.3.0
-- The C compiler identification is GNU 13.3.0
-- The ASM compiler identification is GNU
-- Found assembler: /usr/lib/ccache/cc
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/lib/ccache/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/lib/ccache/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- cmake build type: RelWithDebInfo
-- ccache enabled via symlink (/usr/lib/ccache/c++ -> /usr/bin/ccache)
-- Looking for gz-transport13 -- found version 13.4.1
-- Searching for dependencies of gz-transport13
-- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so (found version "3.21.12") 
-- Config-file not installed for ZeroMQ -- checking for pkg-config
-- Checking for module 'libzmq >= 4'
--   Found libzmq, version 4.3.5
-- Found ZeroMQ: TRUE (Required is at least version "4") 
-- Checking for module 'uuid'
--   Found uuid, version 2.39.3
-- Found UUID: TRUE  
-- Looking for gz-utils2 -- found version 2.2.1
-- Searching for dependencies of gz-utils2
-- Searching for <gz-utils2> component [cli]
-- Looking for gz-utils2-cli -- found version 2.2.1
-- Searching for dependencies of gz-utils2-cli
-- Looking for gz-msgs10 -- found version 10.3.2
-- Searching for dependencies of gz-msgs10
-- Looking for gz-utils2 -- found version 2.2.1
-- Looking for gz-math7 -- found version 7.5.2
-- Searching for dependencies of gz-math7
-- Looking for gz-utils2 -- found version 2.2.1
-- Checking for module 'tinyxml2'
--   Found tinyxml2, version 10.0.0
-- Found Python3: /home/farhang/.pyenv/shims/python3 (found version "3.12.3") found components: Interpreter 
-- Looking for gz-transport13 -- found version 13.4.1
-- Searching for dependencies of gz-transport13
-- Config-file not installed for ZeroMQ -- checking for pkg-config
-- Checking for module 'libzmq >= 4'
--   Found libzmq, version 4.3.5
-- Checking for module 'uuid'
--   Found uuid, version 2.39.3
-- Looking for gz-utils2 -- found version 2.2.1
-- Searching for dependencies of gz-utils2
-- Searching for <gz-utils2> component [cli]
-- Looking for gz-utils2-cli -- found version 2.2.1
-- Searching for dependencies of gz-utils2-cli
-- Looking for gz-msgs10 -- found version 10.3.2
-- Searching for dependencies of gz-msgs10
-- Looking for gz-utils2 -- found version 2.2.1
-- Looking for gz-math7 -- found version 7.5.2
-- Searching for dependencies of gz-math7
-- Looking for gz-utils2 -- found version 2.2.1
-- Checking for module 'tinyxml2'
--   Found tinyxml2, version 10.0.0
-- Looking for gz-sim8 -- found version 8.9.0
-- Searching for dependencies of gz-sim8
-- Looking for sdformat14 -- found version 14.7.0
-- Searching for dependencies of sdformat14
-- Looking for gz-math7 -- found version 7.5.2
-- Looking for gz-utils2 -- found version 2.2.1
-- Looking for gz-plugin2 -- found version 2.0.4
-- Searching for dependencies of gz-plugin2
-- Looking for gz-utils2 -- found version 2.2.1
-- Searching for <gz-plugin2> component [loader]
-- Looking for gz-plugin2-loader -- found version 2.0.4
-- Searching for dependencies of gz-plugin2-loader
-- Searching for <gz-plugin2> component [register]
-- Looking for gz-plugin2-register -- found version 2.0.4
-- Searching for dependencies of gz-plugin2-register
-- Looking for gz-transport13 -- found version 13.4.1
-- Searching for dependencies of gz-transport13
-- Config-file not installed for ZeroMQ -- checking for pkg-config
-- Checking for module 'libzmq >= 4'
--   Found libzmq, version 4.3.5
-- Looking for gz-utils2 -- found version 2.2.1
-- Looking for gz-msgs10 -- found version 10.3.2
-- Searching for <gz-transport13> component [log]
-- Looking for gz-transport13-log -- found version 13.4.1
-- Searching for dependencies of gz-transport13-log
-- Searching for <gz-transport13> component [parameters]
-- Looking for gz-transport13-parameters -- found version 13.4.1
-- Searching for dependencies of gz-transport13-parameters
-- Looking for gz-msgs10 -- found version 10.3.2
-- Looking for gz-common5 -- found version 5.7.1
-- Searching for dependencies of gz-common5
-- Looking for gz-utils2 -- found version 2.2.1
-- Looking for dlfcn.h - found
-- Looking for libdl - found
-- Found DL: TRUE  
-- Searching for <gz-common5> component [av]
-- Looking for gz-common5-av -- found version 5.7.1
-- Searching for dependencies of gz-common5-av
-- Checking for module 'libswscale'
--   Found libswscale, version 7.5.100
-- Found SWSCALE: TRUE  
-- Checking for module 'libavdevice >= 56.4.100'
--   Found libavdevice, version 60.3.100
-- Found AVDEVICE: TRUE (Required is at least version "56.4.100") 
-- Checking for module 'libavformat'
--   Found libavformat, version 60.16.100
-- Found AVFORMAT: TRUE  
-- Checking for module 'libavcodec'
--   Found libavcodec, version 60.31.102
-- Found AVCODEC: TRUE  
-- Checking for module 'libavutil'
--   Found libavutil, version 58.29.100
-- Found AVUTIL: TRUE  
-- Searching for <gz-common5> component [events]
-- Looking for gz-common5-events -- found version 5.7.1
-- Searching for dependencies of gz-common5-events
-- Looking for gz-math7 -- found version 7.5.2
-- Searching for <gz-common5> component [graphics]
-- Looking for gz-common5-graphics -- found version 5.7.1
-- Searching for dependencies of gz-common5-graphics
-- Looking for gz-math7 -- found version 7.5.2
-- Found GzAssimp: TRUE (found version "5.3.0") 
-- Searching for <gz-common5> component [io]
-- Looking for gz-common5-io -- found version 5.7.1
-- Searching for dependencies of gz-common5-io
-- Searching for <gz-common5> component [profiler]
-- Looking for gz-common5-profiler -- found version 5.7.1
-- Searching for dependencies of gz-common5-profiler
-- Looking for gz-fuel_tools9 -- found version 9.1.1
-- Searching for dependencies of gz-fuel_tools9
-- Found CURL: /usr/lib/x86_64-linux-gnu/libcurl.so (found version "8.5.0")  
-- Checking for module 'jsoncpp'
--   Found jsoncpp, version 1.9.5
-- Found JSONCPP: TRUE  
-- Checking for module 'yaml-0.1'
--   Found yaml-0.1, version 0.2.5
-- Found YAML: TRUE  
-- Checking for module 'libzip'
--   Found libzip, version 1.7.3
-- Found ZIP: TRUE  
-- Looking for gz-utils2 -- found version 2.2.1
-- Looking for gz-common5 -- found version 5.7.1
-- Searching for dependencies of gz-common5
-- Looking for gz-utils2 -- found version 2.2.1
-- Looking for dlfcn.h - found
-- Looking for libdl - found
-- Searching for <gz-common5> component [testing]
-- Looking for gz-common5-testing -- found version 5.7.1
-- Searching for dependencies of gz-common5-testing
-- Looking for gz-math7 -- found version 7.5.2
-- Looking for gz-msgs10 -- found version 10.3.2
-- Looking for gz-gui8 -- found version 8.4.0
-- Searching for dependencies of gz-gui8
-- Looking for gz-utils2 -- found version 2.2.1
-- Looking for gz-math7 -- found version 7.5.2
-- Looking for gz-common5 -- found version 5.7.1
-- Looking for gz-plugin2 -- found version 2.0.4
-- Looking for gz-transport13 -- found version 13.4.1
-- Looking for gz-rendering8 -- found version 8.2.2
-- Searching for dependencies of gz-rendering8
-- Looking for gz-math7 -- found version 7.5.2
-- Searching for dependencies of gz-math7
-- Looking for gz-utils2 -- found version 2.2.1
-- Searching for <gz-math7> component [eigen3]
-- Looking for gz-math7-eigen3 -- found version 7.5.2
-- Searching for dependencies of gz-math7-eigen3
-- Looking for gz-common5 -- found version 5.7.1
-- Searching for dependencies of gz-common5
-- Looking for gz-utils2 -- found version 2.2.1
-- Looking for dlfcn.h - found
-- Looking for libdl - found
-- Searching for <gz-common5> component [graphics]
-- Searching for <gz-common5> component [events]
-- Searching for <gz-common5> component [geospatial]
-- Looking for gz-common5-geospatial -- found version 5.7.1
-- Searching for dependencies of gz-common5-geospatial
-- Looking for gz-math7 -- found version 7.5.2
-- Looking for gz-common5 -- found version 5.7.1
-- Looking for gz-plugin2 -- found version 2.0.4
-- Searching for dependencies of gz-plugin2
-- Looking for gz-utils2 -- found version 2.2.1
-- Searching for <gz-plugin2> component [all]
-- Looking for all libraries of gz-plugin2 -- found version 2.0.4
-- Looking for gz-plugin2 -- found version 2.0.4
-- Looking for gz-utils2 -- found version 2.2.1
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so  found components: OpenGL 
-- Looking for gz-msgs10 -- found version 10.3.2
-- Looking for gz-physics7 -- found version 7.5.0
-- Searching for dependencies of gz-physics7
-- Looking for gz-common5 -- found version 5.7.1
-- Looking for gz-math7 -- found version 7.5.2
-- Looking for gz-plugin2 -- found version 2.0.4
-- Looking for gz-utils2 -- found version 2.2.1
-- Searching for <gz-physics7> component [heightmap]
-- Looking for gz-physics7-heightmap -- found version 7.5.0
-- Searching for dependencies of gz-physics7-heightmap
-- Looking for gz-common5 -- found version 5.7.1
-- Searching for <gz-physics7> component [mesh]
-- Looking for gz-physics7-mesh -- found version 7.5.0
-- Searching for dependencies of gz-physics7-mesh
-- Looking for gz-common5 -- found version 5.7.1
-- Searching for <gz-physics7> component [sdf]
-- Looking for gz-physics7-sdf -- found version 7.5.0
-- Searching for dependencies of gz-physics7-sdf
-- Looking for sdformat14 -- found version 14.7.0
-- Looking for gz-sensors8 -- found version 8.2.2
-- Searching for dependencies of gz-sensors8
-- Looking for gz-math7 -- found version 7.5.2
-- Looking for gz-common5 -- found version 5.7.1
-- Looking for gz-transport13 -- found version 13.4.1
-- Looking for gz-rendering8 -- found version 8.2.2
-- Looking for gz-msgs10 -- found version 10.3.2
-- Looking for sdformat14 -- found version 14.7.0
-- Searching for <gz-sensors8> component [air_pressure]
-- Looking for gz-sensors8-air_pressure -- found version 8.2.2
-- Searching for dependencies of gz-sensors8-air_pressure
-- Searching for <gz-sensors8> component [air_speed]
-- Looking for gz-sensors8-air_speed -- found version 8.2.2
-- Searching for dependencies of gz-sensors8-air_speed
-- Searching for <gz-sensors8> component [altimeter]
-- Looking for gz-sensors8-altimeter -- found version 8.2.2
-- Searching for dependencies of gz-sensors8-altimeter
-- Searching for <gz-sensors8> component [imu]
-- Looking for gz-sensors8-imu -- found version 8.2.2
-- Searching for dependencies of gz-sensors8-imu
-- Searching for <gz-sensors8> component [force_torque]
-- Looking for gz-sensors8-force_torque -- found version 8.2.2
-- Searching for dependencies of gz-sensors8-force_torque
-- Searching for <gz-sensors8> component [logical_camera]
-- Looking for gz-sensors8-logical_camera -- found version 8.2.2
-- Searching for dependencies of gz-sensors8-logical_camera
-- Searching for <gz-sensors8> component [magnetometer]
-- Looking for gz-sensors8-magnetometer -- found version 8.2.2
-- Searching for dependencies of gz-sensors8-magnetometer
-- Searching for <gz-sensors8> component [navsat]
-- Looking for gz-sensors8-navsat -- found version 8.2.2
-- Searching for dependencies of gz-sensors8-navsat
-- Searching for <gz-sensors8> component [dvl]
-- Looking for gz-sensors8-dvl -- found version 8.2.2
-- Searching for dependencies of gz-sensors8-dvl
-- Looking for gz-sensors8 -- found version 8.2.2
-- Searching for dependencies of gz-sensors8
-- Looking for gz-math7 -- found version 7.5.2
-- Looking for gz-common5 -- found version 5.7.1
-- Looking for gz-transport13 -- found version 13.4.1
-- Looking for gz-rendering8 -- found version 8.2.2
-- Looking for gz-msgs10 -- found version 10.3.2
-- Looking for sdformat14 -- found version 14.7.0
-- Searching for <gz-sensors8> component [rendering]
-- Looking for gz-sensors8-rendering -- found version 8.2.2
-- Searching for dependencies of gz-sensors8-rendering
-- Searching for <gz-sensors8> component [rendering]
-- Searching for <gz-sensors8> component [lidar]
-- Looking for gz-sensors8-lidar -- found version 8.2.2
-- Searching for dependencies of gz-sensors8-lidar
-- Looking for gz-sensors8 -- found version 8.2.2
-- Searching for <gz-sensors8> component [gpu_lidar]
-- Looking for gz-sensors8-gpu_lidar -- found version 8.2.2
-- Searching for dependencies of gz-sensors8-gpu_lidar
-- Looking for gz-sensors8 -- found version 8.2.2
-- Searching for <gz-sensors8> component [camera]
-- Looking for gz-sensors8-camera -- found version 8.2.2
-- Searching for dependencies of gz-sensors8-camera
-- Looking for gz-sensors8 -- found version 8.2.2
-- Searching for <gz-sensors8> component [boundingbox_camera]
-- Looking for gz-sensors8-boundingbox_camera -- found version 8.2.2
-- Searching for dependencies of gz-sensors8-boundingbox_camera
-- Searching for <gz-sensors8> component [segmentation_camera]
-- Looking for gz-sensors8-segmentation_camera -- found version 8.2.2
-- Searching for dependencies of gz-sensors8-segmentation_camera
-- Searching for <gz-sensors8> component [depth_camera]
-- Looking for gz-sensors8-depth_camera -- found version 8.2.2
-- Searching for dependencies of gz-sensors8-depth_camera
-- Looking for gz-sensors8 -- found version 8.2.2
-- Searching for <gz-sensors8> component [rgbd_camera]
-- Looking for gz-sensors8-rgbd_camera -- found version 8.2.2
-- Searching for dependencies of gz-sensors8-rgbd_camera
-- Looking for gz-sensors8 -- found version 8.2.2
-- Searching for <gz-sensors8> component [thermal_camera]
-- Looking for gz-sensors8-thermal_camera -- found version 8.2.2
-- Searching for dependencies of gz-sensors8-thermal_camera
-- Looking for gz-sensors8 -- found version 8.2.2
-- Searching for <gz-sensors8> component [wide_angle_camera]
-- Looking for gz-sensors8-wide_angle_camera -- found version 8.2.2
-- Searching for dependencies of gz-sensors8-wide_angle_camera
-- Looking for gz-rendering8 -- found version 8.2.2
-- Looking for gz-math7 -- found version 7.5.2
-- Looking for gz-utils2 -- found version 2.2.1
-- Looking for gz-sensors8 -- found version 8.2.2
-- Looking for gz-plugin3 -- found version 3.1.0
-- Searching for dependencies of gz-plugin3
-- Looking for gz-utils3 -- found version 3.1.1
-- Searching for dependencies of gz-utils3
-- Searching for <gz-utils3> component [cli]
-- Looking for gz-utils3-cli -- found version 3.1.1
-- Searching for dependencies of gz-utils3-cli
-- Found OpenCV: /usr (found version "4.6.0") 
-- Found OpenCV: /usr (found version "4.6.0") found components: core imgproc 
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1") 
-- Checking for module 'gstreamer-1.0'
--   Found gstreamer-1.0, version 1.24.2
-- Checking for module 'gstreamer-app-1.0'
--   Found gstreamer-app-1.0, version 1.24.2
-- Found Java: /usr/bin/java (found version "11.0.28") 
-- ROMFS: ROMFS/px4fmu_common
Architecture:  amd64
==> CPACK_INSTALL_PREFIX = @DEB_INSTALL_PREFIX@
-- Configuring done (4.7s)
-- Generating done (0.2s)
-- Build files have been written to: /home/farhang/PX4-Autopilot/build/px4_sitl_default
[0/1107] git submodule src/drivers/gps/devices
[3/1107] git submodule src/modules/mavlink/mavlink
[5/1107] git submodule src/modules/uxrce_dds_client/Micro-XRCE-DDS-Client
[22/1107] Performing download step (git clone) for 'OpticalFlow'
Cloning into 'OpticalFlow'...
Already on 'master'
Your branch is up to date with 'origin/master'.
Submodule 'external/klt_feature_tracker' (https://github.com/PX4/klt_feature_tracker.git) registered for path 'external/klt_feature_tracker'
Cloning into '/home/farhang/PX4-Autopilot/build/px4_sitl_default/OpticalFlow/src/OpticalFlow/external/klt_feature_tracker'...
Submodule path 'external/klt_feature_tracker': checked out 'a2733b54f17b571dd958be498b57479a4104d8cd'
[40/1107] Performing configure step for 'OpticalFlow'
-- The C compiler identification is GNU 13.3.0
-- The CXX compiler identification is GNU 13.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/lib/ccache/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/lib/ccache/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenCV: /usr (found version "4.6.0") 
-- Building klt_feature_tracker without catkin
-- Building OpticalFlow with OpenCV
-- Configuring done (0.2s)
-- Generating done (0.0s)
-- Build files have been written to: /home/farhang/PX4-Autopilot/build/px4_sitl_default/OpticalFlow/src/OpticalFlow-build
[123/1107] Performing build step for 'OpticalFlow'
[1/7] Building CXX object CMakeFiles/OpticalFlow.dir/src/px4flow.cpp.o
[2/7] Building CXX object CMakeFiles/OpticalFlow.dir/src/optical_flow.cpp.o
[3/7] Building CXX object CMakeFiles/OpticalFlow.dir/src/flow_px4.cpp.o
[4/7] Building CXX object klt_feature_tracker/CMakeFiles/klt_feature_tracker.dir/src/trackFeatures.cpp.o
[5/7] Linking CXX static library klt_feature_tracker/libklt_feature_tracker.a
[6/7] Building CXX object CMakeFiles/OpticalFlow.dir/src/flow_opencv.cpp.o
[7/7] Linking CXX shared library libOpticalFlow.so
[765/1107] Performing install step for 'OpticalFlow'
[0/1] Install the project...
-- Install configuration: ""
-- Installing: /home/farhang/PX4-Autopilot/build/px4_sitl_default/OpticalFlow/install/lib/libOpticalFlow.so
-- Installing: /home/farhang/PX4-Autopilot/build/px4_sitl_default/OpticalFlow/install/include
-- Installing: /home/farhang/PX4-Autopilot/build/px4_sitl_default/OpticalFlow/install/include/trackFeatures.h
-- Up-to-date: /home/farhang/PX4-Autopilot/build/px4_sitl_default/OpticalFlow/install/include
-- Installing: /home/farhang/PX4-Autopilot/build/px4_sitl_default/OpticalFlow/install/include/flow_opencv.hpp
-- Installing: /home/farhang/PX4-Autopilot/build/px4_sitl_default/OpticalFlow/install/include/px4flow.hpp
-- Installing: /home/farhang/PX4-Autopilot/build/px4_sitl_default/OpticalFlow/install/include/optical_flow.hpp
-- Installing: /home/farhang/PX4-Autopilot/build/px4_sitl_default/OpticalFlow/install/include/flow_px4.hpp
-- Installing: /home/farhang/PX4-Autopilot/build/px4_sitl_default/OpticalFlow/install/FindOpticalFlow.cmake
[1106/1107] cd /home/farhang/PX4-Autopilot/build/px4_sitl_default/src/...P=127.0.0.1 /home/farhang/PX4-Autopilot/build/px4_sitl_default/bin/px4

______  __   __    ___ 
| ___ \ \ \ / /   /   |
| |_/ /  \ V /   / /| |
|  __/   /   \  / /_| |
| |     / /^\ \ \___  |
\_|     \/   \/     |_/

px4 starting.

INFO  [px4] startup script: /bin/sh etc/init.d-posix/rcS 0
INFO  [init] found model autostart file as SYS_AUTOSTART=4001
INFO  [param] selected parameter default file parameters.bson
INFO  [param] selected parameter backup file parameters_backup.bson
  SYS_AUTOCONFIG: curr: 0 -> new: 1
  SYS_AUTOSTART: curr: 0 -> new: 4001
  CAL_ACC0_ID: curr: 0 -> new: 1310988
  CAL_GYRO0_ID: curr: 0 -> new: 1310988
  CAL_ACC1_ID: curr: 0 -> new: 1310996
  CAL_GYRO1_ID: curr: 0 -> new: 1310996
  CAL_ACC2_ID: curr: 0 -> new: 1311004
  CAL_GYRO2_ID: curr: 0 -> new: 1311004
  CAL_MAG0_ID: curr: 0 -> new: 197388
  CAL_MAG0_PRIO: curr: -1 -> new: 50
  CAL_MAG1_ID: curr: 0 -> new: 197644
  CAL_MAG1_PRIO: curr: -1 -> new: 50
  SENS_BOARD_X_OFF: curr: 0.0000 -> new: 0.0000
  SENS_DPRES_OFF: curr: 0.0000 -> new: 0.0010
INFO  [dataman] data manager file './dataman' size is 1208528 bytes
INFO  [init] Gazebo simulator 8.9.0
INFO  [init] Starting gazebo with world: /home/farhang/PX4-Autopilot/Tools/simulation/gz/worlds/default.sdf
INFO  [init] Starting gz gui
INFO  [init] Waiting for Gazebo world...
INFO  [init] Gazebo world is ready
INFO  [init] Spawning Gazebo model
Warning [Utils.cc:132] [/sdf/model[@name="x500_base"]/link[@name="base_link"]/sensor[@name="air_pressure_sensor"]/gz_frame_id:/home/farhang/PX4-Autopilot/Tools/simulation/gz/models/x500_base/model.sdf:L219]: XML Element[gz_frame_id], child of element[sensor], not defined in SDF. Copying[gz_frame_id] as children of [sensor].
Warning [Utils.cc:132] [/sdf/model[@name="x500_base"]/link[@name="base_link"]/sensor[@name="magnetometer_sensor"]/gz_frame_id:/home/farhang/PX4-Autopilot/Tools/simulation/gz/models/x500_base/model.sdf:L233]: XML Element[gz_frame_id], child of element[sensor], not defined in SDF. Copying[gz_frame_id] as children of [sensor].
Warning [Utils.cc:132] [/sdf/model[@name="x500_base"]/link[@name="base_link"]/sensor[@name="imu_sensor"]/gz_frame_id:/home/farhang/PX4-Autopilot/Tools/simulation/gz/models/x500_base/model.sdf:L259]: XML Element[gz_frame_id], child of element[sensor], not defined in SDF. Copying[gz_frame_id] as children of [sensor].
Warning [Utils.cc:132] [/sdf/model[@name="x500_base"]/link[@name="base_link"]/sensor[@name="navsat_sensor"]/gz_frame_id:/home/farhang/PX4-Autopilot/Tools/simulation/gz/models/x500_base/model.sdf:L311]: XML Element[gz_frame_id], child of element[sensor], not defined in SDF. Copying[gz_frame_id] as children of [sensor].
INFO  [gz_bridge] world: default, model: x500_0
INFO  [lockstep_scheduler] setting initial absolute time to 3860000 us
INFO  [commander] LED: open /dev/led0 failed (22)
WARN  [health_and_arming_checks] Preflight Fail: ekf2 missing data
WARN  [health_and_arming_checks] Preflight Fail: system power unavailable
WARN  [health_and_arming_checks] Preflight Fail: No connection to the GCS
INFO  [uxrce_dds_client] init UDP agent IP:127.0.0.1, port:8888
INFO  [mavlink] mode: Normal, data rate: 4000000 B/s on udp port 18570 remote port 14550
INFO  [mavlink] mode: Onboard, data rate: 4000000 B/s on udp port 14580 remote port 14540
INFO  [mavlink] mode: Onboard, data rate: 4000 B/s on udp port 14280 remote port 14030
INFO  [mavlink] mode: Gimbal, data rate: 400000 B/s on udp port 13030 remote port 13280
INFO  [logger] logger started (mode=all)
INFO  [logger] Start file log (type: full)
INFO  [logger] [logger] ./log/2025-11-21/03_29_41.ulg	
INFO  [logger] Opened full log file: ./log/2025-11-21/03_29_41.ulg
INFO  [mavlink] MAVLink only on localhost (set param MAV_{i}_BROADCAST = 1 to enable network)
INFO  [mavlink] MAVLink only on localhost (set param MAV_{i}_BROADCAST = 1 to enable network)
INFO  [px4] Startup script returned successfully
pxh> INFO  [tone_alarm] home set
WARN  [health_and_arming_checks] Preflight Fail: No connection to the GCS

@farhangnaderi farhangnaderi changed the title [WIP] Update OpticalFlow CMake configuration for library paths Update GZ Plugin OpticalFlow CMake configuration for library paths Nov 21, 2025
@farhangnaderi farhangnaderi marked this pull request as ready for review November 21, 2025 03:18
@farhangnaderi farhangnaderi requested review from Copilot and removed request for Copilot November 21, 2025 03:31
Copilot finished reviewing on behalf of farhangnaderi November 21, 2025 03:33
@farhangnaderi farhangnaderi requested a review from dagar November 21, 2025 10:44
@farhangnaderi farhangnaderi force-pushed the pr-gzplugin-of-shared-prefix branch from d3752ca to 095ac0a Compare November 21, 2025 19:36
@dakejahl dakejahl requested a review from Copilot November 21, 2025 20:44
Copilot finished reviewing on behalf of dakejahl November 21, 2025 20:46
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR improves cross-platform compatibility for the OpticalFlow Gazebo plugin by replacing hardcoded .so library extensions with the CMake variable CMAKE_SHARED_LIBRARY_SUFFIX. This allows the build system to work correctly on macOS (which uses .dylib) in addition to Linux (which uses .so).

  • Updated BUILD_BYPRODUCTS specification to use platform-independent library suffix
  • Updated OpticalFlow_LIBS cache variable to use platform-independent library suffix

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@farhangnaderi farhangnaderi requested review from Copilot and dakejahl and removed request for dagar November 22, 2025 18:35
Copilot finished reviewing on behalf of farhangnaderi November 22, 2025 18:37
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Jaeyoung-Lim
Copy link
Member

Is this also related to the problems I am seeing on Ubuntu?

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants