9m2443 error compilng with signalfd.h

Including the header yield to compiling error

/usr/local/DigiEL-5.7/x-tools/arm-unknown-linux-uclibcgnueabi/arm-unknown-linux-uclibcgnueabi/sysroot/usr/include/sys/signalfd.h:82: error: expected initializer before ‘throw’

Is there any way to update uClibC to the latest?


The uclibc library is not as other user-space packages you can just cross-compile and push to your rootfs to make it work. It’s the base of the whole toolchain (along with the GCC compiler and binutils packages). This means that the cross-compilation of this library is done as part of the toolchain itself creation, not at a later stage where you use the already generated toolchain to build other packages and libraries.

In case for DEL Digi used crosstool-ng project to build the basic toolchain. This project does its magic with GCC+UCLIBC internally to build the toolchain. It’s not an easy process (in fact that’s why the project exists). If you update the uclibc component then all the user-space packages need to be built again.

Not sure which is the overall background of the problem, but if what’s failing is just an specific in-house developed application, the customer may use crosstool-ng the generate a toolchain with a newer version of uclibc and then use that toolchain to statically build its application. This will allow to run the static app with a DEL rootfs that has an older version of uclibc (the one provided with DEL).