tech-pkg archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: pkgsrc gcc discussion #3874
Hi jason,
to summarize, we have 2 issues we would like to resolve:
Improve the situation for people who are using RHEL6 and similar, and
start out with a toolchain too old.
In an ideal world, it would be nice if we could provide:
At bootstrap, detect that the toolchain is too old (binutils, gcc)
-> If so, and unless disabled, attempt to build pkgsrc GCC and binutils
Provide a message saying this can be disabled.
Provide the ability to disable this on a per-OS basis
-> on success, use this exclusively.
-> on failure, continue normally, provide a warning
I'm assuming GCC 5 or 6 is a good choice now, but we should probably
decide when it is OK to change this number eventually.
Proposed cutoff:
- GCC <4.8
That would be cool but I haven't looked at how we do bootstrap or even
tried to use pkgsrc binutils.
Additional cool points: if we can provide a binary bootstrap kit doing
the above, for platforms where obtaining a toolchain is non-trivial like
ChromeOS.
-----------------------------------------------------------------------
And, completely unrelated to the above, the logic we have for GCC_REQD
is inappropriate for anything but leaf packages. We must continually use
a newer GCC for anything down the dependency tree, or risk loading the
wrong libstdc++ and fail at runtime.
I've provided a diff that ensures the newest GCC is used whenever we
link a library that uses a newest GCC, I want to come up with nicer
names for it and then modify the entire tree to match it.
I've stated that the previous diff I provided was too magical, which is
because it didn't behave in a reproducible way*. The new diff does, and
is predictable.
Additionally, now with correct GCC_REQD handling, we can make the
connection:
C++11 -> GCC >= 4.8, and then not need to explicitly specify it a second
time unless a newer version is necessary.
* the previous suggestion was 'pick the newest compiler that is
installed', so when you installed a newer one, you will suddenly see
different problems to before.
Home |
Main Index |
Thread Index |
Old Index