On Sat, Dec 5, 2009 at 10:25 PM, James Hartley <jjhart...@gmail.com> wrote:
> On Sat, Dec 5, 2009 at 3:08 PM, Philip Guenther <guent...@gmail.com> wrote:
>> On Sat, Dec 5, 2009 at 11:55 AM, James Hartley <jjhart...@gmail.com>
>> wrote:
>> > I updated my local source tree Tuesday.  Rebuilding the kernel went
>> > fine,
>> > but building userland failed at sbin/route with the following messages:
>> >
>> > ===> sbin/route
>> > cc -02 -pipe -nostdinc -idirafter /usr/dest/usr/include -c
>> > /usr/src/sbin/route/route.c
>> ...
>> Whatever directions you've followed that suggest that you can compile
>> a system without installing it are wrong, or at least insufficient.
>
> Thanks, Philip for responding.  I have followed the recipe given in Section
> 5.3.4 - 5.3.5 of the FAQ religiously for months without incident.

Uh huh.  And that describes using -nostdinc and -idirafter where?  And
the descriptions of how to do a build that doesn't install updated
libraries in /usr/lib/ is where?

I don't know where you got the idea that you can build the OpenBSD
system without updating the system you're building on, but doing so is
not commonly done and not tested by the developers.  And those
compiler arguments are *certainly* not sufficient.

Is it _possible_?  Almost certainly.  Has someone worked out the
details?  Not that I'm aware of.  You've certainly demonstrated that
those two compiler options are insufficient; I can think of at least
two other probable issues beyond the one you encountered.


> As an additional data point, I installed the 4 December i386 snapshot
> followed by downloading /usr/src via AnonCVS today, & successfully rebuilt
> the kernel & userland.   Although this may point out that the problem is
> solved, it still leaves the question of why building started failing
> Tuesday.

No surprise.  The original problem occurred because sbin/route had
been updated to depend on a libc addition that I committed (on reyk's
behalf) on Nov 27.  It would therefore fail to link against a libc
from before then.  That was obvious to me from your original
message...but I have absolutely no interest in figuring out how to
make such a build work and will not spend my time doing so.

So, you now have two options:
1) continue to try to figure out how to make such builds work,
2) just use the method that the developers use.

If you can't think of *at least* two similar problems that might hit
such a build and how to address them, then you should abandon option
(1), as you aren't thinking about the consequences of your choice
otherwise.


Philip Guenther

Reply via email to