Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Jun 2009 10:53:30 +0200
From:      "Ralf S. Engelschall" <rse+freebsd-stable@FreeBSD.org>
To:        freebsd-stable@freebsd.org
Subject:   FreeBSD 7-STABLE and chflags on ZFS now(?) failing
Message-ID:  <20090629085330.GA93108@engelschall.com>

next in thread | raw e-mail | index | archive | help
One of my FreeBSD boxes is a 7-STABLE/amd64 one on ZFS, now in
production for over a 1.5 years now and which receives regular upgrades.
The last installation of FreeBSD 7-STABLE was just about 2 weeks ago.
Today the upgrade failed the first time:

----------------------------------------------------------------------------
cd /usr/src; /usr/bin/make -f Makefile.inc1 install
===> share/info (install)
===> lib (install)
===> lib/csu/amd64 (install)
install -o root -g wheel -m 444  crt1.o crti.o crtn.o gcrt1.o /usr/lib
===> lib/libc (install)
install -C -o root -g wheel -m 444   libc.a /usr/lib
install -C -o root -g wheel -m 444   libc_p.a /usr/lib
install -s -o root -g wheel -m 444   -fschg -S  libc.so.7 /lib
install: /lib/libc.so.7: chflags: Invalid argument
*** Error code 71

Stop in /usr/src/lib/libc.
*** Error code 1

Stop in /usr/src/lib.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
        3.30s real              0.35s user              0.75s sys
/libexec/ld-elf.so.1: Shared object "libc.so.7" not found, required by "sh"
*** Error code 1

Stop in /usr/adm.
*** Error code 1 (ignored)
/libexec/ld-elf.so.1: Shared object "libc.so.7" not found, required by "sh"
*** Error code 1 (ignored)
/libexec/ld-elf.so.1: Shared object "libc.so.7" not found, required by "sh"
*** Error code 1 (ignored)
/libexec/ld-elf.so.1: Shared object "libc.so.7" not found, required by "sh"
*** Error code 1 (ignored)
/libexec/ld-elf.so.1: Shared object "libc.so.7" not found, required by "sh"
*** Error code 1

Stop in /usr/adm.
*** Error code 1 (ignored)
# sh
/libexec/ld-elf.so.1: Shared object "libc.so.7" not found, required by "sh"
#
----------------------------------------------------------------------------

Fortunately, I was able to quickly recover via "/rescue/cp" by copying
a libc.so.7 from a Jail to the host system (where the upgrade was
performed). But why has this problem occurred now.

Well, /lib is on ZFS and I can remember from the past that ZFS did not
honor chflags. But remains two questions:

1. I thought chflags support for ZFS was added already in the past.
   Can it be that just a _few_ chflags flags are supported? It looks
   like uchg works while the above schg fails.

2. Assuming that schg was never supported on ZFS by us, why did the
   upgrades in the past on this FreeBSD 7-STABLE box never failed until
   now? Why now the first time? I would have expected that it already
   failed from day zero with the above error.

As workaround I've now put a NO_SCHG=yes into /etc/make.conf and
performed the upgrade from scratch. Now it succeeded, of course. But I
still do not know the answer to the above two questions and this makes
me still feel a little bit unsure about the whole situation...


PS: At a mergemaster run I now got a problems which looks related:
    mv: /var/db/mergemaster.mtree: set flags (was: 00000000): Invalid argument
    Yes, /var is also on ZFS here. Same problem as it looks. But I'm
    sure also this error did not occur in the past...

--
rse@FreeBSD.org                        Ralf S. Engelschall
FreeBSD.org/~rse                       rse@engelschall.com
FreeBSD committer                      www.engelschall.com




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090629085330.GA93108>