I am cross compiling an application for an embedded device (Moxa UC-8100), and I am running into a version issue with GLIBC.

I installed Debian 9 (as instructed by the supplier of the embedded device) and using the arm-linux-gnueabihf toolchain. When running my build on the device, it says

```
moxa@Moxa:~$ ./fabs-uc8100 -h
./fabs-uc8100: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.17' not found (required by ./fabs-uc8100)
./fabs-uc8100: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.16' not found (required by ./fabs-uc8100)

```

When I run `ldd --version`, on the device, I can see it has version 2.13:

```
moxa@Moxa:~$ ldd --version
ldd (Debian EGLIBC 2.13-38+deb7u8) 2.13

```

So, the issue is clear (my program was built with 2.16, but I have 2.13 available), but how do I fix this?

**Update** I installed the crosscompile toolchain using [standard Debian packages, including some Moxa packages](https://cdn-cms.azureedge.net/getmedia/98e02cf2-2aeb-4810-b844-09e2e05ea942/moxa-arm-based-computer-linux-user-manual-for-debian-9-v5.0.pdf), on a Debian 9 64-bit VM:

Added `deb http://debian.moxa.com/debian stretch main contrib non-free` to `/etc/apt/sources.list.d/moxa.sources.list`, then:

```
user@Linux:~$ apt-get install moxa-archive-keyring
user@Linux:~$ dpkg --add-architecture armhf
user@Linux:~$ apt-get install crossbuild-essential-armhf
user@Linux:~$ apt-get install libssl-dev:armhf

```