Pandora Glibc For Pandora


Pickle

Mega GP Mania
Joined
May 30, 2006
Messages
5,518
Location
Detroit, Michigan
Website
Visit site
This thread was a problem I ran into with the toolchain from code sourcery. There are different versions.
There is a EABI type toolchain which is very barebones tpye of compilier suited for kernel, uboot type development. I had originally used this toolchain discovering that GNU glibc was missing.
That brought me to the comments below (beagleboard) that disscussed the problem I had. There is a GNU/Linux toolchain that has the GNU glibc included in it.
The names of all the compiliers are very similar with just the number at the end beginning different.
For example:
2007q3-53 is the EABI toolchain without GNU glibc
2007q3-51 is the GNU/Linux toolchain with the GNU glibc
2008q1-126 is the GNU/Linux toolchain with the GNU glibc, but there are problems reported with it.

I have used 2007q3-51 with success. Also another way to tell if you have the right name is in the toolchain binary names arm-none-linux-gnueabi is the GNU/Linux toolchain and arm-none-eabi is the vanilla non GNU/Linux toolchain.

Information pulled from the google beagleboard board:
QUOTE

John Beetem wrote:
> I'm also a newbie as far as Sourcery is concerned (< 24 hours
> experience, no kernel or Uboot builds), but this might be useful:
> The linker is looking for libgcc_eh.a and is failing to find it in .../
> lib/gcc/arm-none-eabi/4.2.1.


> I've downloaded two versions of G++ Lite:
> 1. arm-none-eabi 2007q3-53 is for building low-level applications
> such as Uboot and Linux Kernel image that don't have an underlying
> operating system.



From technology point of view, this is correct. But for Beagle you
don't need this. We build everything (U-Boot, Kernel and user space)
with arm-none-linux-gnueabi and this is fine. So you don't need
arm-none-eabi.
> 2. arm-none-linux-gnueabi 2007q3-51

Use this for everything (U-Boot, kernel and apps).
> is for building Lunix
> applications such as user code that runs on Ångström. I've used this
> successfully for both "Hello, world" and a simple X11 application,
> running on top of Koen's Ångström demo.
> arm-none-eabi 2007q3-53 does not seem to have library libgcc_eh.a.
> On the other hand, arm-none-linux-gnueabi 2007q3-51 does have it in
> several locations.


> You might try removing "-lgcc_eh" from the gcc (ld) command and see if
> it's really needed by Uboot.



Better use arm-none-linux-gnueabi. Will be easier unless you are
interested in U-Boot optimization.
Dirk
 
You must have done something wrong as CSL linux gcc comes with the headers you're missing:

CODE
bash-3.2$ ~/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-gcc --version
arm-none-linux-gnueabi-gcc (Sourcery G++ Lite 2008q1-126) 4.2.3
bash-3.2$ find ~/CodeSourcery/Sourcery_G++_Lite -name memory.h -o -name strings.h
/home/ldesnogu/CodeSourcery/Sourcery_G++_Lite/arm-none-linux-gnueabi/libc/usr/include/strings.h
/home/ldesnogu/CodeSourcery/Sourcery_G++_Lite/arm-none-linux-gnueabi/libc/usr/include/memory.h
 
Laurent said:
You must have done something wrong as CSL linux gcc comes with the headers you're missing:

CODE
bash-3.2$ ~/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-gcc --version
arm-none-linux-gnueabi-gcc (Sourcery G++ Lite 2008q1-126) 4.2.3
bash-3.2$ find ~/CodeSourcery/Sourcery_G++_Lite -name memory.h -o -name strings.h
/home/ldesnogu/CodeSourcery/Sourcery_G++_Lite/arm-none-linux-gnueabi/libc/usr/include/strings.h
/home/ldesnogu/CodeSourcery/Sourcery_G++_Lite/arm-none-linux-gnueabi/libc/usr/include/memory.h



Your right I did

QUOTE

BINGO! Problem solved. Anyone that reads this be wary which toolchain you grab from code sourcery, the 2008 I used didnt have glibc, but the 2007 does.
Update again: Did some searching on code s. site and this toolchain should work too: 2008q1-126 (Although problems have been reported with 2008 and its better to use 2007, search the forums to find that discussion)
The key is not to use the EABI only toolchain but the GNU/Linux tool
 
Last edited by a moderator:
Your post is very misleading, you should remove what did not work and provide some proper way to get it done correctly.
I certainly got it wrong because I am used to read from top to bottom, not the other way ;)
 
Laurent said:
Your post is very misleading, you should remove what did not work and provide some proper way to get it done correctly.
I certainly got it wrong because I am used to read from top to bottom, not the other way ;)

Yeah your right once again, I rewrote everything and removed all of the useless information. :rolleyes:
 
Last edited by a moderator:
Back
Top