Re: installworld broken - osreldate.h: permission denied
Bezüglich Ian Lepore's Nachricht vom 28.09.2013 19:19 (localtime): On Sat, 2013-09-28 at 15:09 +0200, Joel Dahl wrote: Hi, Fresh HEAD. installworld from read-only /usr/obj and /usr/src: /usr/src/include/iconv.h osreldate.h /usr/include install: osreldate.h: Permission denied *** Error code 71 Stop. make[4]: stopped in /usr/src/include *** Error code 1 Everything was working fine 2 weeks ago, so it's a recent breakage. Okay, I just accidentally created conditions for this error on my system... I checked in a change to newvers.sh while a buildworld was running, which led to a situation where newvers.sh was newer than osreldate.h at the end of the buildworld. Then an installworld tried to regenerate osreldate.h due to its dependency on newvers.sh, which would fail if the obj was readonly at that point. I think we could see if something similar applies for you if you use this command: make -dm installworld SUBDIR_OVERRIDE=include And we'd be looking for the end of the output to be something like: Examining _libiconv_compat.h... modified 10:51:18 Sep 28, 2013...up-to-date Make_Update: _libiconv_compat.h inspect parent buildincludes: flags 0, type 18001, made 0, unmade 95 - not needed inspect parent _INCSINS: flags 9, type b01, made 1, unmade 1 - unmade children Examining osreldate.h... modified 10:39:21 Sep 28, 2013...modified before source /local/build/staging/freebsd/head/src/include/../sys/conf/newvers.sh...out-of-date env ECHO=echo MAKE=/local/build/staging/freebsd/head/obj/local/build/staging/freebsd/head/src/make.i386/bmake NEWVERS_SH=/local/build/staging/freebsd/head/src/include/../sys/conf/newvers.sh PARAM_H=/local/build/staging/freebsd/head/src/include/../sys/sys/param.h SYSDIR=/local/build/staging/freebsd/head/src/include/../sys sh /local/build/staging/freebsd/head/src/include/mk-osreldate.sh env: not found *** [osreldate.h] Error code 127 The env: not found is what I got instead of a permission denied, and probably has something to do with me cross-building amd64 10.0 from an i386 8.x machine. I think that's where you'd see the permission error. If the same sort of thing is happening for you, then all that's left is to figure out why osreldate.h is out of date at install time, and how to handle things if that's the case. Thanks for your suggestion how to best find out what's going on. I have the same problem you observed (env: not found), not the permission problem the thread opener had. For any reason, not relevant at this point, my ${src}/sys/conf/newvers.sh is newer than 'include/osreldate.h' under $OBJDIRPREFIX/i386.i386/…. Now in 'include/Makefile', sh ${MK_OSRELDATE_SH} should be called by 'env' in target 'osreldate.h vers.c:'. Problem is, that PATH has sevaral bin-sbin directories under $OBJDIRPREFIX/…/tmp/ _and_ $INSTALLTMP, and none of them provides 'env'. The latter is filled with target 'distributeworld installworld:' in Makefile.inc1, with $ITOOLS. The following additional tools are missing in ITOOLS to make recreating osreldate.h work at installworld stage: env, hostname, mktemp and touch So a patch to work arround that issue looks like this: --- src/Makefile.inc1.orig 2014-09-25 17:36:16.0 +0200 +++ src/Makefile.inc1 2014-09-25 17:47:14.0 +0200 @@ -697,9 +697,9 @@ .endif ITOOLS= [ awk cap_mkdb cat chflags chmod chown \ - date echo egrep find grep id install ${_install-info} \ - ln lockf make mkdir mtree ${_nmtree_itools} mv pwd_mkdb \ - rm sed sh sysctl test true uname wc ${_zoneinfo} + date echo egrep env find grep hostname id install ${_install-info} \ + ln lockf make mkdir mktemp mtree ${_nmtree_itools} mv pwd_mkdb \ + rm sed sh sysctl test touch true uname wc ${_zoneinfo} # # distributeworld I have no idea if there's a better way, but if these tools are not to be added, the check for outdated osreldate.h should be disabled because recreation at install stage is not possible without. At least this is true for compiling 9.3-i386 on 10-stable-amd64. -Harry signature.asc Description: OpenPGP digital signature
Re: installworld broken - osreldate.h: permission denied
On Mon, Sep 30, 2013 at 1:12 AM, Joel Dahl j...@freebsd.org wrote: On Sun, Sep 29, 2013 at 07:53:44PM -0700, John-Mark Gurney wrote: Joel Dahl wrote this message on Sun, Sep 29, 2013 at 10:13 +0200: On Sat, Sep 28, 2013 at 11:19:51AM -0600, Ian Lepore wrote: On Sat, 2013-09-28 at 15:09 +0200, Joel Dahl wrote: Hi, Fresh HEAD. installworld from read-only /usr/obj and /usr/src: /usr/src/include/iconv.h osreldate.h /usr/include install: osreldate.h: Permission denied *** Error code 71 Stop. make[4]: stopped in /usr/src/include *** Error code 1 Everything was working fine 2 weeks ago, so it's a recent breakage. Okay, I just accidentally created conditions for this error on my system... I checked in a change to newvers.sh while a buildworld was running, which led to a situation where newvers.sh was newer than osreldate.h at the end of the buildworld. Then an installworld tried to regenerate osreldate.h due to its dependency on newvers.sh, which would fail if the obj was readonly at that point. I think we could see if something similar applies for you if you use this command: make -dm installworld SUBDIR_OVERRIDE=include I tried this with a fresh HEAD but the error message is still the same. /usr/src and /usr/obj are NFS mounted, FYI. Are you building on one machine and running install on another? Are the dates the same between the two machines? Yes, both machines are running ntp. I've double-checked the dates and they are in sync. -- Joel The problem is UFS and NFS 3 do not have a COMMON user model . Each user is setting his/her update flag in the server , and the other users are NOT able to access to his/her updated files. In this subject , I had asked the following question : http://lists.freebsd.org/pipermail/freebsd-questions/2013-September/253323.html ( NFS file modes consistency among different operating systems ) I could not find any answer which is applicable . Setting client umask value is NOT respected by any application ( I do not know which ones are using it ) . My solution is to frequently set file modes in the server to a common mode such as rwx-rwx-rwx to allow other users from other computers to access and use the files although the users are the same person with the same name in the client computers . Some Linux distributions even is NOT respecting such a mode and they are giving Permission denied for executable programs which is not possible to find which part is responsible for this rejection . I could not find a detailed information about NFS 4 user model from client computers . It seems that NFS does not have a configuration file to manage access rights among different users by setting default file modes which all of the clients uses that mode . ZFS and NFS 4 together giving an impression that such facilities may be used , but NFS 4 is not mentioned in the FreeBSD Handbook as production usable . In the man pages , it is called as experimental . Therefore , only solution , perhaps , is to set file modes in server when it becomes necessary to access to these files by another user . My knowledge is so much . This is a difficult situation for shared use of NFS 3 by different clients on the same directories . Thank you very much . Mehmet Erol Sanliturk ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: installworld broken - osreldate.h: permission denied
30.09.2013 09:12, Joel Dahl пишет: On Sun, Sep 29, 2013 at 07:53:44PM -0700, John-Mark Gurney wrote: Joel Dahl wrote this message on Sun, Sep 29, 2013 at 10:13 +0200: On Sat, Sep 28, 2013 at 11:19:51AM -0600, Ian Lepore wrote: On Sat, 2013-09-28 at 15:09 +0200, Joel Dahl wrote: Hi, Fresh HEAD. installworld from read-only /usr/obj and /usr/src: /usr/src/include/iconv.h osreldate.h /usr/include install: osreldate.h: Permission denied *** Error code 71 Stop. make[4]: stopped in /usr/src/include *** Error code 1 Everything was working fine 2 weeks ago, so it's a recent breakage. Okay, I just accidentally created conditions for this error on my system... I checked in a change to newvers.sh while a buildworld was running, which led to a situation where newvers.sh was newer than osreldate.h at the end of the buildworld. Then an installworld tried to regenerate osreldate.h due to its dependency on newvers.sh, which would fail if the obj was readonly at that point. I think we could see if something similar applies for you if you use this command: make -dm installworld SUBDIR_OVERRIDE=include I tried this with a fresh HEAD but the error message is still the same. /usr/src and /usr/obj are NFS mounted, FYI. Are you building on one machine and running install on another? Are the dates the same between the two machines? Yes, both machines are running ntp. I've double-checked the dates and they are in sync. Do those machines have accurate timezones set? -- WBR, bsam ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: installworld broken - osreldate.h: permission denied
On Mon, Sep 30, 2013 at 12:03:47PM +0400, Boris Samorodov wrote: 30.09.2013 09:12, Joel Dahl пишет: On Sun, Sep 29, 2013 at 07:53:44PM -0700, John-Mark Gurney wrote: Joel Dahl wrote this message on Sun, Sep 29, 2013 at 10:13 +0200: On Sat, Sep 28, 2013 at 11:19:51AM -0600, Ian Lepore wrote: On Sat, 2013-09-28 at 15:09 +0200, Joel Dahl wrote: Hi, Fresh HEAD. installworld from read-only /usr/obj and /usr/src: /usr/src/include/iconv.h osreldate.h /usr/include install: osreldate.h: Permission denied *** Error code 71 Stop. make[4]: stopped in /usr/src/include *** Error code 1 Everything was working fine 2 weeks ago, so it's a recent breakage. Okay, I just accidentally created conditions for this error on my system... I checked in a change to newvers.sh while a buildworld was running, which led to a situation where newvers.sh was newer than osreldate.h at the end of the buildworld. Then an installworld tried to regenerate osreldate.h due to its dependency on newvers.sh, which would fail if the obj was readonly at that point. I think we could see if something similar applies for you if you use this command: make -dm installworld SUBDIR_OVERRIDE=include I tried this with a fresh HEAD but the error message is still the same. /usr/src and /usr/obj are NFS mounted, FYI. Are you building on one machine and running install on another? Are the dates the same between the two machines? Yes, both machines are running ntp. I've double-checked the dates and they are in sync. Do those machines have accurate timezones set? Yes, they do. -- Joel ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: installworld broken - osreldate.h: permission denied
On Mon, 2013-09-30 at 17:48 +0200, Joel Dahl wrote: On Mon, Sep 30, 2013 at 12:03:47PM +0400, Boris Samorodov wrote: 30.09.2013 09:12, Joel Dahl пишет: On Sun, Sep 29, 2013 at 07:53:44PM -0700, John-Mark Gurney wrote: Joel Dahl wrote this message on Sun, Sep 29, 2013 at 10:13 +0200: On Sat, Sep 28, 2013 at 11:19:51AM -0600, Ian Lepore wrote: On Sat, 2013-09-28 at 15:09 +0200, Joel Dahl wrote: Hi, Fresh HEAD. installworld from read-only /usr/obj and /usr/src: /usr/src/include/iconv.h osreldate.h /usr/include install: osreldate.h: Permission denied *** Error code 71 Stop. make[4]: stopped in /usr/src/include *** Error code 1 Everything was working fine 2 weeks ago, so it's a recent breakage. Okay, I just accidentally created conditions for this error on my system... I checked in a change to newvers.sh while a buildworld was running, which led to a situation where newvers.sh was newer than osreldate.h at the end of the buildworld. Then an installworld tried to regenerate osreldate.h due to its dependency on newvers.sh, which would fail if the obj was readonly at that point. I think we could see if something similar applies for you if you use this command: make -dm installworld SUBDIR_OVERRIDE=include I tried this with a fresh HEAD but the error message is still the same. /usr/src and /usr/obj are NFS mounted, FYI. Are you building on one machine and running install on another? Are the dates the same between the two machines? Yes, both machines are running ntp. I've double-checked the dates and they are in sync. Do those machines have accurate timezones set? Yes, they do. I don't understand all this thrashing around with questions about ntp and timezones and all. Right now there's only one question that matters: why are you getting permission denied trying to install osreldate.h? I posted a speculation on one thing that might lead to that (attempting to recreate the file at install time), and I gave the command that would provide that information. Until we have that information, everything else is just guessing at the underlying causes of problems we don't know to be happening. The command which will show in more detail what make is doing with osreldate.h at install time is: make -dm installworld SUBDIR_OVERRIDE=include The SUBDIR_OVERRIDE is so that it only gives that extreme level of detail for the one directory causing a problem (the -dm output is very verbose). We don't need the full output from that command... near the end of the output should be Examining osreldate.h... and it's the lines from there to the end that matter. -- Ian ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: installworld broken - osreldate.h: permission denied
On Sun, Sep 29, 2013 at 10:13:29AM +0200, Joel Dahl wrote: On Sat, Sep 28, 2013 at 11:19:51AM -0600, Ian Lepore wrote: On Sat, 2013-09-28 at 15:09 +0200, Joel Dahl wrote: Fresh HEAD. installworld from read-only /usr/obj and /usr/src: /usr/src/include/iconv.h osreldate.h /usr/include install: osreldate.h: Permission denied *** Error code 71 Stop. make[4]: stopped in /usr/src/include *** Error code 1 Everything was working fine 2 weeks ago, so it's a recent breakage. Okay, I just accidentally created conditions for this error on my system... I checked in a change to newvers.sh while a buildworld was running, which led to a situation where newvers.sh was newer than osreldate.h at the end of the buildworld. Then an installworld tried to regenerate osreldate.h due to its dependency on newvers.sh, which would fail if the obj was readonly at that point. I think we could see if something similar applies for you if you use this command: make -dm installworld SUBDIR_OVERRIDE=include I tried this with a fresh HEAD but the error message is still the same. /usr/src and /usr/obj are NFS mounted, FYI. I had the same problem as Joel. It has nothing to do with timestamps, but with the default -maproot -2:-2. The include/mk-osreldate.sh script creates osreldate.h from mktemp(1), so with mode 600. The squashed root (nobody) is then not allowed to read it. The below patch should fix it. Index: include/mk-osreldate.sh === --- include/mk-osreldate.sh (revision 255946) +++ include/mk-osreldate.sh (working copy) @@ -48,4 +48,5 @@ #define __FreeBSD_version $RELDATE #endif EOF +chmod 644 $tmpfile mv $tmpfile osreldate.h -- Jilles Tjoelker ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: installworld broken - osreldate.h: permission denied
On Mon, 2013-09-30 at 19:02 +0200, Jilles Tjoelker wrote: On Sun, Sep 29, 2013 at 10:13:29AM +0200, Joel Dahl wrote: On Sat, Sep 28, 2013 at 11:19:51AM -0600, Ian Lepore wrote: On Sat, 2013-09-28 at 15:09 +0200, Joel Dahl wrote: Fresh HEAD. installworld from read-only /usr/obj and /usr/src: /usr/src/include/iconv.h osreldate.h /usr/include install: osreldate.h: Permission denied *** Error code 71 Stop. make[4]: stopped in /usr/src/include *** Error code 1 Everything was working fine 2 weeks ago, so it's a recent breakage. Okay, I just accidentally created conditions for this error on my system... I checked in a change to newvers.sh while a buildworld was running, which led to a situation where newvers.sh was newer than osreldate.h at the end of the buildworld. Then an installworld tried to regenerate osreldate.h due to its dependency on newvers.sh, which would fail if the obj was readonly at that point. I think we could see if something similar applies for you if you use this command: make -dm installworld SUBDIR_OVERRIDE=include I tried this with a fresh HEAD but the error message is still the same. /usr/src and /usr/obj are NFS mounted, FYI. I had the same problem as Joel. It has nothing to do with timestamps, but with the default -maproot -2:-2. The include/mk-osreldate.sh script creates osreldate.h from mktemp(1), so with mode 600. The squashed root (nobody) is then not allowed to read it. The below patch should fix it. Index: include/mk-osreldate.sh === --- include/mk-osreldate.sh (revision 255946) +++ include/mk-osreldate.sh (working copy) @@ -48,4 +48,5 @@ #define __FreeBSD_version $RELDATE #endif EOF +chmod 644 $tmpfile mv $tmpfile osreldate.h Thank you Jilles. I was never that fond of the timestamp theory, it was just the only one I could come up without any data. I think I was unable to reproduce the problem because all my in-house nfs shares use -maproot 0. Joel, please test Jilles' patch, and I'll get the ball rolling for approval to commit it. -- Ian ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: installworld broken - osreldate.h: permission denied
On Mon, Sep 30, 2013 at 07:02:43PM +0200, Jilles Tjoelker wrote: On Sun, Sep 29, 2013 at 10:13:29AM +0200, Joel Dahl wrote: On Sat, Sep 28, 2013 at 11:19:51AM -0600, Ian Lepore wrote: On Sat, 2013-09-28 at 15:09 +0200, Joel Dahl wrote: Fresh HEAD. installworld from read-only /usr/obj and /usr/src: /usr/src/include/iconv.h osreldate.h /usr/include install: osreldate.h: Permission denied *** Error code 71 Stop. make[4]: stopped in /usr/src/include *** Error code 1 Everything was working fine 2 weeks ago, so it's a recent breakage. Okay, I just accidentally created conditions for this error on my system... I checked in a change to newvers.sh while a buildworld was running, which led to a situation where newvers.sh was newer than osreldate.h at the end of the buildworld. Then an installworld tried to regenerate osreldate.h due to its dependency on newvers.sh, which would fail if the obj was readonly at that point. I think we could see if something similar applies for you if you use this command: make -dm installworld SUBDIR_OVERRIDE=include I tried this with a fresh HEAD but the error message is still the same. /usr/src and /usr/obj are NFS mounted, FYI. I had the same problem as Joel. It has nothing to do with timestamps, but with the default -maproot -2:-2. The include/mk-osreldate.sh script creates osreldate.h from mktemp(1), so with mode 600. The squashed root (nobody) is then not allowed to read it. The below patch should fix it. Index: include/mk-osreldate.sh === --- include/mk-osreldate.sh (revision 255946) +++ include/mk-osreldate.sh (working copy) @@ -48,4 +48,5 @@ #define __FreeBSD_version $RELDATE #endif EOF +chmod 644 $tmpfile mv $tmpfile osreldate.h This patch fixes the problem for me. Thanks. -- Joel ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: installworld broken - osreldate.h: permission denied
On Sat, Sep 28, 2013 at 11:19:51AM -0600, Ian Lepore wrote: On Sat, 2013-09-28 at 15:09 +0200, Joel Dahl wrote: Hi, Fresh HEAD. installworld from read-only /usr/obj and /usr/src: /usr/src/include/iconv.h osreldate.h /usr/include install: osreldate.h: Permission denied *** Error code 71 Stop. make[4]: stopped in /usr/src/include *** Error code 1 Everything was working fine 2 weeks ago, so it's a recent breakage. Okay, I just accidentally created conditions for this error on my system... I checked in a change to newvers.sh while a buildworld was running, which led to a situation where newvers.sh was newer than osreldate.h at the end of the buildworld. Then an installworld tried to regenerate osreldate.h due to its dependency on newvers.sh, which would fail if the obj was readonly at that point. I think we could see if something similar applies for you if you use this command: make -dm installworld SUBDIR_OVERRIDE=include I tried this with a fresh HEAD but the error message is still the same. /usr/src and /usr/obj are NFS mounted, FYI. -- Joel ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: installworld broken - osreldate.h: permission denied
On Sun, 2013-09-29 at 10:13 +0200, Joel Dahl wrote: On Sat, Sep 28, 2013 at 11:19:51AM -0600, Ian Lepore wrote: On Sat, 2013-09-28 at 15:09 +0200, Joel Dahl wrote: Hi, Fresh HEAD. installworld from read-only /usr/obj and /usr/src: /usr/src/include/iconv.h osreldate.h /usr/include install: osreldate.h: Permission denied *** Error code 71 Stop. make[4]: stopped in /usr/src/include *** Error code 1 Everything was working fine 2 weeks ago, so it's a recent breakage. Okay, I just accidentally created conditions for this error on my system... I checked in a change to newvers.sh while a buildworld was running, which led to a situation where newvers.sh was newer than osreldate.h at the end of the buildworld. Then an installworld tried to regenerate osreldate.h due to its dependency on newvers.sh, which would fail if the obj was readonly at that point. I think we could see if something similar applies for you if you use this command: make -dm installworld SUBDIR_OVERRIDE=include I tried this with a fresh HEAD but the error message is still the same. /usr/src and /usr/obj are NFS mounted, FYI. I've tried everything I can think of to reproduce this, and I can't. I can install from readonly nfs-mounted obj and src without any errors. It appears that for you it's trying to regenerate osreldate.h during the install step. If so, the first question is why it's doing that. The logical answer would be because it's out of date with respect to its dependencies but it would be nice to have some evidence of that (such as the output from the command I gave earlier). Then, if that is the reason it's trying to regenerate the file, the next question would be why is osreldate.h older than its source files? -- Ian ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: installworld broken - osreldate.h: permission denied
Joel Dahl wrote this message on Sun, Sep 29, 2013 at 10:13 +0200: On Sat, Sep 28, 2013 at 11:19:51AM -0600, Ian Lepore wrote: On Sat, 2013-09-28 at 15:09 +0200, Joel Dahl wrote: Hi, Fresh HEAD. installworld from read-only /usr/obj and /usr/src: /usr/src/include/iconv.h osreldate.h /usr/include install: osreldate.h: Permission denied *** Error code 71 Stop. make[4]: stopped in /usr/src/include *** Error code 1 Everything was working fine 2 weeks ago, so it's a recent breakage. Okay, I just accidentally created conditions for this error on my system... I checked in a change to newvers.sh while a buildworld was running, which led to a situation where newvers.sh was newer than osreldate.h at the end of the buildworld. Then an installworld tried to regenerate osreldate.h due to its dependency on newvers.sh, which would fail if the obj was readonly at that point. I think we could see if something similar applies for you if you use this command: make -dm installworld SUBDIR_OVERRIDE=include I tried this with a fresh HEAD but the error message is still the same. /usr/src and /usr/obj are NFS mounted, FYI. Are you building on one machine and running install on another? Are the dates the same between the two machines? -- John-Mark Gurney Voice: +1 415 225 5579 All that I will do, has been done, All that I have, has not. ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: installworld broken - osreldate.h: permission denied
On Sun, Sep 29, 2013 at 07:53:44PM -0700, John-Mark Gurney wrote: Joel Dahl wrote this message on Sun, Sep 29, 2013 at 10:13 +0200: On Sat, Sep 28, 2013 at 11:19:51AM -0600, Ian Lepore wrote: On Sat, 2013-09-28 at 15:09 +0200, Joel Dahl wrote: Hi, Fresh HEAD. installworld from read-only /usr/obj and /usr/src: /usr/src/include/iconv.h osreldate.h /usr/include install: osreldate.h: Permission denied *** Error code 71 Stop. make[4]: stopped in /usr/src/include *** Error code 1 Everything was working fine 2 weeks ago, so it's a recent breakage. Okay, I just accidentally created conditions for this error on my system... I checked in a change to newvers.sh while a buildworld was running, which led to a situation where newvers.sh was newer than osreldate.h at the end of the buildworld. Then an installworld tried to regenerate osreldate.h due to its dependency on newvers.sh, which would fail if the obj was readonly at that point. I think we could see if something similar applies for you if you use this command: make -dm installworld SUBDIR_OVERRIDE=include I tried this with a fresh HEAD but the error message is still the same. /usr/src and /usr/obj are NFS mounted, FYI. Are you building on one machine and running install on another? Are the dates the same between the two machines? Yes, both machines are running ntp. I've double-checked the dates and they are in sync. -- Joel ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: installworld broken - osreldate.h: permission denied
On Sat, 2013-09-28 at 15:09 +0200, Joel Dahl wrote: Hi, Fresh HEAD. installworld from read-only /usr/obj and /usr/src: /usr/src/include/iconv.h osreldate.h /usr/include install: osreldate.h: Permission denied *** Error code 71 Stop. make[4]: stopped in /usr/src/include *** Error code 1 Everything was working fine 2 weeks ago, so it's a recent breakage. I can't reproduce this. I just did buildworld from readonly src, remounted the obj dir as readonly (using nullfs) and did an install from it, no errors. In case something about nullfs subverted the test, I then created an md disk, copied obj/* into there, mounted that readonly, and did an install from it. That worked too. Things that are likely different between our setups: I'm using DESTDIR= to install into a directory other than /, and my build machine is i386 running 8-stable, probably not the most common setup these days. :) I'm building an amd64 kernel world to install onto a spare machine to see if I can reproduce it in that environment, but that'll take a couple hours. -- Ian ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: installworld broken - osreldate.h: permission denied
On Sat, 2013-09-28 at 15:09 +0200, Joel Dahl wrote: Hi, Fresh HEAD. installworld from read-only /usr/obj and /usr/src: /usr/src/include/iconv.h osreldate.h /usr/include install: osreldate.h: Permission denied *** Error code 71 Stop. make[4]: stopped in /usr/src/include *** Error code 1 Everything was working fine 2 weeks ago, so it's a recent breakage. Okay, I just accidentally created conditions for this error on my system... I checked in a change to newvers.sh while a buildworld was running, which led to a situation where newvers.sh was newer than osreldate.h at the end of the buildworld. Then an installworld tried to regenerate osreldate.h due to its dependency on newvers.sh, which would fail if the obj was readonly at that point. I think we could see if something similar applies for you if you use this command: make -dm installworld SUBDIR_OVERRIDE=include And we'd be looking for the end of the output to be something like: Examining _libiconv_compat.h... modified 10:51:18 Sep 28, 2013...up-to-date Make_Update: _libiconv_compat.h inspect parent buildincludes: flags 0, type 18001, made 0, unmade 95 - not needed inspect parent _INCSINS: flags 9, type b01, made 1, unmade 1 - unmade children Examining osreldate.h... modified 10:39:21 Sep 28, 2013...modified before source /local/build/staging/freebsd/head/src/include/../sys/conf/newvers.sh...out-of-date env ECHO=echo MAKE=/local/build/staging/freebsd/head/obj/local/build/staging/freebsd/head/src/make.i386/bmake NEWVERS_SH=/local/build/staging/freebsd/head/src/include/../sys/conf/newvers.sh PARAM_H=/local/build/staging/freebsd/head/src/include/../sys/sys/param.h SYSDIR=/local/build/staging/freebsd/head/src/include/../sys sh /local/build/staging/freebsd/head/src/include/mk-osreldate.sh env: not found *** [osreldate.h] Error code 127 The env: not found is what I got instead of a permission denied, and probably has something to do with me cross-building amd64 10.0 from an i386 8.x machine. I think that's where you'd see the permission error. If the same sort of thing is happening for you, then all that's left is to figure out why osreldate.h is out of date at install time, and how to handle things if that's the case. -- Ian ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org