Currently at git commit b5fd0f2709cab72f48da12a5804dd8670fffbf6e .config attached Error is: src/src_udevd-sd-daemon.o: In function `sd_is_mq': sd-daemon.c:(.text+0x6a5): undefined reference to `mq_getattr' collect2: ld returned 1 exit status make[3]: *** [src/udevd] Error 1 make[3]: *** Waiting for unfinished jobs.... CCLD src/extras/ata_id/ata_id make[2]: *** [all-recursive] Error 1 make[1]: *** [all] Error 2 make[1]: Leaving directory `/home/graeme/Source/buildroot/output/build/udev-181' make: *** [/home/graeme/Source/buildroot/output/build/udev-181/.stamp_built] Error 2
Created attachment 4184 [details] buildroot config
I have taken your exact configuration, and didn't manage to reproduce the bug. By any chance, did you make manual modifications to the uClibc configuration by running make uclibc-menuconfig? If you've done so and disabled UCLIBC_HAS_REALTIME, then mq_getattr would not be available in the C library, leading to the error you got. Can you get back to us and confirm which uClibc you had? Thanks!
Actually I've encountered this too but building on Gentoo using Portage rather than Buildroot. My target is i586-pc-linux-uclibc and I have definitely enabled UCLIBC_HAS_REALTIME. I've checked and mq_getsetattr.c, where this function is defined, definitely gets built but for some reason, the symbol is missing from librt. I haven't yet managed to work out why.
Aha! Found the cause and it turns out this is a Linux bug that has already been fixed. http://kernel.opensuse.org/cgit/kernel/commit/?id=4141a94694efc7d6c58e81bc55717161438d7816
Fixed by commit e1443db85bc7dc2a863c4bbfdf6fe777f390ad70