I'm trying to update blender to the latest version, but stumbled upon
some errors.
C++17 doesn't support register storage class, but it is part of XKBLIb headers,

I tried things like "-Wno-register" to MAKE_FLAGS, then
#pragma Clang diagnostic ignored "-Wregister" before the
header to no avail.

FAILED: intern/ghost/CMakeFiles/bf_intern_ghost.dir/intern/GHOST_ISystem.cpp.o
/usr/ports/pobj/blender-2.90.1/bin/c++  -DGLEW_NO_GLU -DNDEBUG 
-DWITH_ASSERT_ABORT -DWITH_GHOST_X11
-DWITH_GL_PROFILE_CORE -DWITH_OPENGL -DWITH_X11_ALPHA -DWITH_X11_XF86VMODE 
-DWITH_X11_XFIXES -DWITH_X11_XINPUT
-DWITH_XDND -DWITH_XF86KEYSYM -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE 
-D_LARGEFILE_SOURCE -D__LITTLE_ENDIAN__
-I/usr/ports/pobj/blender-2.90.1/blender-2.90.1/intern/ghost
-I/usr/ports/pobj/blender-2.90.1/blender-2.90.1/intern/glew-mx
-I/usr/ports/pobj/blender-2.90.1/blender-2.90.1/source/blender/imbuf
-I/usr/ports/pobj/blender-2.90.1/blender-2.90.1/source/blender/makesdna
-I/usr/ports/pobj/blender-2.90.1/blender-2.90.1/extern/xdnd -Wall 
-Wno-tautological-compare -Wno-unknown-pragmas
-Wno-char-subscripts -Wno-overloaded-virtual -Wno-sign-compare 
-Wno-invalid-offsetof -O2 -pipe  -I/usr/local/include
-I/usr/X11R6/include -pthread  -std=c++11 -std=c++17 -pipe -fPIC 
-funsigned-char -fno-strict-aliasing -DNDEBUG -MD -MT
intern/ghost/CMakeFiles/bf_intern_ghost.dir/intern/GHOST_ISystem.cpp.o -MF
intern/ghost/CMakeFiles/bf_intern_ghost.dir/intern/GHOST_ISystem.cpp.o.d -o
intern/ghost/CMakeFiles/bf_intern_ghost.dir/intern/GHOST_ISystem.cpp.o -c
/usr/ports/pobj/blender-2.90.1/blender-2.90.1/intern/ghost/intern/GHOST_ISystem.cpp
In file included from 
/usr/ports/pobj/blender-2.90.1/blender-2.90.1/intern/ghost/intern/GHOST_ISystem.cpp:37:
In file included from 
/usr/ports/pobj/blender-2.90.1/blender-2.90.1/intern/ghost/intern/GHOST_SystemX11.h:27:
/usr/X11R6/include/X11/XKBlib.h:399:5: error: ISO C++17 does not allow 
'register' storage class specifier [-Wregister]
    register KeySym *           /* sym_return */,
    ^~~~~~~~~
1 error generated.
ninja: build stopped: subcommand failed.
*** Error 1 in /usr/ports/graphics/blender 
(/usr/ports/devel/cmake/cmake.port.mk:34 'do-build': @cd
/usr/ports/pobj/blender-2.90.1/build-amd...)
*** Error 2 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2921
'/usr/ports/pobj/blender-2.90.1/build-amd64/.build_done': @cd /usr/ports/gra...)
*** Error 2 in /usr/ports/graphics/blender 
(/usr/ports/infrastructure/mk/bsd.port.mk:2584 'build':
@lock=blender-2.90.1;  export _LOCKS_HELD...)

Is forcing -std=c++11 good enough? It goes past that error to

FAILED: 
intern/libmv/CMakeFiles/bf_intern_libmv.dir/libmv/multiview/fundamental.cc.o
/usr/ports/pobj/blender-2.90.1/bin/c++  -DCERES_STD_UNORDERED_MAP 
-DCERES_USE_CXX_THREADS -DGFLAGS_DLL_DECL=""
-DGFLAGS_DLL_DECLARE_FLAG="" -DGFLAGS_DLL_DEFINE_FLAG="" 
-DGOOGLE_GLOG_DLL_DECL="" -DLIBMV_GFLAGS_NAMESPACE=gflags
-DLIBMV_NO_FAST_DETECTOR="" -DNDEBUG -DWITH_ASSERT_ABORT 
-DWITH_LIBMV_GUARDED_ALLOC -DWITH_OPENGL
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE 
-D__LITTLE_ENDIAN__
-I/usr/ports/pobj/blender-2.90.1/blender-2.90.1/intern/libmv
-I/usr/ports/pobj/blender-2.90.1/blender-2.90.1/extern/gflags/src
-I/usr/ports/pobj/blender-2.90.1/blender-2.90.1/extern/glog/include
-I/usr/ports/pobj/blender-2.90.1/blender-2.90.1/extern/ceres/include
-I/usr/ports/pobj/blender-2.90.1/blender-2.90.1/extern/ceres/config
-I/usr/ports/pobj/blender-2.90.1/blender-2.90.1/intern/guardedalloc -isystem
/usr/ports/pobj/blender-2.90.1/blender-2.90.1/extern/Eigen3 -Wall 
-Wno-tautological-compare -Wno-unknown-pragmas
-Wno-char-subscripts -Wno-overloaded-virtual -Wno-sign-compare 
-Wno-invalid-offsetof -O2 -pipe  -I/usr/local/include
-I/usr/X11R6/include -pthread  -std=c++17 -std=c++11 -pipe -fPIC 
-funsigned-char -fno-strict-aliasing -DNDEBUG -MD -MT
intern/libmv/CMakeFiles/bf_intern_libmv.dir/libmv/multiview/fundamental.cc.o -MF
intern/libmv/CMakeFiles/bf_intern_libmv.dir/libmv/multiview/fundamental.cc.o.d 
-o
intern/libmv/CMakeFiles/bf_intern_libmv.dir/libmv/multiview/fundamental.cc.o -c
/usr/ports/pobj/blender-2.90.1/blender-2.90.1/intern/libmv/libmv/multiview/fundamental.cc
In file included from 
/usr/ports/pobj/blender-2.90.1/blender-2.90.1/intern/libmv/libmv/multiview/fundamental.cc:23:
In file included from 
/usr/ports/pobj/blender-2.90.1/blender-2.90.1/extern/ceres/include/ceres/ceres.h:37:
In file included from
/usr/ports/pobj/blender-2.90.1/blender-2.90.1/extern/ceres/include/ceres/autodiff_cost_function.h:130:
In file included from 
/usr/ports/pobj/blender-2.90.1/blender-2.90.1/extern/ceres/include/ceres/internal/autodiff.h:151:
In file included from
/usr/ports/pobj/blender-2.90.1/blender-2.90.1/extern/ceres/include/ceres/internal/parameter_dims.h:37:
/usr/ports/pobj/blender-2.90.1/blender-2.90.1/extern/ceres/include/ceres/internal/integer_sequence_algorithm.h:64:21:
error: no template named 'integer_sequence' in namespace 'std'; did you mean 
'__integer_sequence'?
struct SumImpl<std::integer_sequence<T, N, Ns...>> {
               ~~~~~^~~~~~~~~~~~~~~~
                    __integer_sequence
/usr/include/c++/v1/__tuple:93:8: note: '__integer_sequence' declared here

Reply via email to