← Back to team overview

kicad-developers team mailing list archive

Re: Lots of compile errors after recent source pull

 

Thanks, that is the line I was interested in and it confirms what I was
thinking - we aren't turning them on.

I reported this to upstream GCC on Sunday, and they have confirmed there is
a bug in the compiler where it is printing out the note statements when it
shouldn't (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96063). They have
fixed that for GCC 11, and I am hoping they pull the fix into GCC 10.2. I
will have to guard this warning against the GCC version I guess, but I am
waiting to see their reply about backporting it to 10.2 first.

-Ian

On Wed, Jul 8, 2020 at 1:05 AM <pjmonty@xxxxxxx> wrote:

> Ian,
>
> Sorry for the delay in getting this information.  I believe this is the
> info you wanted from the "compile_commands.json" file.  If not, I can
> always send you the entire 1.5 MB file.
>
> {
>   "directory": "C:/msys64/home/codelite-kicad-compile-test2/eeschema",
>   "command": "C:/msys64/mingw64/bin/c++.exe  -DDEBUG -DEESCHEMA
> -DGLM_FORCE_CTOR_INIT -DHAVE_STDINT_H -DKICAD_CONFIG_DIR=kicad
> -DKICAD_SPICE -DKICAD_USE_OCE -DUNICODE -DWXUSINGDLL -DWX_COMPATIBILITY
> -D_FILE_OFFSET_BITS=64 -D_UNICODE -D_USE_MATH_DEFINES
> -D__USE_MINGW_ANSI_STDIO=1 -D__WXMSW__
> @CMakeFiles/eeschema_kiface_objects.dir/includes_CXX.rsp  -fpermissive
> -Wall -Wsuggest-override -Wduplicated-branches -Wduplicated-cond
> -Werror=vla -Wimplicit-fallthrough=5 -Werror=return-type -Wshadow
> -Wsign-compare -Wmissing-field-initializers -Wempty-body -Wreorder
> -Wmismatched-tags -g3 -ggdb3 -fvisibility=hidden
> -fno-keep-inline-dllexport   -std=gnu++14 -o
> CMakeFiles/eeschema_kiface_objects.dir/dialogs/dialog_annotate.cpp.obj -c
> C:/msys64/home/kicad-compile-test2/kicad/eeschema/dialogs/dialog_annotate.cpp",
>   "file":
> "C:/msys64/home/kicad-compile-test2/kicad/eeschema/dialogs/dialog_annotate.cpp"
> }
>
>
>
>
> -----Original Message-----
> From: Ian McInerney <Ian.S.McInerney@xxxxxxxx>
> To: pjmonty@xxxxxxx
> Cc: Ian.S.McInerney@xxxxxxxx <Ian.S.McInerney@xxxxxxxx>;
> kicad-developers@xxxxxxxxxxxxxxxxxxx <kicad-developers@xxxxxxxxxxxxxxxxxxx
> >
> Sent: Sun, Jul 5, 2020 4:52 am
> Subject: Re: [Kicad-developers] Lots of compile errors after recent source
> pull
>
> Yea, unfortunately the Windows headers love to have unscoped defines that
> are very common words, meaning anytime we try to use those we get conflicts
> (it is really annoying). JP fixed it yesterday in
> https://gitlab.com/kicad/code/kicad/-/commit/9e669db5b4bdeff7f057614a6c93067f7a8c7024.
>
>
> As for the warnings, can you please provide the command that is being used
> to compile one of the files that has the mismatched-tag warnings? You can
> find them by setting `-DCMAKE_EXPORT_COMPILE_COMMANDS=ON` in your CMake
> config, then looking inside compile_commands.json in the build directory
> for the filename. I would like to track down why your mingw build is
> warning in system headers when it shouldn't. In the meantime, I have
> reported the mismatched tags to libstdc++ upstream, so hopefully they can
> clean them up.
>
> -Ian
>
> On Sun, Jul 5, 2020 at 6:12 AM <pjmonty@xxxxxxx> wrote:
>
> Very hard to find the errors among the epic amount of long warning
> messages.  The full make would go a long time, then fail.  I'd start it
> again, it would go for some time, then fail again. Lather. Rinse.
> Repeat.
>
> Finally saw these error messages:
>
> C:/msys64/mingw64/include/c++/10.1.0/system_error:278:10: note:
> 'std::error_condition' defined as 'struct' here
>   278 |   struct error_condition
>       |          ^~~~~~~~~~~~~~~
> In file included from
> C:/msys64/mingw64/x86_64-w64-mingw32/include/windows.h:71,
>                  from C:/msys64/mingw64/include/wx-3.0/wx/msw/wrapwin.h:65,
>                  from C:/msys64/mingw64/include/wx-3.0/wx/msw/init.h:19,
>                  from C:/msys64/mingw64/include/wx-3.0/wx/init.h:58,
>                  from C:/msys64/mingw64/include/wx-3.0/wx/app.h:23,
>                  from C:/msys64/mingw64/include/wx-3.0/wx/wx.h:25,
>                  from
> C:/msys64/home/kicad-master/kicad/include/fctsys.h:28,
>                  from
> C:/msys64/home/kicad-master/kicad/eeschema/dialogs/dialog_annotate.cpp:31:
> C:/msys64/home/kicad-master/kicad/eeschema/erc_settings.h:70:5: error:
> expected identifier before numeric constant
>    70 |     ERROR,
>       |     ^~~~~
> C:/msys64/home/kicad-master/kicad/eeschema/erc_settings.h:70:5: error:
> expected '}' before numeric constant
> In file included from
> C:/msys64/home/kicad-master/kicad/eeschema/sch_edit_frame.h:40,
>                  from
> C:/msys64/home/kicad-master/kicad/eeschema/dialogs/dialog_annotate.cpp:32:
> C:/msys64/home/kicad-master/kicad/eeschema/erc_settings.h:67:1: note: to
> match this '{'
>    67 | {
>       | ^
> In file included from
> C:/msys64/mingw64/x86_64-w64-mingw32/include/windows.h:71,
>                  from C:/msys64/mingw64/include/wx-3.0/wx/msw/wrapwin.h:65,
>                  from C:/msys64/mingw64/include/wx-3.0/wx/msw/init.h:19,
>                  from C:/msys64/mingw64/include/wx-3.0/wx/init.h:58,
>                  from C:/msys64/mingw64/include/wx-3.0/wx/app.h:23,
>                  from C:/msys64/mingw64/include/wx-3.0/wx/wx.h:25,
>                  from
> C:/msys64/home/kicad-master/kicad/include/fctsys.h:28,
>                  from
> C:/msys64/home/kicad-master/kicad/eeschema/dialogs/dialog_annotate.cpp:31:
> C:/msys64/home/kicad-master/kicad/eeschema/erc_settings.h:70:5: error:
> expected unqualified-id before numeric constant
>    70 |     ERROR,
>       |     ^~~~~
> In file included from
> C:/msys64/home/kicad-master/kicad/eeschema/sch_edit_frame.h:40,
>                  from
> C:/msys64/home/kicad-master/kicad/eeschema/dialogs/dialog_annotate.cpp:32:
> C:/msys64/home/kicad-master/kicad/eeschema/erc_settings.h:72:1: error:
> expected declaration before '}' token
>    72 | };
>       | ^
>
>
>
> -----Original Message-----
> To: Ian.S.McInerney@xxxxxxxx <Ian.S.McInerney@xxxxxxxx>
> Cc: kicad-developers@xxxxxxxxxxxxxxxxxxx <
> kicad-developers@xxxxxxxxxxxxxxxxxxx>
> Sent: Sat, Jul 4, 2020 6:45 pm
> Subject: Re: [Kicad-developers] Lots of compile errors after recent source
> pull
>
> Other headers as well.
>
> C:/msys64/mingw64/include/c++/10.1.0/bits/localefwd.h:125:9: note: replace
> the class-key with 'struct'
>   125 |   class ctype_base;
>
> C:/msys64/mingw64/include/c++/10.1.0/x86_64-w64-mingw32/bits/ctype_base.h:42:10:
> note: 'std::ctype_base' defined as 'struct' here
>    42 |   struct ctype_base
>       |          ^~~~~~~~~~
>
> C:/msys64/mingw64/include/c++/10.1.0/bits/valarray_array.h:396:12: note:
> 'std::_Array<_Tp>' defined as 'struct' here
>   396 |     struct _Array
>
> ...as well as the one I originally showed...
>
> C:/msys64/mingw64/include/c++/10.1.0/system_error:54:9: note: replace the
> class-key with 'struct'
>    54 |   class error_code;
>
> There may be more, but these are the ones I see repeating over and over.
> I tried to do a full build a couple of days ago, and the the build crapped
> out part way through.  I don't recall the specific error message, but I can
> try again and see if it dies.  If so, I'll post the info.
>
>
> -----Original Message-----
> From: Ian McInerney <Ian.S.McInerney@xxxxxxxx>
> To: pjmonty@xxxxxxx
> Cc: kicad-developers@xxxxxxxxxxxxxxxxxxx <
> kicad-developers@xxxxxxxxxxxxxxxxxxx>
> Sent: Sat, Jul 4, 2020 3:15 pm
> Subject: Re: [Kicad-developers] Lots of compile errors after recent source
> pull
>
> That would probably be because I enabled the warning for
> "-Wmismatched-tags" on clang/GCC. This shouldn't be an error though, only a
> warning. It warns about declaring things class/struct inconsistently (on
> MSVC builds this can cause problems, so I enabled this warning to ensure we
> don't have issues with this since we are starting to have more people
> use MSVC). It appears that the system headers in GCC don't follow that
> standard unfortunately, but usually warnings from inside system headers are
> ignored (apparently on the C++ headers on my machine it is also mismatched
> but I don't see all the warnings when building with Clang). These are
> supposed to be hidden when the include directories are system include
> directories though.
>
> Do you see this for other headers, or is it just this one header? I
> wouldn't mind forwarding this upstream to cleanup their headers.
>
> -Ian
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to    : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help  : https://help.launchpad.net/ListHelp
>
>

References