# 9m2443 error compilng with signalfd.h

**URL:** <https://forums.digi.com/t/9m2443-error-compilng-with-signalfd-h/14579>\
**Category:** Linux\
**Tags:** 9m2443, signalfd\
**Created:** [March 20, 2015, 10:13am UTC](https://forums.digi.com/t/9m2443-error-compilng-with-signalfd-h/14579 "2015-03-20T10:13:14Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![marcL](https://avatars.discourse-cdn.com/v4/letter/m/7cd45c/32.png) [@marcL](https://forums.digi.com/u/marcL)\
**Post date:** [March 20, 2015, 10:13am UTC](https://forums.digi.com/t/9m2443-error-compilng-with-signalfd-h/14579/1 "2015-03-20T10:13:14Z")

</div>

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?

thanks

---

<div class="post-metadata">

**Author:** ![LeonidM](https://avatars.discourse-cdn.com/v4/letter/l/d26b3c/32.png) [@LeonidM](https://forums.digi.com/u/LeonidM)\
**Post date:** [March 23, 2015, 6:13pm UTC](https://forums.digi.com/t/9m2443-error-compilng-with-signalfd-h/14579/2 "2015-03-23T18:13:00Z")

</div>

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