pybind11 2.8 pyarea-issue

Having trouble installing or compiling FreeCAD? Get help here.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Post Reply
User avatar
looo
Veteran
Posts: 3941
Joined: Mon Nov 11, 2013 5:29 pm

pybind11 2.8 pyarea-issue

Post by looo »

Just posting this here as currently the windows-conda-build is failing with pybind11 2.8.

Code: Select all

[2452/3895] Building CXX object src\Mod\Path\libarea\CMakeFiles\area.dir\pyarea.cpp.obj
FAILED: src/Mod/Path/libarea/CMakeFiles/area.dir/pyarea.cpp.obj 
C:\PROGRA~2\MICROS~1\2017\ENTERP~1\VC\Tools\MSVC\1416~1.270\bin\Hostx64\x64\cl.exe  /nologo /TP -DHAVE_SNPRINTF -D_CRT_SECURE_NO_WARNINGS -D_OCC64 -Darea_EXPORTS -I%SRC_DIR%\build\src\Mod\Path\libarea\area_autogen\include -I%PREFIX%\Library\include\smesh -I%SRC_DIR%\build\src -I%SRC_DIR%\src -I%PREFIX%\include -I%SRC_DIR%\src\Mod\Path\libarea -I%PREFIX%\Library\include /DWIN32 /D_WINDOWS /W3 /GR  /MD /O2 /Ob2 /DNDEBUG /Zm150 /bigobj /Zi /EHa   /wd4244 -std:c++17 /showIncludes /Fosrc\Mod\Path\libarea\CMakeFiles\area.dir\pyarea.cpp.obj /Fdsrc\Mod\Path\libarea\CMakeFiles\area.dir\ /FS -c %SRC_DIR%\src\Mod\Path\libarea\pyarea.cpp
%PREFIX%\Library\include\pybind11/functional.h(77): error C2760: syntax error: unexpected token 'identifier', expected 'type specifier'
%PREFIX%\Library\include\pybind11/functional.h(25): note: while compiling class template member function 'bool pybind11::detail::type_caster<std::function<bool (AdaptivePath::TPaths)>,void>::load(pybind11::handle,bool)'
d:\bld\freecad_1633600283851\_h_env\library\include\pybind11\cast.h(1215): note: see reference to function template instantiation 'bool pybind11::detail::type_caster<std::function<bool (AdaptivePath::TPaths)>,void>::load(pybind11::handle,bool)' being compiled
d:\bld\freecad_1633600283851\_h_env\library\include\pybind11\cast.h(1190): note: see reference to class template instantiation 'pybind11::detail::type_caster<std::function<bool (AdaptivePath::TPaths)>,void>' being compiled
%PREFIX%\Library\include\pybind11/pybind11.h(158): note: see reference to class template instantiation 'pybind11::detail::argument_loader<Class *,const AdaptivePath::DPaths &,const AdaptivePath::DPaths &,std::function<bool (AdaptivePath::TPaths)>>' being compiled´
In the meantime pinning the older pybind11 (2.7) should work as a workaround.
Post Reply