Problem with installworld on 10-stable r262131

Thomas Steen Rasmussen thomas at gibfest.dk
Tue Feb 18 14:41:45 UTC 2014


On 18-02-2014 15:25, Dimitry Andric wrote:
> On 18 Feb 2014, at 11:41, Thomas Steen Rasmussen <thomas at gibfest.dk> wrote:
>> I am trying to upgrade my 10.0-REL amd64 machine to the latest 10-stable.
>> Building the world and kernel, and rebooting into the new GENERIC kernel went fine.
>>
>> Mergemaster -p was uneventful too, but when I tried to run installworld:
> ...
>> make: Permission denied
> Please post the output of "mount".  Any chance some filesystem is
> mounted noexec?  E.g. /usr/obj?
>
> -Dimitry
>
Hello,

/tmp is mounted noexec, the rest are not:

$ mount
/dev/ada0a on / (ufs, local)
devfs on /dev (devfs, local, multilabel)
tank/tmp on /tmp (zfs, local, noatime, noexec, nfsv4acls)
tank/usr on /usr (zfs, local, noatime, nfsv4acls)
tank/var on /var (zfs, local, noatime, nfsv4acls)
data on /data (zfs, local, noatime, nfsv4acls)
data/jails on /usr/jails (zfs, local, noatime, nfsv4acls)

Removing exec=off on /tmp got it a bit further, but it still failed:

---------------------------------------------------------------------------------------------
$ sudo make installworld
mkdir -p /tmp/install.RtEWDrPh
progs=$(for prog in [ awk cap_mkdb cat chflags chmod chown  date echo 
egrep find grep id install install-info  ln lockf make mkdir mtree 
nmtree mv pwd_mkdb  rm sed sh sysctl test true uname wc zic tzsetup; do  
if progpath=`which $prog`; then  echo $progpath;  else echo "Required 
tool $prog not found in PATH." >&2;  exit 1; fi;  done);  libs=$(ldd -f 
"%o %p\n" -f "%o %p\n" $progs 2>/dev/null | sort -u |  while read line; 
do  set -- $line;  if [ "$2 $3" != "not found" ]; then  echo $2;  else  
echo "Required library $1 not found." >&2;  exit 1;  fi;  done);  cp 
$libs $progs /tmp/install.RtEWDrPh
cp -R ${PATH_LOCALE:-"/usr/share/locale"} /tmp/install.RtEWDrPh/locale
cd /usr/src; MAKEOBJDIRPREFIX=/usr/obj MACHINE_ARCH=amd64 MACHINE=amd64 
CPUTYPE= GROFF_BIN_PATH=/usr/obj/usr/src/tmp/legacy/usr/bin 
GROFF_FONT_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/groff_font 
GROFF_TMAC_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/tmac 
PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/legacy/bin:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/tmp/install.RtEWDrPh 
LD_LIBRARY_PATH=/tmp/install.RtEWDrPh 
PATH_LOCALE=/tmp/install.RtEWDrPh/locale make -f Makefile.inc1 
COMPILER_TYPE=clang __MAKE_SHELL=/tmp/install.RtEWDrPh/sh reinstall;  
MAKEOBJDIRPREFIX=/usr/obj MACHINE_ARCH=amd64 MACHINE=amd64 CPUTYPE= 
GROFF_BIN_PATH=/usr/obj/usr/src/tmp/legacy/usr/bin 
GROFF_FONT_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/groff_font 
GROFF_TMAC_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/tmac 
PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/legacy/bin:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/tmp/install.RtEWDrPh 
LD_LIBRARY_PATH=/tmp/install.RtEWDrPh 
PATH_LOCALE=/tmp/install.RtEWDrPh/locale rm -rf /tmp/install.RtEWDrPh
--------------------------------------------------------------
 >>> Making hierarchy
--------------------------------------------------------------
cd /usr/src; make -f Makefile.inc1  LOCAL_MTREE= hierarchy
cd /usr/src/etc && 
PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/legacy/bin:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/legacy/bin:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/tmp/install.RtEWDrPh 
make LOCAL_MTREE= distrib-dirs
mtree -deU -f /usr/src/etc/mtree/BSD.root.dist -p /
mtree -deU -f /usr/src/etc/mtree/BSD.var.dist -p /var
empty:  flags ("schg" is not "none"mtree -deU -f 
/usr/src/etc/mtree/BSD.usr.dist -p /usr
mtree -deU -f /usr/src/etc/mtree/BSD.include.dist -p /usr/include
mtree -deU -f /usr/src/etc/mtree/BSD.groff.dist -p /usr
mtree -deU -f /usr/src/etc/mtree/BSD.sendmail.dist -p /
install -l s usr/src/sys /sys
cd /usr/share/man;  for mandir in man*; do  install -l s ../$mandir 
/usr/share/man/en.ISO8859-1/;  install -l s ../$mandir 
/usr/share/man/en.UTF-8/;  done
install: /usr/share/man/en.ISO8859-1//man1: Directory not empty
*** Error code 71

Stop.
make[4]: stopped in /usr/src/etc
*** Error code 1

Stop.
make[3]: stopped in /usr/src
*** Error code 1

Stop.
make[2]: stopped in /usr/src
*** Error code 1

Stop.
make[1]: stopped in /usr/src
*** Error code 1

Stop.
make: stopped in /usr/src
---------------------------------------------------------------------------------------------

I didn't know that exec was required on /tmp, is it supposed to be that 
way ?


Thanks!

/Thomas



More information about the freebsd-stable mailing list