Hi Guys,
This post relates my experience with problems using MIOS32 Toolchain (version mios32_toolchain_linux86_20101024.tgz) on Centos Linux (redhat basically) and what I did to resolve it by setting up a working Arm compiler for the LPC17/NXP1769.
Here’s my Linux version:
Linux um 2.6.18-308.24.1.el5 #1 SMP Tue Dec 4 17:43:34 EST 2012 x86_64 x86_64 x86_64 GNU/Linux
So I’m attempting to build MIOS32 apps on a Centos Linux server:
Followed wiki instructions: http://www.midibox.org/dokuwiki/doku.php?id=linux_mios32_toolchain_core
and installed toolchain mios32_toolchain_linux86_20101024.tgz
set my paths and environment.
Then I go to build the test app and got an error from the toolchain compiler:
[root@um 001_forwarding_midi]# make
rm -f project.hex
Creating object file for app.c
arm-none-eabi-gcc: /lib/libc.so.6: version `GLIBC_2.11’ not found (required by arm-none-eabi-gcc)
make: *** [project_build/app.o] Error 1
OK am I using the right one? lets see
[root@um 001_forwarding_midi]# which arm-none-eabi-gcc
/usr/local/mios32_toolchain/bin/arm-none-eabi-gcc
YES- ok run compiler to see what happens, broken
[root@um 001_forwarding_midi]# arm-none-eabi-gcc
arm-none-eabi-gcc: /lib/libc.so.6: version `GLIBC_2.11’ not found (required by arm-none-eabi-gcc)
Find out what is linked into it and if those libraries resolve (no they don’t)
[root@um ~]# ldd /usr/local/mios32_toolchain/bin/arm-none-eabi-gcc
/usr/local/mios32_toolchain/bin/arm-none-eabi-gcc: /lib/libc.so.6: version `GLIBC_2.11’ not found (required by /usr/local/mios32_toolchain/bin/arm-none-eabi-gcc)
linux-gate.so.1 => (0xffffe000)
libc.so.6 => /lib/libc.so.6 (0x00bae000)
/lib/ld-linux.so.2 (0x00b8f000)
So after checking everything in the setup it seemed that my Linux version simply wouldn’t work with the old libc compiled against the toolchain. I looked into installing the older libc 2.11, but couldn’t get that to compile fully so moved on.
Then I downloaded arm-2008q3-66-arm-none-eabi-i686-pc-linux-gnu.tar from http://www.codesourcery.com
Installed into /usr/local
Updated path in /etc/bashrc
and checked to see if it ran (looks good):
[root@um trunk]# /usr/local/arm-2008q3/bin/arm-none-eabi-gcc -v
Using built-in specs.
Target: arm-none-eabi
Configured with: [snip…]
Thread model: single
gcc version 4.3.2 (Sourcery G++ Lite 2008q3-66)
checked shared library dependencies (looks good):
[root@um trunk]# ldd /usr/local/arm-2008q3/bin/arm-none-eabi-gcc
linux-gate.so.1 => (0xffffe000)
libc.so.6 => /lib/libc.so.6 (0x00bae000)
/lib/ld-linux.so.2 (0x00b8f000)
Then went on and built several MIOS32 apps without incident. ![]()
Hope that this may save some time for someone, the entire process took 3 hours of mine!
cheers
Jay