erro de compilação UDEV - referência indefinida para 'mq_getattr'

0

Estou tentando criar o pacote udev do link versão 182 com nossa cadeia de ferramentas personalizada.

Minhas opções de configuração são:

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

Durante make , recebo o seguinte erro:

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

Qualquer ideia sobre como posso corrigir isso.

    
por Monku 08.06.2017 / 01:01

1 resposta

0

O erro undefined reference significa que você está perdendo a biblioteca na qual mq_getattr está definido. Pesquisando por mq_getattr mostra que é uma função padrão do Linux. Lendo man mq_getattr encontra

Link with -lrt.

logo no topo. Portanto, você deve adicionar -lrt às suas opções de vinculador, no entanto, você faz isso em seu conjunto de ferramentas personalizado.

    
por 08.06.2017 / 07:54

Tags