tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Bootstrapping pkgsrc with a compiler



Brook Milligan <brook%nmsu.edu@localhost> writes:

> However, I encounter systems in which the native compiler is
> inadequate for general use and will not reliably compile all of
> pkgsrc.  It is also the case that one might wish to use a different,
> pkgsrc-supplied, compiler even if the native one is adequate.
>
> In those cases, it is necessary to bootstrap pkgsrc, build a pkgsrc
> compiler with the native compiler, then reset things like mk.conf to
> direct pkgsrc to use the new compiler for the remainder.

That is Jason's approach with auto-pkgsrc-setup.

> I am raising the possibility that those steps could be combined into a
> bootstrap with compiler step, followed by normal use of pkgsrc, which
> would have been already configured in the first step to use the
> bootstrapped compiler.  I feel this would make using non-native
> compilers with pkgsrc, a definite need in some cases, much more
> feasible.

I don't really understand what the bootstrap/compiler stage does, as it
has to build some things with the native compiler.  Are those then "make
replaced"?

I increasingly wonder about the less magic and seemingly simpler strategy of:

1) bootstrap pksrc with the native compiler to /usr/pkg/COMPILER
   build some compiler

2) bootstrap pkgsrc to /usr/pkg, setting the compiler to be used as
   /usr/pkg/COMPILER.

Perhaps step 2 is already doable with just something like
--compiler=/usr/pkg/COMPILER/gcc7/bin/gcc and it's a small matter to add
a script to do two bootstraps.

Or, to add

  --bootstrap-compiler=gcc7

that will run the sub-bootstrap as a subroutine and then use it.



One thing that's important is to have an easy way for this to be
declared as default so that bulk builds use it, if we decide a certain
approach is the way to go.  This perhaps includes NetBSD where we are
seeing that the base system compiler on 7 is really too old and the one
on 8 is already too old.


Home | Main Index | Thread Index | Old Index