This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: sh4 problem: "/lib/libstdc++.so.5: no version information available"


Daniel Jacobowitz wrote:
--enable-symvers=gnu should do the trick anyway.

I added that when configuring my final gcc, and it helped quite a bit! Now I'm getting:

./sh4-unknown-linux-gnu-hello2: /lib/libstdc++.so.5: version `GLIBC_2.2' not found (required by ./sh4-unknown-linux-gnu-hello2)
./sh4-unknown-linux-gnu-hello2: /lib/libstdc++.so.5: version `GLIBC_2.2' not found (required by /lib/libstdc++.so.5)
./sh4-unknown-linux-gnu-hello2: /lib/libstdc++.so.5: version `GLIBC_2.2' not found (required by /lib/libstdc++.so.5)

That seems a bit odd. The C hello still runs fine, btw.

All I can think of is there's something fishy going
on in my chroot environment on the target.  I did
try doing a ldconfig in the chroot jail, but I guess
that was the moral equivalent of swinging a dead chicken
over my head for luck; it didn't do anything.


FWIW, let's try ldd on libstdc++.so.5 on my workstation's own copy, then on the target:

** x86 workstation **
$ ldd /usr/local/lib/libstdc++.so.5
        libm.so.6 => /lib/libm.so.6 (0x400c0000)
        libgcc_s.so.1 => /usr/local/lib/libgcc_s.so.1 (0x400e1000)
        libc.so.6 => /lib/libc.so.6 (0x400e9000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)

$ objdump -p /usr/local/lib/libstdc++.so.5
...
Version References:
  required from libgcc_s.so.1:
    0x0b792650 0x00 08 GCC_3.0
  required from libc.so.6:
    0x0d696912 0x00 10 GLIBC_2.2
    0x09691f73 0x00 09 GLIBC_2.1.3
    0x0d696911 0x00 07 GLIBC_2.1
    0x0d696910 0x00 06 GLIBC_2.0

** target (I'm on my workstation, but the rsh server on 11.3.4.1 is in the chroot environment) **

$ rsh 11.3.4.1 ldd  /lib/libstdc++.so.5
/lib/libstdc++.so.5: /lib/libstdc++.so.5: version `GLIBC_2.2' not found (required by /lib/libstdc++.so.5)
/lib/libstdc++.so.5: /lib/libstdc++.so.5: version `GLIBC_2.2' not found (required by /lib/libstdc++.so.5)

$ objdump -p libstdc++.so.5
...
Version References:
  required from libm.so.6:
    0x0d696912 0x00 09 GLIBC_2.2
  required from libc.so.6:
    0x0d696912 0x00 08 GLIBC_2.2

Ah, well, too late at night to think.   This is my first
attempt at testing a whole toolchain in a chroot environment,
maybe I'm just doing something wrong.

- Dan

--
Dan Kegel
http://www.kegel.com
http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=78045


------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]