'make installworld' fails while upgrading from 9.0-CURRENT to
9.0-RELEASE
Jeremy Chadwick
freebsd at jdc.parodius.com
Fri Jan 20 09:03:07 UTC 2012
On Fri, Jan 20, 2012 at 09:19:54AM +0200, Alexander Shikoff wrote:
> I'm unable to complete upgrading 9.0-CURRENT to 9.0-RELEASE from sources.
> 'make installworld' fails on installing chpass:
> [...]
> ===> usr.bin/chpass (install)
> install -s -o root -g wheel -m 4555 chpass /usr/bin
> install -o root -g wheel -m 444 chpass.1.gz /usr/share/man/man1
> /usr/share/man/man1/chfn.1.gz -> /usr/share/man/man1/chpass.1.gz
> /usr/share/man/man1/chsh.1.gz -> /usr/share/man/man1/chpass.1.gz
> /usr/share/man/man1/ypchpass.1.gz -> /usr/share/man/man1/chpass.1.gz
> /usr/share/man/man1/ypchfn.1.gz -> /usr/share/man/man1/chpass.1.gz
> /usr/share/man/man1/ypchsh.1.gz -> /usr/share/man/man1/chpass.1.gz
> /usr/bin/chfn -> /usr/bin/chpass
> ln: /usr/bin/chfn: Operation not permitted
>
> It seems that it fails because of schg flag on old chfn, chsh, ypchpass,
> ypchfn, ypchsh binaries. Should I manually remove it? Or there is
> another way to fix an issue? Thanks in advance!
Another person asked if you did installworld in single-user mode; very
possible. You need to follow the instructions for rebuilding a system
as documented in /usr/src/Makefile every single time you rebuild
world/kernel (do not divert from the procedure). The procedure is
preceded by the comment "For individuals wanting to upgrade their
sources (even if only a delta of a few days)", around line 50 or so.
If the system is remote and lacks serial console or remote KVM (e.g. you
cannot boot single-user), then you're going to have to ask someone to do
it for you, or make a trip to the datacenter.
Another possibility is that you're using a kern.securelevel that isn't
-1 (man security(7) and search for securelevel).
Another possibility is that you might have "old cruft" (somehow) in your
/usr/obj directory from the CURRENT/HEAD days. The procedure that has
been recently discussed is for you to do the following exactly (where
${obj} is /usr/obj):
/bin/rm -rf ${obj}/* 2> /dev/null || /bin/chflags -R 0 ${obj}/* && /bin/rm -rf ${obj}/*
Then rebuild world/kernel again and do your installations.
And though this isn't a cause of your problem, it's something you should
be made aware of in the case you used csup or cvsup to move from HEAD to
RELEASE: if all you did was change your supfile's tag line to match
RELENG_9_0 (for example), but you didn't nuke /var/db/sup/src-all (or
/usr/sup stuff if you use cvsup -- hope not) AND did not nuke
/usr/src/*, then there could be src vs. sup database mismatches. This
doesn't apply if you used svn natively, etc...
--
| Jeremy Chadwick jdc at parodius.com |
| Parodius Networking http://www.parodius.com/ |
| UNIX Systems Administrator Mountain View, CA, US |
| Making life hard for others since 1977. PGP 4BD6C0CB |
More information about the freebsd-stable
mailing list