installworld fails with /usr/bin and /usr/sbin on separate file
systems
Stefan Esser
se at freebsd.org
Fri Jul 29 13:22:46 UTC 2011
Installworld fails in "usr.sbin/chown" with a cross-device link error,
if /usr/bin and /usr/sbin are not on the same partition due to the
following line in Makefile:
LINKS= ${BINDIR}/chown /usr/bin/chgrp
In this case, ${BINDIR} is /usr/sbin and while both are subdirectories
of /usr (and thus typically within the /usr file system), there is no
reason /usr/bin and /usr/sbin could not be individual and independent
file systems.
(I ran into this problem when I played with ZFS file system tuning and
happened to create separate file systems for the above directories.)
I could not find any other place, where a hard link is used for files
in different subdirectories (typically ${BINDIR}/x -> ${BINDIR}/y or
${LIBDIR}/x -> ${LIBDIR}/y).
Installworld succeeds, if a symlink is used instead:
SYMLINKS= ${BINDIR}/chown /usr/bin/chgrp
Alternatively, the file could be copied, if the hard link can not be
created.
I'm not sure, whether this is an actual problem, since it does not
appear to have been reported before, but I think that "LINK=..."
should generally not be used between different directories.
Regards, STefan
More information about the freebsd-hackers
mailing list