← Back to team overview

kicad-developers team mailing list archive

Re: Building current master fails

 

I keep 5.1 and master in separate worktrees because I find that the compile
time if you switch branches is excruciatingly painful (we have some
differences in the base header files now that basically mean an almost full
recompile). That is probably why I never saw this issue.

-Ian

On Wed, Nov 20, 2019 at 3:16 PM Jeff Young <jeff@xxxxxxxxx> wrote:

> I switch between 5.1 and master and back in the same tree.  You have to
> run the clean each time you go from 5.1 to master.
>
> On 20 Nov 2019, at 14:34, Ian McInerney <Ian.S.McInerney@xxxxxxxx> wrote:
>
> Thats correct, all those lexer files should now be in the build folder. I
> think that only the board file has had new keywords added, so it would be
> the only one that is different.
>
> Ok, so there is probably another cause of the files appearing. Did you
> switch branches between master and 5.1 and back? 5.1 looks like it uses the
> old method of generating the lexer files, so it puts them in the source
> tree. Master was switched over in July to use the new way that puts them in
> the build folder.
>
> -Ian
>
> On Wed, Nov 20, 2019 at 11:51 AM Jonatan Liljedahl <lijon@xxxxxxxxxxxx>
> wrote:
>
>> Hi,
>>
>> I see. So then I assume all these should also not exist?
>>
>> $ ls include/*_lexer.h
>> include/lib_table_lexer.h          include/netlist_lexer.h
>> include/page_layout_reader_lexer.h include/pcb_lexer.h
>> include/pcb_plot_params_lexer.h
>>
>> Of these files, only pcb_lexer.h differed between include/ and
>> build/common/.
>>
>> This is a fresh clone, I'm not sure how these files ended up in
>> include/. I see that the files are not in the git file tree of either
>> 5.1 or master branch. Maybe it happened when I built using
>> kicad-mac-builder pointing it to my kicad source tree?
>>
>> On Wed, Nov 20, 2019 at 12:09 PM Ian McInerney <Ian.S.McInerney@xxxxxxxx>
>> wrote:
>> >
>> > Jonatan,
>> >
>> > The pcb_lexer.h in include/ shouldn't exist anymore. There was a
>> switchover a few months ago in how that file was generated, and that change
>> moved it into the build directory. As a consequence of that switchover, you
>> need to clean out the stray files that existed from old build.
>> >
>> > Try running this command in the repository (note, this command will
>> remove any files you are ignoring in the git, so make sure you have
>> everything you want to save copied before running):
>> > 'git clean -fx'
>> >
>> > Out of curiosity, is this an older build system that you are just
>> updating, or is this a fresh clone since July?
>> >
>> > -Ian
>> >
>> > On Wed, Nov 20, 2019 at 10:46 AM Nick Østergaard <oe.nick@xxxxxxxxx>
>> wrote:
>> >>
>> >> It seems to build ok for linux on jenkins.
>> >>
>> >> Maybe double chevk you are not in a merge state or something.  Also,
>> please state the has of the version you are trying to build.
>> >>
>> >> ons. 20. nov. 2019 11.34 skrev Jonatan Liljedahl <lijon@xxxxxxxxxxxx>:
>> >>>
>> >>> Hi, I'm trying to build the current master, cmake configured like
>> this:
>> >>>
>> >>> cmake
>> -DNGSPICE_INCLUDE_DIR=/Users/lijon/Coding/kicad-mac-builder/build/ngspice-dest/include/
>> >>>
>> -DNGSPICE_LIBRARY=/Users/lijon/Coding/kicad-mac-builder/build/ngspice-dest/lib/libngspice.dylib
>> >>> -DKICAD_USE_OCE=OFF -DKICAD_SCRIPTING=OFF
>> >>>
>> -DwxWidgets_CONFIG_EXECUTABLE=/Users/lijon/Coding/kicad-mac-builder/build/wxwidgets-dest/bin/wx-config
>> >>> -DKICAD_BUILD_QA_TESTS=OFF -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 ../..
>> >>>
>> >>> but it fails here:
>> >>>
>> >>> [ 42%] Building CXX object
>> >>> common/CMakeFiles/pcbcommon.dir/__/pcbnew/pcb_parser.cpp.o
>> >>> /Users/lijon/Coding/kicad/pcbnew/pcb_parser.cpp:996:18: error: use of
>> >>> undeclared identifier 'T_copper_finish'
>> >>>             case T_copper_finish:
>> >>>                  ^
>> >>> /Users/lijon/Coding/kicad/pcbnew/pcb_parser.cpp:1002:18: error: use of
>> >>> undeclared identifier 'T_edge_plating'
>> >>>             case T_edge_plating:
>> >>>                  ^
>> >>> /Users/lijon/Coding/kicad/pcbnew/pcb_parser.cpp:1008:18: error: use of
>> >>> undeclared identifier 'T_dielectric_constraints'
>> >>>             case T_dielectric_constraints:
>> >>>                  ^
>> >>> /Users/lijon/Coding/kicad/pcbnew/pcb_parser.cpp:1014:18: error: use of
>> >>> undeclared identifier 'T_edge_connector'; did you mean
>> >>> 'T_zone_connect'?
>> >>>             case T_edge_connector:
>> >>>                  ^~~~~~~~~~~~~~~~
>> >>>                  T_zone_connect
>> >>> /Users/lijon/Coding/kicad/include/pcb_lexer.h:232:9: note:
>> >>> 'T_zone_connect' declared here
>> >>>         T_zone_connect,
>> >>>         ^
>> >>> /Users/lijon/Coding/kicad/pcbnew/pcb_parser.cpp:1020:35: error: use of
>> >>> undeclared identifier 'T_bevelled'
>> >>>                 else if( token == T_bevelled )
>> >>>                                   ^
>> >>> /Users/lijon/Coding/kicad/pcbnew/pcb_parser.cpp:1026:18: error: use of
>> >>> undeclared identifier 'T_castellated_pads'
>> >>>             case T_castellated_pads:
>> >>>                  ^
>> >>> /Users/lijon/Coding/kicad/pcbnew/pcb_parser.cpp:1088:30: error: use of
>> >>> undeclared identifier 'T_addsublayer'
>> >>>                 if( token == T_addsublayer )
>> >>>                              ^
>> >>> /Users/lijon/Coding/kicad/pcbnew/pcb_parser.cpp:1100:26: error: use of
>> >>> undeclared identifier 'T_type'; did you mean 'T_top'?
>> >>>                     case T_type:
>> >>>                          ^~~~~~
>> >>>                          T_top
>> >>> /Users/lijon/Coding/kicad/include/pcb_lexer.h:196:9: note: 'T_top'
>> declared here
>> >>>         T_top,
>> >>>         ^
>> >>> /Users/lijon/Coding/kicad/pcbnew/pcb_parser.cpp:1123:26: error: use of
>> >>> undeclared identifier 'T_material'; did you mean 'T_general'?
>> >>>                     case T_material:
>> >>>                          ^~~~~~~~~~
>> >>>                          T_general
>> >>> /Users/lijon/Coding/kicad/include/pcb_lexer.h:100:9: note: 'T_general'
>> >>> declared here
>> >>>         T_general,
>> >>>         ^
>> >>> /Users/lijon/Coding/kicad/pcbnew/pcb_parser.cpp:1129:26: error: use of
>> >>> undeclared identifier 'T_epsilon_r'
>> >>>                     case T_epsilon_r:
>> >>>                          ^
>> >>> /Users/lijon/Coding/kicad/pcbnew/pcb_parser.cpp:1135:26: error: use of
>> >>> undeclared identifier 'T_loss_tangent'
>> >>>                     case T_loss_tangent:
>> >>>                          ^
>> >>> /Users/lijon/Coding/kicad/pcbnew/pcb_parser.cpp:1141:26: error: use of
>> >>> undeclared identifier 'T_color'; did you mean 'T_bold'?
>> >>>                     case T_color:
>> >>>                          ^~~~~~~
>> >>>                          T_bold
>> >>> /Users/lijon/Coding/kicad/include/pcb_lexer.h:60:9: note: 'T_bold'
>> declared here
>> >>>         T_bold,
>> >>>         ^
>> >>> /Users/lijon/Coding/kicad/pcbnew/pcb_parser.cpp:1431:14: error: use of
>> >>> undeclared identifier 'T_stackup'; did you mean 'T_status'?
>> >>>         case T_stackup:
>> >>>              ^~~~~~~~~
>> >>>              T_status
>> >>> /Users/lijon/Coding/kicad/include/pcb_lexer.h:183:9: note: 'T_status'
>> >>> declared here
>> >>>         T_status,
>> >>>         ^
>> >>> /Users/lijon/Coding/kicad/pcbnew/pcb_parser.cpp:1524:14: error: use of
>> >>> undeclared identifier 'T_user_diff_pair'
>> >>>         case T_user_diff_pair:
>> >>>              ^
>> >>> /Users/lijon/Coding/kicad/pcbnew/pcb_parser.cpp:1571:14: error: use of
>> >>> undeclared identifier 'T_defaults'; did you mean 'default'?
>> >>>         case T_defaults:
>> >>>              ^~~~~~~~~~
>> >>>              default
>> >>> /Users/lijon/Coding/kicad/pcbnew/pcb_parser.cpp:1571:14: error:
>> >>> expected expression
>> >>> /Users/lijon/Coding/kicad/pcbnew/pcb_parser.cpp:1638:14: error: use of
>> >>> undeclared identifier 'T_max_error'; did you mean 'T_mirror'?
>> >>>         case T_max_error:
>> >>>              ^~~~~~~~~~~
>> >>>              T_mirror
>> >>> /Users/lijon/Coding/kicad/include/pcb_lexer.h:122:9: note: 'T_mirror'
>> >>> declared here
>> >>>         T_mirror,
>> >>>         ^
>> >>> /Users/lijon/Coding/kicad/pcbnew/pcb_parser.cpp:1639:58: error: use of
>> >>> undeclared identifier 'T_max_error'; did you mean 'T_mirror'?
>> >>>             designSettings.m_MaxError = parseBoardUnits( T_max_error
>> );
>> >>>                                                          ^~~~~~~~~~~
>> >>>                                                          T_mirror
>> >>> /Users/lijon/Coding/kicad/include/pcb_lexer.h:122:9: note: 'T_mirror'
>> >>> declared here
>> >>>         T_mirror,
>> >>>         ^
>> >>> /Users/lijon/Coding/kicad/pcbnew/pcb_parser.cpp:1643:14: error: use of
>> >>> undeclared identifier 'T_filled_areas_thickness'
>> >>>         case T_filled_areas_thickness:
>> >>>              ^
>> >>> fatal error: too many errors emitted, stopping now [-ferror-limit=]
>> >>> 20 errors generated.
>> >>> make[2]: ***
>> [common/CMakeFiles/pcbcommon.dir/__/pcbnew/pcb_parser.cpp.o]
>> >>> Error 1
>> >>> make[1]: *** [common/CMakeFiles/pcbcommon.dir/all] Error 2
>> >>> make: *** [all] Error 2
>> >>>
>> >>>
>> >>> --
>> >>> /Jonatan
>> >>> http://kymatica.com
>> >>>
>> >>> _______________________________________________
>> >>> 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
>> >>
>> >> _______________________________________________
>> >> 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
>>
>>
>>
>> --
>> /Jonatan
>> http://kymatica.com
>>
> _______________________________________________
> 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