← Back to team overview

kicad-developers team mailing list archive

Re: 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
>

Follow ups

References