>>>>> Elena Vorisi & Edoardo Comar writes:
Elena> Hi.
Elena> excuse me, it surely is a newbie question ...
Elena> assuming my system is using glibc2.1, which resides in /lib
Elena> why can't I install a glibc2.0 in a /glibc2.0 directory under my home dir
Elena> and have only selected apps (as for instance jdk12_pre_v1) use it,
Elena> executing them from a shell where I have set :
Elena> export LD_LIBRARY_PATH=$HOME/glibc20:$LD_LIBRARY_PATH
Elena> I hoped this would have allowed me to use glibc20 programs on my rh6 system,
Elena> but I got messages from bash complaining about the version number.
Elena> I guess I should set some other env var, but don't know what.
Elena> I know jdk12 for glibc21 is released, but I would have liked to be able
Elena> to overcome similar issues with other sw ...
This is off-topic here,
Andreas
P.S.: See question 3.18 from the glibc 2.1.1 FAQ:
3.18. After upgrading to glibc 2.1, I receive errors about
unresolved symbols, like `_dl_initial_searchlist' and can not
execute any binaries. What went wrong?
{AJ} This normally happens if your libc and ld (dynamic linker) are from
different releases of glibc. For example, the dynamic linker
/lib/ld-linux.so.2 comes from glibc 2.0.x, but the version of libc.so.6 is
from glibc 2.1.
The path /lib/ld-linux.so.2 is hardcoded in every glibc2 binary but
libc.so.6 is searched via /etc/ld.so.cache and in some special directories
like /lib and /usr/lib. If you run configure with another prefix than /usr
and put this prefix before /lib in /etc/ld.so.conf, your system will break.
So what can you do? Either of the following should work:
* Run `configure' with the same prefix argument you've used for glibc 2.0.x
so that the same paths are used.
* Replace /lib/ld-linux.so.2 with a link to the dynamic linker from glibc
2.1.
You can even call the dynamic linker by hand if everything fails. You've
got to set LD_LIBRARY_PATH so that the corresponding libc is found and also
need to provide an absolute path to your binary:
LD_LIBRARY_PATH=<path-where-libc.so.6-lives> \
<path-where-corresponding-dynamic-linker-lives>/ld-linux.so.2 \
<path-to-binary>/binary
For example `LD_LIBRARY_PATH=/libold /libold/ld-linux.so.2 /bin/mv ...'
might be useful in fixing a broken system (if /libold contains dynamic
linker and corresponding libc).
With that command line no path is used. To further debug problems with the
dynamic linker, use the LD_DEBUG environment variable, e.g.
`LD_DEBUG=help echo' for the help text.
If you just want to test this release, don't put the lib directory in
/etc/ld.so.conf. You can call programs directly with full paths (as above).
When compiling new programs against glibc 2.1, you've got to specify the
correct paths to the compiler (option -I with gcc) and linker (options
--dynamic-linker, -L and --rpath).
--
Andreas Jaeger [EMAIL PROTECTED] [EMAIL PROTECTED]
for pgp-key finger [EMAIL PROTECTED]
----------------------------------------------------------------------
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]