Ошибка сборки 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

Есть идеи, как я могу это исправить.

0
08.06.2017, 02:01
2 ответа

неопределенная ссылка] означает, что отсутствует библиотека, в которой определен mq_getattr. Поиск в Google по запросу mq_getattrпоказывает, что это стандартная функция Linux. Чтение man mq_getattrнаходит

ссылку с -lrt.

прямо вверху. Таким образом, вы должны добавить -lrtк своим параметрам компоновщика, однако вы делаете это в своей пользовательской цепочке инструментов.

0
28.01.2020, 04:44

Настройте переменную LDFLAGS.

 LDFLAGS='-lrt'./configure 
0
02.12.2020, 14:40

Теги

Похожие вопросы