I had noticed `pkg-config --list-all` is listing two udev packages,
`udev` and `libudev`. `pkg-config --libs udev` prints nothing but `pkg-
config --libs libudev` prints `-ludev`.

I had also noticed that the link command did not featured `-ludev`. I
also had tried to set compile/link flags to `-ludev` using environment
variables without success at the time, but now that I just retried I
noticed that if I delete the build dir, the flags are used and the build
pass.

I assume `libudev.h` is found properly because the code compiles, the
error is a link error.

Now, why there are two udev packages listed by pkg-config and why the
linker flag isn't passed to mesa is a mystery to me.

-- 
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

Reply via email to