Are you missing a linker flag, i.e. -ludev, or did you forget to include libudev.h?
If it's not either of those, please provide some more information such as your current Ubuntu release, and what version of libudev-dev is installed on your system: $ apt-cache policy libudev-dev ** Changed in: systemd (Ubuntu) Status: New => Incomplete -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to systemd in Ubuntu. https://bugs.launchpad.net/bugs/1990315 Title: cannot link against libudev Status in systemd package in Ubuntu: Incomplete Bug description: When building Mesa vulkan drivers I get a lot of those error messages and the build fails: ``` error: undefined symbol: udev_new error: undefined symbol: udev_monitor_get_fd error: undefined symbol: udev_monitor_new_from_netlink error: undefined symbol: udev_monitor_receive_device error: undefined symbol: udev_monitor_unref error: undefined symbol: udev_unref error: undefined symbol: udev_device_unref error: undefined symbol: udev_device_get_property_value error: undefined symbol: udev_monitor_filter_add_match_subsystem_devtype error: undefined symbol: udev_monitor_enable_receiving ``` It worked on Ubuntu 21.10. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1990315/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp