Udev
UDEV 建構錯誤 - 未定義對“mq_getattr”的引用
我正在嘗試使用我們的自定義工具鏈從https://www.kernel.org/pub/linux/utils/kernel/hotplug/版本建構
udev
包。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
關於如何解決這個問題的任何想法。
該
undefined reference
錯誤意味著您缺少mq_getattr
定義的庫。Google搜尋mq_getattr
顯示它是標準的 Linux 功能。閱讀man mq_getattr
發現與 連結
-lrt
。就在頂部。因此,您必須添加
-lrt
到您的連結器選項,但是您可以在自定義工具鏈中執行此操作。
使用變數 LDFLAGS 進行配置。
LDFLAGS='-lrt' ./configure