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 reference. mq_getattrGoogle 검색에 mq_getattr따르면 이는 표준 Linux 기능입니다. 읽고 man mq_getattr발견하세요

와 연결하세요 -lrt.

바로 상단에 있습니다. 따라서 -lrt링커 옵션에 추가해야 하지만 사용자 정의 도구 모음에서 이 작업을 수행할 수 있습니다.

답변2

LDFLAGS 변수를 사용하여 구성합니다.

 LDFLAGS='-lrt' ./configure 

관련 정보