Julian Stacey
2008-Jan-29 15:27 UTC
7-stable dynamic libraries perhaps more agressive than 6 ?
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