UDEVビルドエラー - 'mq_getattr'への未定義参照

UDEVビルドエラー - 'mq_getattr'への未定義参照

udevパッケージを作成しようとしています。https://www.kernel.org/pub/linux/utils/kernel/hotplug/182カスタムツールチェーンを使用したバージョンです。

私の設定オプションは次のとおりです。

./configure \
    --with-gnu-ld \
    --prefix=%{_toolchain} \
    --sysconfdir=%{_toolchain}/etc \
    --libexecdir=%{_toolchain}/libexec \
    --with-usb-ids-path=no \
    --with-pci-ids-path=no \
    --disable-introspection \
    --disable-keymap

この間、make次のエラーが発生します。

src/udevd-sd-daemon.o: In function `sd_is_mq':
sd-daemon.c:(.text+0xacd): undefined reference to `mq_getattr'
collect2: error: ld returned 1 exit status
make[2]: *** [udevd] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

この問題を解決する方法についてのアイデアはありますか?

ベストアンサー1

このエラーは、定義されたライブラリが欠落していることを意味しますundefined referencemq_getattrGoogle検索にmq_getattrよると、これは標準のLinux機能です。読んでman mq_getattr発見

と接続してください-lrt

すぐ上部にあります。したがって、-lrtリンカーオプションに追加する必要がありますが、カスタムツールバーでこれを行うことができます。

おすすめ記事