This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: ./a.out: symbol errno, version GLIBC_2.0 not defined
Pramod P K wrote:
thanx
situation is, ive a target arm-9tdmi-linux-gnu for *old*er versions of
GCC, GLIBC..
But what you have on the target? Nothing at all or an installed Linux?
Now ive created another, *new* for
gcc-3.4.3
glibc-2.3.3
If you still aim to produce apps for the old installed Linux, you
should produce your crosstoolchain to target to that system, not for
"something else" which is more up-to-date and with newer components.
So producing gcc-3.4.3 is fully OK but replacing the existing C library
in the crosstoolchain is totally wrong !
When I use new one, to compile & get a.out for a program from the two,
new ones a.out gives error:
../a.out: symbol errno, version GLIBC_2.0
not defined in file libc.so.6 with link time reference
When I do: vi ./a.out
there are two differnces. The *old* a.out
has(............./lib/ld-linux.so.3..........
GLIBC_2.4...............)
& *new* a.out has ( ...........
/lib/ld-linux.so.2........................GLIBC_2.0........)
What cud be the problem?
There is no "forwards compatability", only "backwards" such, old apps
should still run on the newer systems but new apps are never quaranteed
to run on the older systems...
So just produce a totally normal crosstoolchain for your target system,
with the glibc produced for it. You should have some sane reason to try
to replace the existing glibc installed on the target ! "If it ain't
broken, don't fix it!"...