Re: installworld broken - osreldate.h: permission denied

2014-09-25 Thread Harald Schmalzbauer
 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

2013-09-30 Thread Mehmet Erol Sanliturk
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

2013-09-30 Thread Boris Samorodov
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

2013-09-30 Thread Joel Dahl
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

2013-09-30 Thread Ian Lepore
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

2013-09-30 Thread Jilles Tjoelker
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

2013-09-30 Thread Ian Lepore
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

2013-09-30 Thread Joel Dahl
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

2013-09-29 Thread Joel Dahl
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

2013-09-29 Thread Ian Lepore
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

2013-09-29 Thread John-Mark Gurney
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

2013-09-29 Thread 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.

-- 
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

2013-09-28 Thread Ian Lepore
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

2013-09-28 Thread Ian Lepore
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