From owner-freebsd-stable@FreeBSD.ORG Tue Jan 29 23:27:36 2008 Return-Path: Delivered-To: stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C3B3B16A494 for ; Tue, 29 Jan 2008 23:27:36 +0000 (UTC) (envelope-from jhs@berklix.org) Received: from tower.berklix.org (tower.berklix.org [83.236.223.114]) by mx1.freebsd.org (Postfix) with ESMTP id 3F65D13C458 for ; Tue, 29 Jan 2008 23:27:36 +0000 (UTC) (envelope-from jhs@berklix.org) Received: from js.berklix.net (p549A710F.dip.t-dialin.net [84.154.113.15]) (authenticated bits=0) by tower.berklix.org (8.13.6/8.13.6) with ESMTP id m0TNRX8t006863 for ; Tue, 29 Jan 2008 23:27:34 GMT (envelope-from jhs@berklix.org) Received: from fire.js.berklix.net (fire.js.berklix.net [192.168.91.41]) by js.berklix.net (8.13.8/8.13.8) with ESMTP id m0TNSv5q067887 for ; Wed, 30 Jan 2008 00:28:57 +0100 (CET) (envelope-from jhs@berklix.org) Received: from fire.js.berklix.net (localhost [127.0.0.1]) by fire.js.berklix.net (8.13.8/8.13.8) with ESMTP id m0TLUAX5085641 for ; Tue, 29 Jan 2008 22:31:31 +0100 (CET) (envelope-from jhs@fire.js.berklix.net) Message-Id: <200801292131.m0TLUAX5085641@fire.js.berklix.net> To: stable@freebsd.org From: "Julian Stacey" Organization: http://berklix.com BSD Linux Unix Consultancy, Munich/Muenchen. User-agent: EXMH on FreeBSD http://berklix.com/free/ X-URL: http://berklix.com/~jhs/cv/ Date: Tue, 29 Jan 2008 22:30:10 +0100 Sender: jhs@berklix.org Cc: Subject: 7-stable dynamic libraries perhaps more agressive than 6 ? X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jan 2008 23:27:36 -0000 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