[nSLUG] Help? libstdc++ question/confusion

Daniel Morrison draker at gmail.com
Wed Jan 14 03:25:31 AST 2009


Hi Mike,

2009/1/14 Mike Spencer <mspencer at tallships.ca>:
>
> Summary: App works with config/libs on 2.4 kernel.  Fails with 2.6
>         kernel. Problem with libstdc++-libc6.1-1.so.2 apparently
>         hard-coded in a program.

> So I copy the real lib over to the same dir on the new box (nudel),

> and now the app in question segfaults.

Use 'ldd' to check what libraries your binary requires.
You can use it on libraries too.

$ ldd /usr/i486-slackware-linux/lib/libstdc++-libc6.1-1.so.2
        linux-gate.so.1 =>  (0xb7f96000)
        libm.so.6 => /lib/libm.so.6 (0xb7f24000)
        libc.so.6 => /lib/libc.so.6 (0xb7e06000)
        /lib/ld-linux.so.2 (0x80000000)

Note that libstdc++ depends on libm and libc -- so presumably the
'older' libstdc++ preferably depends on the 'older' libc and libm, not
the one on your new system. .  libc is your "core" library for
everything. I suspect you cannot use your binary together with the new
system libc (although I may be wrong; there may be ways around it,
such as LD_ASSUME_KERNEL=2.4.1 environment variable -- see details
here: http://people.redhat.com/alikins/troubleshooting/ )

I might suggest installing a mini slack-10-based system in a directory
somewhere, and chrooting into it in order to run the legacy app, as a
workaround.

-D.



More information about the nSLUG mailing list