Crossbuilding DFly on old FBSD

Barry Bouwsma freebsd-misuser at
Sun Aug 1 20:57:30 PDT 2004

[as usual, drop me from replies and I'll catch the archives]

Matt Dillon wrote:

>     Ok, I think I see a better way to do this.  The 'patch' binary is
>     generated in the bootstrap stage, but our cross-tools stage (which
>     builds binutils) does not have it in the path.  Only our world stage
>     puts the bootstrap tools in its path.

That's right, and your patch was Plan B that I was thinking about
doing, but I took the easier (for me) way out just to get something

>     Instead of hacking PATCH I think all we need to do is give the 
>     bootstrap, build, and cross-tools stages access to the bootstrap
>     stage's binaries

This is definitely the way to go, similar to my ugly hack to give
the build process access to the DFly include files.

However, as I've spent much of the day seeing how much success I
might have crossbuilding OpenBSD from FreeBSD, I'd agree with Jörg
Sonnenberger that it would be nice to define an overrideable ${PATCH}
somewhere in one of the top-level /share/mk files, and use that --
I know it shouldn't be necessary to override it, but you never know.
(I couldn't believe the number of `install' rather than `${INSTALL}'
present in the OpenBSD GNU makefiles that gave me problems...  Of
course, I don't know what I'm doing.)

>     Try out this patch (I am testing it now so there might be issues with
>     it)... see if it does a better job on your old FreeBSD system with
>     your other hacks removed.  

I'm starting clean with fresh code, though on a different box (whose
`patch -i' fails though).  Note that I expect a full build to take
over a day (what do you expect from 75MHz) so any feedback will be
about as timely as my other messages.

Without the patch, I bomb in `csh' in bootstrap-tools.  With it,
well, I'm going to sleep on it.

barry bouwsma

(while I wait, I'll either catch up on sleep, or post hacks that I've
applied to my FreeBSD4 source tree, if applicable to DFly, for your

[time passes]

I passed out before sending this, and a good thing.  With your patch
only, the build gets past `csh', yay, but dies later with the problem
I mentioned before with trying to use my FreeBSD includes files --
I have no `langinfo.h'.  (Sorry I don't post the precise error.)

I can't remember if I had earlier tried the target `includes' that
is often suggested for building FreeBSD when problems occur.  So
I tried it.  It's not a suitable crossbuild target, as it wants to
install into /usr/include (luckily I'm not root) of my FreeBSD
machine which I'm planning to keep as such.

Therefore I'm going to merge in other parts of my hack to build
a `crossincludes' target along with your patch, start the build
again, and catch up on more sleep to try to think straight.

Anyway, your patch seems to work great to address the issue of
`patch' and perhaps other incompatible binaries.  I'll see later
if I need the other part of my hack to avoid `makeinfo' in other
than the world stage, as I'm not sure if I've gotten that far in
the build yet.

More later...

thanks again
barry bouwsma

More information about the Submit mailing list