← Back to team overview

kicad-developers team mailing list archive

Re: Can't compile latest kicad

 

Hello,

You probably have a bit older version of boost which doesn't have
has_value() method for optionals.
Easy fix is to just remove the method call, optional has explicit boolean
operator with equivalent semantics.

But yeah this should be fixed upstream.

On Fri, Jul 16, 2021 at 1:40 AM Alex Vidrasan <alex.vidrasan@xxxxxxxxx>
wrote:

> Hi,
>
> I tried to submit a bug report the usual way but gitlab killed my account
> and won't let me register a new one for some reason.
>
> The issue is I can't compile the latest kicad from a freshly cloned
> repository. Error below:
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> *Scanning dependencies of target kimath[  1%] Building CXX object
> thirdparty/potrace/CMakeFiles/potrace.dir/src/decompose.cpp.o[  1%]
> Building CXX object
> libs/kimath/CMakeFiles/kimath.dir/src/bezier_curves.cpp.o[  2%] Building
> CXX object thirdparty/potrace/CMakeFiles/potrace.dir/src/greymap.cpp.o[
>  2%] Building CXX object
> thirdparty/potrace/CMakeFiles/potrace.dir/src/potracelib.cpp.o[  2%]
> Building CXX object
> thirdparty/potrace/CMakeFiles/potrace.dir/src/render.cpp.o[  2%] Building
> CXX object thirdparty/potrace/CMakeFiles/potrace.dir/src/trace.cpp.o[  2%]
> Building CXX object
> libs/kimath/CMakeFiles/kimath.dir/src/convert_basic_shapes_to_polygon.cpp.o[
>  2%] Linking CXX static library libpotrace.a[  2%] Built target
> potraceScanning dependencies of target kiplatform[  2%] Building CXX object
> libs/kiplatform/CMakeFiles/kiplatform.dir/gtk/app.cpp.o/home/alex/kicad_sources/kicad/libs/kimath/src/convert_basic_shapes_to_polygon.cpp:
> In function ‘void CornerListToPolygon(SHAPE_POLY_SET&,
> std::vector<ROUNDED_CORNER>&, int, int,
> ERROR_LOC)’:/home/alex/kicad_sources/kicad/libs/kimath/src/convert_basic_shapes_to_polygon.cpp:314:43:
> error: ‘OPT<VECTOR2<int> >’ {aka ‘class boost::optional<VECTOR2<int> >’}
> has no member named ‘has_value’; did you mean ‘value’?
>  outline.Append( intersect.has_value() ? intersect.get() : arcStart );
>                                      ^~~~~~~~~
>
>  value/home/alex/kicad_sources/kicad/libs/kimath/src/convert_basic_shapes_to_polygon.cpp:327:43:
> error: ‘OPT<VECTOR2<int> >’ {aka ‘class boost::optional<VECTOR2<int> >’}
> has no member named ‘has_value’; did you mean ‘value’?
>  outline.Append( intersect.has_value() ? intersect.get() : arcEnd );
>                                    ^~~~~~~~~
>            valuemake[2]: ***
> [libs/kimath/CMakeFiles/kimath.dir/build.make:76:
> libs/kimath/CMakeFiles/kimath.dir/src/convert_basic_shapes_to_polygon.cpp.o]
> Error 1make[1]: *** [CMakeFiles/Makefile2:1920:
> libs/kimath/CMakeFiles/kimath.dir/all] Error 2*
>
> I can't for the life of me figure out what the issue is. I'm running
> devuan and the cmake process finished without any warnings or errors.
>
> Best regards,
> Alex
> _______________________________________________
> 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