In particular, ubuntu-18.04's libsystemd lacks 2 functions which result in link errors (when the bus feature is not disabled):
/home/runner/work/rust-systemd/rust-systemd/src/bus/mod.rs:1269: undefined reference to `sd_bus_slot_set_destroy_callback'
/home/runner/work/rust-systemd/rust-systemd/src/bus/mod.rs:1270: undefined reference to `sd_bus_slot_set_floating'
We should consider looking into whether these can be avoided an provide a usable API in systemd (high level crate). Possible that bus (the feature) could be subsetted (so some of bus is usable with old libsystemd. Minimally, detecting the presence of these functions at configuration time and avoiding emitting the rust definitions would help us get better error
messages (ie: at compile instead of at link).
openssl has to deal with similar issues and probably has some approach we can adapt.
In particular, ubuntu-18.04's libsystemd lacks 2 functions which result in link errors (when the
busfeature is not disabled):We should consider looking into whether these can be avoided an provide a usable API in
systemd(high level crate). Possible thatbus(the feature) could be subsetted (so some of bus is usable with oldlibsystemd. Minimally, detecting the presence of these functions at configuration time and avoiding emitting the rust definitions would help us get better errormessages (ie: at compile instead of at link).
openssl has to deal with similar issues and probably has some approach we can adapt.