You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Boost 1.72 moved aspects of convolve.hpp and other gil numeric extensions behind a detail:: subnamespace (https://gist.github.com/mloskot/993e3d3b471a7e3c02e5ac8199d2b4ad -> boostorg/gil@8235ee6). The randomly included chunk of gil headers causes a compile-time conflict for k3dsdk/bitmap.h resulting in numerous errors relating to convolve_*, kernel_*, and generate_dy_sobel:
In file included from /usr/include/boost/gil/image_processing/numeric.hpp:15,
from /usr/include/boost/gil/image_processing/scaling.hpp:14,
from /usr/include/boost/gil.hpp:46,
from /tmp/SBo/k3d-k3d-0.8.0.6/k3dsdk/bitmap.h:36,
from /tmp/SBo/k3d-k3d-0.8.0.6/k3dsdk/type_registry.cpp:24:
/usr/include/boost/gil/detail/math.hpp:24:16: error: ‘kernel_2d’ in namespace ‘boost::gil::detail’ does not name a template type
24 | inline detail::kernel_2d<T, Allocator> get_identity_kernel()
| ^~~~~~~~~
...
292 | auto sobel_y = generate_dy_sobel();
| ^~~~~~~~~~~~~~~~~
/usr/include/boost/gil/image_processing/numeric.hpp:293:13: error: ‘convolve_2d’ is not a member of ‘boost::gil::detail’
293 | detail::convolve_2d(dx, sobel_x, ddxx);
Removing the included headers in k3dsdk/gil/boost/gil/extension/numeric resolves the issue. I at first tried just removing convolve.hpp (fixes some errors), kernel.hpp (fixes some errors), but then trying to remove pixel_numeric_operations.hpp did not fix the errors related to various pixel_*_t types which started appearing after removing the other two headers, so I just tried removing them all -- this worked. If there is a need to include these in the source distribution for older boost builds, then perhaps CMake is incorrectly adding them to my g++ command line?
CMake on my system causes each source file to be built with a command like:
Output of grep -B1 -i 'gil\|boost' CMakeCache.txt:
Boost_DATE_TIME_LIBRARY_RELEASE:STRING=/usr/lib64/libboost_date_time.so.1.74.0
//The directory containing a CMake configuration file for Boost.
Boost_DIR:PATH=/usr/lib64/cmake/Boost-1.74.0
--
//Path to a file.
Boost_INCLUDE_DIR:PATH=/usr/include
Boost_PROGRAM_OPTIONS_LIBRARY_RELEASE:STRING=/usr/lib64/libboost_program_options.so.1.74.0
Boost_PYTHON_LIBRARY_RELEASE:STRING=/usr/lib64/libboost_python27.so.1.74.0
Boost_REGEX_LIBRARY_RELEASE:STRING=/usr/lib64/libboost_regex.so.1.74.0
Boost_SYSTEM_LIBRARY_RELEASE:STRING=/usr/lib64/libboost_system.so.1.74.0
Boost_UNIT_TEST_FRAMEWORK_LIBRARY_RELEASE:STRING=/usr/lib64/libboost_unit_test_framework.so.1.74.0
--
//Override the default location for Boost header files.
K3D_BOOST_INCLUDE_DIR:PATH=
//Override the default location for Boost libraries.
K3D_BOOST_LIBRARY_DIR:PATH=
//Use multithreaded Boost libraries.
K3D_BOOST_USE_MULTITHREADED:BOOL=OFF
--
//The directory containing a CMake configuration file for boost_date_time.
boost_date_time_DIR:PATH=/usr/lib64/cmake/boost_date_time-1.74.0
//The directory containing a CMake configuration file for boost_headers.
boost_headers_DIR:PATH=/usr/lib64/cmake/boost_headers-1.74.0
//The directory containing a CMake configuration file for boost_program_options.
boost_program_options_DIR:PATH=/usr/lib64/cmake/boost_program_options-1.74.0
//The directory containing a CMake configuration file for boost_python.
boost_python_DIR:PATH=/usr/lib64/cmake/boost_python-1.74.0
//The directory containing a CMake configuration file for boost_regex.
boost_regex_DIR:PATH=/usr/lib64/cmake/boost_regex-1.74.0
//The directory containing a CMake configuration file for boost_system.
boost_system_DIR:PATH=/usr/lib64/cmake/boost_system-1.74.0
//The directory containing a CMake configuration file for boost_unit_test_framework.
boost_unit_test_framework_DIR:PATH=/usr/lib64/cmake/boost_unit_test_framework-1.74.0
--
//Dependencies for the target
k3d-scripted-plugins_LIB_DEPENDS:STATIC=general;k3dsdk;general;Boost::regex;
--
//Dependencies for the target
k3dsdk-python-arrays_LIB_DEPENDS:STATIC=general;k3dsdk;general;/usr/lib64/libpython2.7.so;general;Boost::python;
--
//Dependencies for the target
k3dsdk-python-atk_LIB_DEPENDS:STATIC=general;k3dsdk;general;Boost::python;general;/usr/lib64/libpython2.7.so;general;gtkmm-2.4;general;atkmm-1.6;general;gtk-x11-2.0;general;gdkmm-2.4;general;giomm-2.4;general;pangomm-1.4;general;glibmm-2.4;general;cairomm-1.0;general;sigc-2.0;general;gtk-x11-2.0;general;gdk-x11-2.0;general;pangocairo-1.0;general;atk-1.0;general;cairo;general;gdk_pixbuf-2.0;general;gio-2.0;general;pangoft2-1.0;general;pango-1.0;general;gobject-2.0;general;glib-2.0;general;fontconfig;general;freetype;
--
//Dependencies for the target
k3dsdk-python-const-arrays_LIB_DEPENDS:STATIC=general;k3dsdk;general;/usr/lib64/libpython2.7.so;general;Boost::python;
--
//Dependencies for the target
k3dsdk-python-values_LIB_DEPENDS:STATIC=general;k3dsdk;general;Boost::python;general;/usr/lib64/libpython2.7.so;
--
//Dependencies for the target
k3dsdk-python_LIB_DEPENDS:STATIC=general;k3dsdk-python-primitives;general;Boost::python;general;k3dsdk-python-atk;
--
//Dependencies for the target
k3dsdk_LIB_DEPENDS:STATIC=general;glibmm-2.4;general;gobject-2.0;general;glib-2.0;general;sigc-2.0;general;sigc-2.0;general;/usr/lib64/libexpat.so;general;/usr/lib64/libz.so;general;GLEW;general;GL;general;X11;general;GLU;general;GL;general;/usr/lib64/libGL.so;general;/usr/lib64/libGLU.so;general;k3dsdk-half;general;k3dsdk-sgi-tesselator;general;k3dsdk-parallel;general;Boost::program_options;general;Boost::unit_test_framework;general;Boost::system;general;dl;
--
BUILD_TESTING:INTERNAL=OFF
//ADVANCED property for variable: Boost_DIR
Boost_DIR-ADVANCED:INTERNAL=1
--
EXPAT_LIBRARY-ADVANCED:INTERNAL=1
//Details about finding Boost
FIND_PACKAGE_MESSAGE_DETAILS_Boost:INTERNAL=[/usr/lib64/cmake/Boost-1.74.0/BoostConfig.cmake][cfound components: date_time program_options regex system unit_test_framework python ][v1.74.0(1.42)]
--
K3D_BLAS_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: K3D_BOOST_INCLUDE_DIR
K3D_BOOST_INCLUDE_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: K3D_BOOST_LIBRARY_DIR
K3D_BOOST_LIBRARY_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: K3D_BOOST_USE_MULTITHREADED
K3D_BOOST_USE_MULTITHREADED-ADVANCED:INTERNAL=1
--
__pkg_config_checked_PC_Magick++:INTERNAL=1
//ADVANCED property for variable: boost_date_time_DIR
boost_date_time_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: boost_headers_DIR
boost_headers_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: boost_program_options_DIR
boost_program_options_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: boost_python_DIR
boost_python_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: boost_regex_DIR
boost_regex_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: boost_system_DIR
boost_system_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: boost_unit_test_framework_DIR
boost_unit_test_framework_DIR-ADVANCED:INTERNAL=1
Observed in latest commit ID 17ef1bf but the same gil headers are present in latest release 0.8.0.6 as well, so I suspect the problem would also occur there.
The text was updated successfully, but these errors were encountered:
Boost 1.72 moved aspects of convolve.hpp and other gil numeric extensions behind a detail:: subnamespace (https://gist.github.com/mloskot/993e3d3b471a7e3c02e5ac8199d2b4ad -> boostorg/gil@8235ee6). The randomly included chunk of gil headers causes a compile-time conflict for k3dsdk/bitmap.h resulting in numerous errors relating to convolve_*, kernel_*, and generate_dy_sobel:
...
Removing the included headers in k3dsdk/gil/boost/gil/extension/numeric resolves the issue. I at first tried just removing convolve.hpp (fixes some errors), kernel.hpp (fixes some errors), but then trying to remove pixel_numeric_operations.hpp did not fix the errors related to various pixel_*_t types which started appearing after removing the other two headers, so I just tried removing them all -- this worked. If there is a need to include these in the source distribution for older boost builds, then perhaps CMake is incorrectly adding them to my g++ command line?
CMake on my system causes each source file to be built with a command like:
Output of grep -B1 -i 'gil\|boost' CMakeCache.txt:
Observed in latest commit ID 17ef1bf but the same gil headers are present in latest release 0.8.0.6 as well, so I suspect the problem would also occur there.
The text was updated successfully, but these errors were encountered: