On Thu, Sep 26, 2024 at 08:46:19AM +0200, Christian Schulte wrote:

> On 9/26/24 07:15, Otto Moerbeek wrote:
> > On Thu, Sep 26, 2024 at 06:38:00AM +0200, Christian Schulte wrote:
> > 
> >> So I installed 7.5-stable on a VPS and that kernel panicked during 
> >> installation
> >> several times. I then grabbed a 7.6-current image and installed the system
> >> using that. That kernel does not panic so I am running -current on that 
> >> system
> >> since then. Checked out /usr/src, build the system from source using
> >> make build. Did cvs -q update -dP -A every now and then and just ran
> >> make followed by doas make install from time to time in the various 
> >> directories.
> >> Accidentally ran make in /usr/src and got an unexpected Permission denied
> >> error. I would have expected to be able to run make in /usr/src without any
> >> permission issues. Is this a bug in the build system? There must be a way 
> >> to
> >> build base incrementally without having to rebuild everything.
> >> $cd /usr/src && make currently stops with a Permission denied error I 
> >> would not
> >> have expected to happen.
> >>
> >>
> >> build: atu-intersil-int: Permission denied
> >> *** Error 1 in sys/dev/microcode/atmel (Makefile:22 'atu-intersil-int')
> >> *** Error 2 in sys/dev/microcode (<bsd.subdir.mk>:48 'all': @for entry in 
> >> afb atmel bnx cirruslogic fxp kue neomagic myx ral rsu rtwn rum  s...)
> >> *** Error 2 in sys (<bsd.subdir.mk>:48 'all': @for entry in dev/microcode  
> >> arch/alpha arch/amd64 arch/arm64 arch/armv7  arch/hppa arch/i386 ...)
> >> *** Error 2 in /usr/src (<bsd.subdir.mk>:48 'all': @for entry in lib 
> >> include bin libexec sbin usr.bin usr.sbin share games gnu sys; do  set ...)
> >>
> > 
> > 1. Note that "make build" builds kernels and install images but does
> > not install them.
> > 
> > 2. Did you follow the steps in the FAQ and release(5):
> > https://www.openbsd.org/faq/faq5.html? And no, it is not *always*
> > possible to build incrementally. Sometimes a clean build is needed.
> 
> Of course I followed those steps. That's what makes me think something
> is not working the way it is intended. After installing a recent
> snapshot, I checked out /usr/src and did a make build. I thought this
> leaves me with a pre built tree I can just build incrementally. Indeed
> this is working. So, after a cvs -q update -dP -A I just cd'ed into the
> directories containing files with changes and did make followed by doas
> make install. Also in /sys/arch/amd64/compile/GENERIC.MP. This has been
> working as expected. I then accidentally ran make directly in /usr/src
> which is failing due to some Permission denied I do not understand. I
> can still run make install in /usr/src without issues.

Your method is flawed, as parts of the build proces may be rebuilding
parts that depend on e.g. installed libraries or include files that
changed, so more than just the dir containing changed files should be
rebuilt in many cases.

If you are doing partial builds and run into issues, they are yours to
fix.

> 
> 
> > 
> > 3. You might want to consider not building from source, but install a
> > snapshot by running sysupgrade -s.
> 
> I am keen on knowing how those snapshots are build. Do they really wipe
> out everything and then do a fresh build - lasting nearly 24h here for
> me. I doubt it.

Your doubts are unfounded and not really relevant. A fast machine does
a full make build in an hour or so. Slower architecturs require more
time, of course. 

        -Otto

Reply via email to