librealsense icon indicating copy to clipboard operation
librealsense copied to clipboard

Fix `udev-device-watcher` target's include directories for libudev

Open JafarAbdi opened this issue 5 months ago • 2 comments
trafficstars

I was getting the following error when building in a linux machine

[149/159] Building CXX object CMakeFiles/realsense2.dir/src/linux/udev-device-watcher.cpp.o
FAILED: CMakeFiles/realsense2.dir/src/linux/udev-device-watcher.cpp.o
ccache ccache /ssd/claudiu/hmnd-robot/.pixi/envs/default/bin/c++ -DBUILD_EASYLOGGINGPP -DBUILD_SHARED_LIBS -DCOM_MULTITHREADED -DEASYLOGGINGPP_ASYNC -DELPP_NO_DEFAULT_LOG_FILE -DELPP_THREAD_SAFE -DHWM_OVER_XU -DRS2_USE_V4L2_BACKEND -DUNICODE -DUSING_UDEV -Drealsense2_EXPORTS -I/ssd/claudiu/hmnd-robot/libraries/third-party/librealsense -I/ssd/claudiu/hmnd-robot/libraries/third-party/librealsense/src -I/ssd/claudiu/hmnd-robot/libraries/third-party/librealsense/third-party/realsense-file/rosbag/console_bridge/include -I/ssd/claudiu/hmnd-robot/libraries/third-party/librealsense/third-party/realsense-file/rosbag/cpp_common/include -I/ssd/claudiu/hmnd-robot/libraries/third-party/librealsense/third-party/realsense-file/rosbag/rosbag_storage/include -I/ssd/claudiu/hmnd-robot/libraries/third-party/librealsense/third-party/realsense-file/rosbag/roscpp_serialization/include -I/ssd/claudiu/hmnd-robot/libraries/third-party/librealsense/third-party/realsense-file/rosbag/rostime/include -I/ssd/claudiu/hmnd-robot/libraries/third-party/librealsense/third-party/realsense-file/rosbag/roscpp_traits/include -I/ssd/claudiu/hmnd-robot/libraries/third-party/librealsense/third-party/realsense-file/rosbag/roslz4/include -I/ssd/claudiu/hmnd-robot/libraries/third-party/librealsense/third-party/realsense-file/rosbag/msgs -I/ssd/claudiu/hmnd-robot/libraries/third-party/librealsense/third-party/realsense-file/lz4/lib -I/ssd/claudiu/hmnd-robot/libraries/third-party/librealsense/include -I/ssd/claudiu/hmnd-robot/.pixi/envs/default/include/libusb-1.0 -I/ssd/claudiu/hmnd-robot/libraries/third-party/librealsense/third-party/rsutils/include -I/ssd/claudiu/hmnd-robot/build/librealsense2/third-party/json/include -I/include -pedantic -Wno-missing-field-initializers -Wno-switch -Wno-multichar -Wsequence-point -Wformat -Wformat-security -mstrict-align -ftree-vectorize -pthread  -O3 -DNDEBUG -fPIC -MD -MT CMakeFiles/realsense2.dir/src/linux/udev-device-watcher.cpp.o -MF CMakeFiles/realsense2.dir/src/linux/udev-device-watcher.cpp.o.d -o CMakeFiles/realsense2.dir/src/linux/udev-device-watcher.cpp.o -c /ssd/claudiu/hmnd-robot/libraries/third-party/librealsense/src/linux/udev-device-watcher.cpp
In file included from /ssd/claudiu/hmnd-robot/libraries/third-party/librealsense/src/linux/udev-device-watcher.cpp:4:
/ssd/claudiu/hmnd-robot/libraries/third-party/librealsense/src/linux/udev-device-watcher.h:11:10: fatal error: libudev.h: No such file or directory
   11 | #include <libudev.h>
      |          ^~~~~~~~~~~
compilation terminated.

[150/159] Building CXX object CMakeFiles/realsense2.dir/src/linux/backend-v4l2.cpp.o
FAILED: CMakeFiles/realsense2.dir/src/linux/backend-v4l2.cpp.o
ccache ccache /ssd/claudiu/hmnd-robot/.pixi/envs/default/bin/c++ -DBUILD_EASYLOGGINGPP -DBUILD_SHARED_LIBS -DCOM_MULTITHREADED -DEASYLOGGINGPP_ASYNC -DELPP_NO_DEFAULT_LOG_FILE -DELPP_THREAD_SAFE -DHWM_OVER_XU -DRS2_USE_V4L2_BACKEND -DUNICODE -DUSING_UDEV -Drealsense2_EXPORTS -I/ssd/claudiu/hmnd-robot/libraries/third-party/librealsense -I/ssd/claudiu/hmnd-robot/libraries/third-party/librealsense/src -I/ssd/claudiu/hmnd-robot/libraries/third-party/librealsense/third-party/realsense-file/rosbag/console_bridge/include -I/ssd/claudiu/hmnd-robot/libraries/third-party/librealsense/third-party/realsense-file/rosbag/cpp_common/include -I/ssd/claudiu/hmnd-robot/libraries/third-party/librealsense/third-party/realsense-file/rosbag/rosbag_storage/include -I/ssd/claudiu/hmnd-robot/libraries/third-party/librealsense/third-party/realsense-file/rosbag/roscpp_serialization/include -I/ssd/claudiu/hmnd-robot/libraries/third-party/librealsense/third-party/realsense-file/rosbag/rostime/include -I/ssd/claudiu/hmnd-robot/libraries/third-party/librealsense/third-party/realsense-file/rosbag/roscpp_traits/include -I/ssd/claudiu/hmnd-robot/libraries/third-party/librealsense/third-party/realsense-file/rosbag/roslz4/include -I/ssd/claudiu/hmnd-robot/libraries/third-party/librealsense/third-party/realsense-file/rosbag/msgs -I/ssd/claudiu/hmnd-robot/libraries/third-party/librealsense/third-party/realsense-file/lz4/lib -I/ssd/claudiu/hmnd-robot/libraries/third-party/librealsense/include -I/ssd/claudiu/hmnd-robot/.pixi/envs/default/include/libusb-1.0 -I/ssd/claudiu/hmnd-robot/libraries/third-party/librealsense/third-party/rsutils/include -I/ssd/claudiu/hmnd-robot/build/librealsense2/third-party/json/include -I/include -pedantic -Wno-missing-field-initializers -Wno-switch -Wno-multichar -Wsequence-point -Wformat -Wformat-security -mstrict-align -ftree-vectorize -pthread  -O3 -DNDEBUG -fPIC -MD -MT CMakeFiles/realsense2.dir/src/linux/backend-v4l2.cpp.o -MF CMakeFiles/realsense2.dir/src/linux/backend-v4l2.cpp.o.d -o CMakeFiles/realsense2.dir/src/linux/backend-v4l2.cpp.o -c /ssd/claudiu/hmnd-robot/libraries/third-party/librealsense/src/linux/backend-v4l2.cpp
In file included from /ssd/claudiu/hmnd-robot/libraries/third-party/librealsense/src/linux/backend-v4l2.cpp:13:
/ssd/claudiu/hmnd-robot/libraries/third-party/librealsense/src/linux/udev-device-watcher.h:11:10: fatal error: libudev.h: No such file or directory
   11 | #include <libudev.h>
      |          ^~~~~~~~~~~
compilation terminated.
ninja: build stopped: subcommand failed.

JafarAbdi avatar Jun 13 '25 13:06 JafarAbdi

Can one of the admins verify this patch?

sysrsbuild avatar Jun 13 '25 13:06 sysrsbuild

Thanks for the PR. We build in several Linux platforms and never seen this issue. Since no harm on adding it, I can merge it, but anything special in your environment?

Nir-Az avatar Jun 15 '25 19:06 Nir-Az

Thanks for the PR. We build in several Linux platforms and never seen this issue. Since no harm on adding it, I can merge it, but anything special in your environment?

Thanks for looking into this. I'm using pixi to build the package, happy to share the manifest file if you want.

JafarAbdi avatar Jun 20 '25 09:06 JafarAbdi