7-stable dynamic libraries perhaps more agressive than 6 ?
Julian Stacey
jhs at berklix.org
Tue Jan 29 15:27:36 PST 2008
Just asking this below out of interest (no insurmountable problem):
Is 7-stable dynamic executable scheme a little more demanding than 6 ?
I've been upgrading machines for some years with fairly careful
sequences of `mv' of trees pre positioned within same FS (to avoid
eg link breaks within /rescue & du explosion etc) & havent been
caught for years on shared libs, yet just been caught on 2 boxes,
moving from 7.0-RC1 to 7-Stable. (I know below is not the official
way but I had slow target hosts & all bins precompiled from another
host & ftp'd.)
Rest of post is a log illustrating 2 lines marked *** puzzling me.
& 2 lines === of work round.
( /ST holds my new stable bins compiled on another box
/7R1 the older 7.0-RC1 bins from cdrom )
cp `which mv` /mv
pwd
/ST
foreach i ( * )
foreach? /mv /$i /7R1/$i
foreach? /mv $i /$i
foreach? echo done $i
foreach? end
done bin
done boot
***/libexec/ld-elf.so.1: Shared object "libc.so.7" not found, required by "mv"
done lib
/libexec/ld-elf.so.1: Shared object "libc.so.7" not found, required by "mv"
/libexec/ld-elf.so.1: Shared object "libc.so.7" not found, required by "mv"
done libexec
/libexec/ld-elf.so.1: Shared object "libc.so.7" not found, required by "mv"
/libexec/ld-elf.so.1: Shared object "libc.so.7" not found, required by "mv"
done sbin
# Suprising, used to have no problem pre 7 with Static mv.
cd /ST
ls
lib libexec sbin
ls /7R1
bin boot lib
ldd /bin/mv
*** ldd: /bin/mv: not a dynamic executable # as expected
# But why did /mv complain ? maybe 'cos it exec'd a cp
# for a directory & cp is not static, but didn't used to error.
file `which ln`
/bin/ln: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 7.0 (700100), statically linked, FreeBSD-style, stripped
file `which cp`
/bin/cp: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 7.0 (700100), statically linked, FreeBSD-style, stripped
file `which ldconfig`
ldconfig -v -R
/libexec/ld-elf.so.1: Shared object "libc.so.7" not found, required by "ldconfig"
# I'd been thinking of setenv LD_LIBRARY_PATH
===setenv LD_LIBRARY_PATH /lib:/7R1/lib:/ST/lib:/usr/lib:/usr/local/lib
===ldconfig -R /7R1/lib /ST/lib
/mv /etc.lapd /etc.lapd2 ; /mv /etc.lapd2 /etc.lapd
# Shows one of the above now makes /mv work again.
pwd
/ST
ls
lib libexec sbin
ls /7R1
bin boot lib
ls /lib
ls: /lib: No such file or directory
/mv lib /lib
ls
libexec sbin
/mv /sbin /7R1/
/mv sbin /sbin
/mv /libexec /7R1/
mv libexec / # whoops, I forgot / befor mv but OK
Julian
--
Julian Stacey. Munich Consultant: BSD Linux Unix. http://berklix.com
More information about the freebsd-stable
mailing list