-   Linux - General (
-   -   Upgrading glibc on embedded system question (

Styno 06-24-2006 04:41 PM

Upgrading glibc on embedded system question
The Newisys NA-1400 is an Intel XScale based NAS device for which I'm trying to compile additional software (e.g. Apache, mysql, CUPS) in order to enhance it's usefullness. For crosscompiling software I installed a scratchbox scrosscompile toolchain for ARM processors. I compiled and succesfully tested a simple 'hello world' program to check if the toolchain is properly functioning.

The problem is the difference between the glibc version used by the toolchain (2.3.2) and the installed glibc version on the NAS device (2.2.6). Because the NAS toolchain is older, the new programs who need glibc refuse to run.

My question is:
Can there be two versions of glibc on the same system? I searched for this but couldn't find anything, so I guess not.

An alternative would be to upgrade the glibc version to 2.3.2 but I admit to have no clue on how to do this. Normally this process is handled by yum, apt or any other package tool, but these are not present on the embedded system. Can someone please give me a pointer on howto upgrade glibc and it's fellow libraries?

Thanks in advance.

Some system info:
Intel XScale 80219 ARM based cpu at 600 MHz
256 MB DDR ram with ECC
16 MB flash + 4 x 250 GB harddisks
Linux kernel 2.6.10-sanmina-aw
glibc 2.2.6

Styno 06-27-2006 02:39 AM

So it seems to difficult the replace glibc by hand, as there is no response...:eek:

In the mean time I focussed my attention to Crosstool and have succesfully build an ARM-Xscale Crosstool toolchain for gcc 3.5.4 and glibc 2.2.5. As the glibc library version of this toolchain is less of that on the Newisys NA-1400 (2.2.6), the resulting binaries should function just fine.

So problem not solved, but worked around. Thanks ;)

openbsd 06-27-2006 03:08 AM

Yes, use ldd to find the libraries needed by the executable file and put these libfiles
in a separate directory. To run the exec with these special libs set the environment variable LD_LIBRARY_PATH


you can run it by runing this command:
/lib/ --library-path /usr/local/mylib myprog

or compile gcc -static if you have memory enough.

Check documents with the know-how for jails and chroot environments.
Use tools and tips from

All times are GMT -5. The time now is 04:46 PM.