NetBSD Problem Report #52080

From www@NetBSD.org  Wed Mar 15 22:31:30 2017
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(Client CN "mail.netbsd.org", Issuer "Postmaster NetBSD.org" (verified OK))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 19E3B7A21F
	for <gnats-bugs@gnats.NetBSD.org>; Wed, 15 Mar 2017 22:31:30 +0000 (UTC)
Message-Id: <20170315223128.8092D7A2B8@mollari.NetBSD.org>
Date: Wed, 15 Mar 2017 22:31:28 +0000 (UTC)
From: yaneurabeya@gmail.com
Reply-To: yaneurabeya@gmail.com
To: gnats-bugs@NetBSD.org
Subject: MKKYUA fails to compile: c_gate.o: all member functions in class '__cxxabiv1::
X-Send-Pr-Version: www-1.0

>Number:         52080
>Notify-List:    bsiegert@NetBSD.org
>Category:       bin
>Synopsis:       MKKYUA fails to compile: c_gate.o: all member functions in class '__cxxabiv1::
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    bsiegert
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Mar 15 22:35:00 +0000 2017
>Closed-Date:    Sat Feb 20 14:28:25 +0000 2021
>Last-Modified:  Sat Feb 20 14:28:25 +0000 2021
>Originator:     Ngie Cooper
>Release:        7-CURRENT
>Organization:
n/a
>Environment:
NetBSD netbsd.localdomain 7.99.58 NetBSD 7.99.58 (GENERIC) #2: Thu Jan 12 09:08:18 PST 2017  root@:/home/ngie/cvs/NetBSD/src/sys/arch/amd64/compile/obj/GENERIC amd64
>Description:
lutok fails to compile because it seems like it's accessing headers it's not supposed to (private ones):

--- c_gate.o ---^M
In file included from /home/ngie/cvs/NetBSD/src/obj/destdir.amd64/usr/include/g++/bits/ostream_insert.h:36:0,^M
                 from /home/ngie/cvs/NetBSD/src/obj/destdir.amd64/usr/include/g++/string:44,^M
                 from /home/ngie/cvs/NetBSD/src/obj/destdir.amd64/usr/include/lutok/state.hpp:35,^M
                 from /home/ngie/cvs/NetBSD/src/external/bsd/lutok/dist/state.ipp:32,^M
                 from /home/ngie/cvs/NetBSD/src/external/bsd/lutok/dist/c_gate.cpp:30:^M
/home/ngie/cvs/NetBSD/src/obj/destdir.amd64/usr/include/g++/bits/cxxabi_forced.h:48:9: error: all member functions in class '__cxxabiv1::__forced_unwind' are private [-Werror=ctor-dtor-privacy]^M
   class __forced_unwind^M
         ^^M
In file included from /home/ngie/cvs/NetBSD/src/obj/destdir.amd64/usr/include/g++/tr1/memory:50:0,^M
                 from /home/ngie/cvs/NetBSD/src/obj/destdir.amd64/usr/include/lutok/state.hpp:40,^M
                 from /home/ngie/cvs/NetBSD/src/external/bsd/lutok/dist/state.ipp:32,^M
                 from /home/ngie/cvs/NetBSD/src/external/bsd/lutok/dist/c_gate.cpp:30:^M
/home/ngie/cvs/NetBSD/src/obj/destdir.amd64/usr/include/g++/tr1/shared_ptr.h: In constructor 'std::tr1::__shared_ptr<_Tp, _Lp>::__shared_ptr(_Tp1*)':^M
/home/ngie/cvs/NetBSD/src/obj/destdir.amd64/usr/include/g++/tr1/shared_ptr.h:556:16: error: typedef '_IsComplete' locally defined but not used [-Werror=unused-local-typedefs]^M
    typedef int _IsComplete[sizeof(_Tp1)];^M
                ^^M
/home/ngie/cvs/NetBSD/src/obj/destdir.amd64/usr/include/g++/tr1/shared_ptr.h: In constructor 'std::tr1::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::auto_ptr<_Tp1>&)':^M
/home/ngie/cvs/NetBSD/src/obj/destdir.amd64/usr/include/g++/tr1/shared_ptr.h:595:16: error: typedef '_IsComplete' locally defined but not used [-Werror=unused-local-typedefs]^M
    typedef int _IsComplete[sizeof(_Tp1)];^M
                ^^M
--- c_gate.pico ---^M
In file included from /home/ngie/cvs/NetBSD/src/obj/destdir.amd64/usr/include/g++/bits/ostream_insert.h:36:0,^M
                 from /home/ngie/cvs/NetBSD/src/obj/destdir.amd64/usr/include/g++/string:44,^M
                 from /home/ngie/cvs/NetBSD/src/obj/destdir.amd64/usr/include/lutok/state.hpp:35,^M
                 from /home/ngie/cvs/NetBSD/src/external/bsd/lutok/dist/state.ipp:32,^M
                 from /home/ngie/cvs/NetBSD/src/external/bsd/lutok/dist/c_gate.cpp:30:^M
/home/ngie/cvs/NetBSD/src/obj/destdir.amd64/usr/include/g++/bits/cxxabi_forced.h:48:9: error: all member functions in class '__cxxabiv1::__forced_unwind' are private [-Werror=ctor-dtor-privacy]^M
   class __forced_unwind^M
         ^^M
--- c_gate.o ---^M
cc1plus: all warnings being treated as errors^M

I will file an upstream bug (if one doesn't already exist), as this will likely hit us on FreeBSD if someone tries compiling the lutok port with a newer copy of g++ (which we do for arm64, powerpc*, etc as they still don't work with clang).
>How-To-Repeat:
Run the following commands as root:

echo MKKYUA=yes >> /etc/mk.conf
cd /path/to/src
./build.sh tools
./build.sh build
>Fix:
Either disable warnings, or fix the offending code to not use private C++ interfaces.

>Release-Note:

>Audit-Trail:

State-Changed-From-To: open->analyzed
State-Changed-By: jmmv@NetBSD.org
State-Changed-When: Mon, 23 Oct 2017 10:14:34 +0000
State-Changed-Why:
I'm not sure how you have determined that this is Lutok's fault.  The symbol
that the compiler is complaining about, __cxxabiv1::__forced_unwind, is
nowhere to be found on the codebase so the claim that Lutok is "using
private headers" is... hard to justify.

To me, this looks like a bug in the C++ headers currently shipped by NetBSD
that manifests when they are used with a high WARNS level, which is how
Lutok is currently being built.  In particular, the flag
-Werror=ctor-dtor-privacy, which is the one triggering this error, is in
use and is not part of the default set of flags (so you wouldn't see the
problem with regular -Wall builds).

A workaround would be to reduce Lutok's WARNS level, but it'd be nice if
the headers were clean enough to build with it.


State-Changed-From-To: analyzed->feedback
State-Changed-By: bsiegert@NetBSD.org
State-Changed-When: Tue, 09 Apr 2019 12:33:12 +0000
State-Changed-Why:
Is this still an issue?


From: Enji Cooper <yaneurabeya@gmail.com>
To: gnats-bugs@netbsd.org
Cc: gnats-admin@netbsd.org,
 netbsd-bugs@netbsd.org,
 "bsiegert@netbsd.org" <bsiegert@NetBSD.org>
Subject: Re: bin/52080 (MKKYUA fails to compile: c_gate.o: all member
 functions in class '__cxxabiv1::)
Date: Sun, 21 Apr 2019 21:30:01 -0700

 --Apple-Mail=_710C27B3-8CB2-4377-8617-11AA75E03DA3
 Content-Transfer-Encoding: quoted-printable
 Content-Type: text/plain;
 	charset=utf-8


 > On Apr 9, 2019, at 5:33 AM, bsiegert@netbsd.org <bsiegert@NetBSD.org> =
 wrote:
 >=20
 > Synopsis: MKKYUA fails to compile: c_gate.o: all member functions in =
 class '__cxxabiv1::
 >=20
 > State-Changed-From-To: analyzed->feedback
 > State-Changed-By: bsiegert@NetBSD.org
 > State-Changed-When: Tue, 09 Apr 2019 12:33:12 +0000
 > State-Changed-Why:
 > Is this still an issue?

 	Apologies for taking so long to get back on this.
 	To be honest, I=E2=80=99m not sure (I don=E2=80=99t have access =
 to my NetBSD CURRENT VM anymore after I had to reinstall my OS). I =
 documented the issue in the following GitHub issue: =
 https://github.com/jmmv/lutok/issues/2 =
 <https://github.com/jmmv/lutok/issues/2>.
 Thanks!
 -Enji=

 --Apple-Mail=_710C27B3-8CB2-4377-8617-11AA75E03DA3
 Content-Transfer-Encoding: quoted-printable
 Content-Type: text/html;
 	charset=utf-8

 <html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
 charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; =
 -webkit-nbsp-mode: space; line-break: after-white-space;" class=3D""><br =
 class=3D""><div><blockquote type=3D"cite" class=3D""><div class=3D"">On =
 Apr 9, 2019, at 5:33 AM, <a href=3D"mailto:bsiegert@netbsd.org" =
 class=3D"">bsiegert@netbsd.org</a> &lt;<a =
 href=3D"mailto:bsiegert@NetBSD.org" class=3D"">bsiegert@NetBSD.org</a>&gt;=
  wrote:</div><br class=3D"Apple-interchange-newline"><div class=3D""><div =
 class=3D"">Synopsis: MKKYUA fails to compile: c_gate.o: all member =
 functions in class '__cxxabiv1::<br class=3D""><br =
 class=3D"">State-Changed-From-To: analyzed-&gt;feedback<br =
 class=3D"">State-Changed-By: <a href=3D"mailto:bsiegert@NetBSD.org" =
 class=3D"">bsiegert@NetBSD.org</a><br class=3D"">State-Changed-When: =
 Tue, 09 Apr 2019 12:33:12 +0000<br class=3D"">State-Changed-Why:<br =
 class=3D"">Is this still an issue?</div></div></blockquote><br =
 class=3D""></div><div><span class=3D"Apple-tab-span" =
 style=3D"white-space:pre">	</span>Apologies for taking so long to =
 get back on this.</div><div><span class=3D"Apple-tab-span" =
 style=3D"white-space:pre">	</span>To be honest, I=E2=80=99m not =
 sure (I don=E2=80=99t have access to my NetBSD CURRENT VM anymore after =
 I had to reinstall my OS). I documented the issue in the following =
 GitHub issue:&nbsp;<a href=3D"https://github.com/jmmv/lutok/issues/2" =
 class=3D"">https://github.com/jmmv/lutok/issues/2</a>.</div><div>Thanks!</=
 div><div>-Enji</div></body></html>=

 --Apple-Mail=_710C27B3-8CB2-4377-8617-11AA75E03DA3--

Responsible-Changed-From-To: bin-bug-people->bsiegert
Responsible-Changed-By: bsiegert@NetBSD.org
Responsible-Changed-When: Tue, 23 Apr 2019 11:36:40 +0000
Responsible-Changed-Why:
might as well take this and do a verification build


State-Changed-From-To: feedback->open
State-Changed-By: bsiegert@NetBSD.org
State-Changed-When: Tue, 23 Apr 2019 11:36:40 +0000
State-Changed-Why:
feedback provided


From: Benny Siegert <bsiegert@netbsd.org>
To: Enji Cooper <yaneurabeya@gmail.com>
Cc: gnats-bugs@netbsd.org, gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
Subject: Re: bin/52080 (MKKYUA fails to compile: c_gate.o: all member
 functions in class '__cxxabiv1::)
Date: Tue, 23 Apr 2019 13:35:16 +0200

 On Mon, Apr 22, 2019 at 6:30 AM Enji Cooper <yaneurabeya@gmail.com> wrote:
 > Apologies for taking so long to get back on this.

 No worries :)

 > To be honest, I=E2=80=99m not sure (I don=E2=80=99t have access to my Net=
 BSD CURRENT VM anymore after I had to reinstall my OS). I documented the is=
 sue in the following GitHub issue: https://github.com/jmmv/lutok/issues/2.

 Thank you. I think that the error you saw is most likely due to a
 broken C++ compiler in the version of current you had at the time.

State-Changed-From-To: open->closed
State-Changed-By: bsiegert@NetBSD.org
State-Changed-When: Sat, 20 Feb 2021 14:28:25 +0000
State-Changed-Why:
This looks very much like temporary brokenness of the C++ toolchain
in NetBSD 7.99.x in 2017.

Newer NetBSD releases use newer gcc versions.

jmmv@ determined that this does not seem to be related to anything in the actual code.
Closing.


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.46 2020/01/03 16:35:01 leot Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2020 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.