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