version 1.9, 2017/12/31 17:15:37
|
version 1.11, 2018/01/01 23:27:13
|
Line 231 A gcc version that is too old will not b
|
Line 231 A gcc version that is too old will not b
|
Anything older than 4.8 fails for c++11. 4.8 fails on some c++11 |
Anything older than 4.8 fails for c++11. 4.8 fails on some c++11 |
packages, such as firefox and glibmm. |
packages, such as firefox and glibmm. |
|
|
A version that is too new also fails to build packages. Analyses |
A version that is too new also fails to build packages. Jason Bacon |
posted to tech-pkg indicate that 5 is close to 4.9 in the number of |
posted counts to tech-pkg indicate that 5 is close to 4.8 in the |
packages built, and that moving to 6 causes hundreds of additional |
number of packages built, and that moving to 6 causes hundreds of |
failures. |
additional failures. (Keep in mind that currently, building with 4.8 |
|
will build 4.9 for firefox, but in the future will not.) |
|
|
|
www/pkgsrc/packages/sharedapps/pkg-2017Q3/RHEL6-gcc48/All 16461 |
|
www/pkgsrc/packages/sharedapps/pkg-2017Q3/RHEL6-gcc6/All 15849 |
|
|
|
www/pkgsrc/packages/sharedapps/pkg-2017Q3/RHEL7-gcc48/All 16414 |
|
www/pkgsrc/packages/sharedapps/pkg-2017Q3/RHEL7-gcc5/All 16338 |
|
|
Therefore, the current answer to "What is the best version to use" is |
Therefore, the current answer to "What is the best version to use" is |
5. |
5. |
Line 248 built it earlier.
|
Line 255 built it earlier.
|
When the base system is old (e.g., gcc 4.5 in NetBSD 6, or 4.1, in |
When the base system is old (e.g., gcc 4.5 in NetBSD 6, or 4.1, in |
NetBSD 5), then it is clear that a newer version must be built. For |
NetBSD 5), then it is clear that a newer version must be built. For |
these, PKGSRC_GXX_VERSION should default to a newish gcc, avoiding |
these, PKGSRC_GXX_VERSION should default to a newish gcc, avoiding |
being so new as to cause building issues. Currently, gcc5 is probably |
being so new as to cause building issues. PKGSRC_GCC_VERSION should |
a good choice, with gcc6 compiling significantly but not vastly fewer |
probably default to the system version if it can build all C99 |
packages. PKGSRC_GCC_VERSION should probably default to the system |
programs, or match PKGSRC_GXX_VERSION, if the system version is too |
version if it can build all C99 programs, or match PKGSRC_GXX_VERSION, |
old. Perhaps gcc 4.5 would be used, but 4.1 not used. \todo Discuss. |
if the system version is too old. Perhaps gcc 4.5 would be used, but |
|
4.1 not used. \todo Discuss. |
|
|
|
When the base system is almost new enough, the decision about the |
When the base system is almost new enough, the decision about the |
default is more complicated. A key example is gcc 4.8, found in |
default is more complicated. A key example is gcc 4.8, found in |
Line 262 need a newer version. One options is to
|
Line 267 need a newer version. One options is to
|
firefox failing, as well as all c++14 programs. Another is to choose |
firefox failing, as well as all c++14 programs. Another is to choose |
4.9, but this makes little sense because c++14 programs will still |
4.9, but this makes little sense because c++14 programs will still |
fail, and the general rule of moving to the most recent |
fail, and the general rule of moving to the most recent |
generally-acceptable version applies, which currently leads to gcc6. |
generally-acceptable version applies, which currently leads to gcc5. |
This is in effect a declaration that "almost new enough" does not |
This is in effect a declaration that "almost new enough" does not |
count as new enough. Thus the plan for NetBSD 7 is to set |
count as new enough. Thus the plan for NetBSD 7 is to set |
PKGSRC_GCC_VERSION to 4.8 and PKGSRC_GXX_VERSION to 5. |
PKGSRC_GCC_VERSION to 4.8 and PKGSRC_GXX_VERSION to 5. |