LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   version GLIBC_2.3.4 not found. How do I install on embedded sys w/o gcc? (https://www.linuxquestions.org/questions/linux-newbie-8/version-glibc_2-3-4-not-found-how-do-i-install-on-embedded-sys-w-o-gcc-676851/)

LinuxTexan 10-16-2008 12:52 PM

version GLIBC_2.3.4 not found. How do I install on embedded sys w/o gcc?
 
I'm working on an embedded system that has only 128MB on a flash disk. It doesn't have a CD. I can boot it from either the flash disk or a USB memory stick. It came preloaded with Linux. I have successfully updated the kernel to agree with the one on my development system computer.

My application I wrote runs correctly on the development computer. Now I'm trying to move it to the target embedded system.

Running produces errors of "libc.so.6: version 'GLIBC_2.3.4' not found (required by /lib/libX11.so.6)" and the same for libcXau.so.6 and libcXext.co.6

Both systems are running kernel 2.6.22.15. The development system is PCLinuxOS 2007. The embedded computer has a minimal system originally based on Slackware 9.1 but the vendor modified it and can't provide the changes. My USB stick has PCLinuxOS MiniMe 2008 on it but I only use it to reboot when 'kernel panic' occurs because I broke something 8=)

I have the GLIBC in an rpm file but...
rpm and gcc are not loaded onto the embedded system and there isn't space for them. I have attempted to install rpm but it fails to allow me to install GLIBC package because it fails to find the Packages database. There aren't any packages loaded on the embedded computer.

My questions are: how can I determine what file(s) need to be updated and is there a way to install the glibc files? I thought about installing them from the USB drive to the flash disk except I don't know how to get rpm (or some other tool) to install them on a different drive.

Any help would be appreciated. I'll keep trying to figure it out in the mean time.

Valery Reznic 10-17-2008 05:24 PM

If rpm doesn't work in your environment you can use rpm2cpio to convert rpm to cpio and then just extract cpio's content on your embedded system.
But usually messing with glibc is a bad idea - you can end up with totally unusable system and will have to re-install it.

Another possible approach: on the development system where your application is working pack your application using either Ermine (http://magicErmine.com) or statifier (http://statifier.sf.net).
Both of them create from executable and all needed shared libraries self-contained executable. This executable can be copied virtually to any Linux system (with same processor :) and run. No need to install any additional shared libraries.


All times are GMT -5. The time now is 07:10 AM.