pkgsrc-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: GCC_REQD+= 12 ?(Re: games/openrct2 spins 99% CPU for hours
Makoto Fujiwara <makoto%if.t.u-tokyo.ac.jp@localhost> writes:
> Is this change acceptable ?
> (checked on NetBSD/amd64 9.3)
>
> +GCC_REQD+= 12
I know you're asking Jonathan, but I'd say:
I see no USE_CXX_FEATURES, so presumably the upstream code is in C++03
and builds ok in general with C++03. If that's not true, then that
should be addressed first. Looking at the makefile, there is C++20
declared, not near USE_LANGUAGES.
gcc documents that gcc12 is required for c++20:
https://gcc.gnu.org/projects/cxx-status.html
and even if one is willing to overlook "Layout-compatibility and
Pointer-interconvertibility Traits" then a fairly large number of
things need gcc11.
I added a comment to justify setting the gcc version for c++20 to 10,
because of the disconnect between 10 in gcc.mk and 12 in gcc's
documentation. This comment was reverted recently, contrary to our
norms, and a request by me to have that revert undone has not yet been
adequately addressed.
Thus, I suspect that you are probably running into "c++20 needs
gcc12", rather than something pathological about this package. You
didn't say if you tried with gcc11 and what happened.
It's not ok to set GCC_REQD without a comment that explains why it is
necessary. This is essentially always working around a bug. Really
there should be an upstream bug report and a URL. However, if
upstream says c++20 and it fails with gcc10, that's not a bug in
upstream. It's a bug in pkgsrc to try using gcc10.
Therefore, I think gcc.mk should be changed to say 12 for the c++20
case, and I object to papering over unsound choices in gcc.mk with
random GCC_REQD. NetBSD in theory does things write, and we have to
walk the walk.
Home |
Main Index |
Thread Index |
Old Index