← Back to team overview

kicad-developers team mailing list archive

Re: Lots of compile errors after recent source pull

 

 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


Follow ups

References