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