tech-pkg archive

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

Re: [patch] a concrete proposal for fixing the gcc c++ mixed-compiler issue



maya%netbsd.org@localhost writes:

> +.if exists(${LOCALBASE}/gcc6/bin/gcc)
> +GCC_REQD+=		6.0
> +GFORTRAN_VERSION=	6

I think we should be heading to deterministic behavior, where the
compiler version (for all except bootstrapping toolchains) is set by a
variable explicitly by the user, or from a per-platform default.  Your
suggestion, I think, would result in binaries with mixed compilers (main
and various libs) depending on build ordering and if a compiler got
installed.  And certainly packages built with different compilers
depending on build ordering.

Agreed that locking C/fortan together seems like a good idea.

As I see it the debate is between:

  A) Force 4.8ish or some particular higher version for all C++, and
  hope that's better than what we have now

  B) Define a version, and fail packages that need something newer.

A is easy, but not entirely sound.  B will result in not having C++14
packages if you pick 4.8, and I think that will lead to "when using gcc,
build gcc 6 if not native and then use it for everything".  That
certainly hurts a bit to build it, but I'm not sure it's really a big
problem in the end.  The underlying reality is that
compilers/sublanguages have been changing/being-used faster than
compilers change due to OS update cycles.

Further, we probably should separate

  version that should be used in general (PKGSRC_GCC_VERSION?)

and

  min version this package needs (GCC_REQD)

conceptually, as well as unlink GCC_REQD's behavior.  The point is that
it declares the min version.  Whether we find a new one or fail is then
a choice.

Attachment: signature.asc
Description: PGP signature



Home | Main Index | Thread Index | Old Index