Ralf S. Engelschall wrote:
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.
I believe that for schg `zfs get version <file_system_with /lib>`
must be 3.
To upgrade this: `zfs upgrade <file_system_with /lib>`
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.
Just a try to this strange problem:
`man install` say:
By default, install preserves all file flags, with the exception of the
``nodump'' flag.
With the previous version of zfs there was no flags and so no try to
play with flags during update.
Henri
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...
--
[email protected] Ralf S. Engelschall
FreeBSD.org/~rse [email protected]
FreeBSD committer www.engelschall.com
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[email protected]"
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[email protected]"