Closed SpaceIm closed 1 year ago
Thanks for your contribution! I think there are some general issues with the ROS CI setup, looks fine to merge.
@ahornung is there a chance to submit a patch to the vcpkg port? the current version fails to build on latest MSVC.
@eladm-ultrawis: sure, is there something I can accept as a PR here that needs to be changed?
Not sure what you exactly mean, because I'm not maintaining the vcpkg port.
@ahornung I see, I thought you are the maintainer. I have no idea who maintains it then.
octomap fails to compile with recent compilers when I enable C++20 standard:
gcc12/C++20
``` octomap/1.9.7: Building from source octomap/1.9.7: Package octomap/1.9.7:e9554f9728649ff86b11b47e22e41252ff0c68eb octomap/1.9.7: Copying sources to build folder octomap/1.9.7: Building your package in /home/spaceim/.conan2/p/t/octom737ff965347f3/b octomap/1.9.7: Calling generate() octomap/1.9.7: Generators folder: /home/spaceim/.conan2/p/t/octom737ff965347f3/b/build/Release/generators octomap/1.9.7: CMakeToolchain generated: conan_toolchain.cmake octomap/1.9.7: CMakeToolchain generated: CMakePresets.json octomap/1.9.7: CMakeToolchain generated: ../../../src/CMakeUserPresets.json octomap/1.9.7: Generating aggregated env files octomap/1.9.7: Generated aggregated env files: ['conanbuild.sh', 'conanrun.sh'] octomap/1.9.7: Calling build() octomap/1.9.7: Running CMake.configure() octomap/1.9.7: RUN: cmake -G "Ninja" -DCMAKE_TOOLCHAIN_FILE="/home/spaceim/.conan2/p/t/octom737ff965347f3/b/build/Release/generators/conan_toolchain.cmake" -DCMAKE_INSTALL_PREFIX="/home/spaceim/.conan2/p/t/octom737ff965347f3/p" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" -DCMAKE_BUILD_TYPE="Release" "/home/spaceim/.conan2/p/t/octom737ff965347f3/b/src/octomap" -- Using Conan toolchain: /home/spaceim/.conan2/p/t/octom737ff965347f3/b/build/Release/generators/conan_toolchain.cmake -- Conan toolchain: C++ Standard 20 with extensions OFF -- Conan toolchain: Setting BUILD_SHARED_LIBS = ON -- The C compiler identification is GNU 12.1.0 -- The CXX compiler identification is GNU 12.1.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/gcc-12 - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/g++-12 - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- octomap building as Release -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) -- Compile octomap using: make -- Install octomap using: make install -- (be sure to set the correct CMAKE_INSTALL_PREFIX before) -- Compile API-documentation using: make docs -- Configuring done (7.2s) -- Generating done (0.0s) -- Build files have been written to: /home/spaceim/.conan2/p/t/octom737ff965347f3/b/build/Release octomap/1.9.7: Running CMake.build() octomap/1.9.7: RUN: cmake --build "/home/spaceim/.conan2/p/t/octom737ff965347f3/b/build/Release" -- -j8 [4/16] Building CXX object src/CMakeFiles/octomap.dir/CountingOcTree.cpp.o FAILED: src/CMakeFiles/octomap.dir/CountingOcTree.cpp.o /usr/bin/g++-12 -Doctomap_EXPORTS -I/home/spaceim/.conan2/p/t/octom737ff965347f3/b/src/octomap/include -m64 -Wall -Wextra -Wpedantic -O3 -funroll-loops -DNDEBUG -std=c++20 -fPIC -MD -MT src/CMakeFiles/octomap.dir/CountingOcTree.cpp.o -MF src/CMakeFiles/octomap.dir/CountingOcTree.cpp.o.d -o src/CMakeFiles/octomap.dir/CountingOcTree.cpp.o -c /home/spaceim/.conan2/p/t/octom737ff965347f3/b/src/octomap/src/CountingOcTree.cpp In file included from /home/spaceim/.conan2/p/t/octom737ff965347f3/b/src/octomap/include/octomap/OcTreeBaseImpl.h:83, from /home/spaceim/.conan2/p/t/octom737ff965347f3/b/src/octomap/include/octomap/OcTreeBase.h:38, from /home/spaceim/.conan2/p/t/octom737ff965347f3/b/src/octomap/include/octomap/CountingOcTree.h:39, from /home/spaceim/.conan2/p/t/octom737ff965347f3/b/src/octomap/src/CountingOcTree.cpp:35: /home/spaceim/.conan2/p/t/octom737ff965347f3/b/src/octomap/include/octomap/OcTreeIterator.hxx:42:39: warning: ‘templateVisual Studio 2022/C++20
``` octomap/1.9.7: Building from source octomap/1.9.7: Package octomap/1.9.7:e650b83588a2400c6b6d90a4d87990196c53536a octomap/1.9.7: Copying sources to build folder octomap/1.9.7: Building your package in C:\Users\spaceim\.conan2\p\t\octomd42ddb0f4438d\b octomap/1.9.7: Calling generate() octomap/1.9.7: Generators folder: C:\Users\spaceim\.conan2\p\t\octomd42ddb0f4438d\b\build\Release\generators octomap/1.9.7: CMakeToolchain generated: conan_toolchain.cmake octomap/1.9.7: CMakeToolchain generated: CMakePresets.json octomap/1.9.7: CMakeToolchain generated: ..\..\..\src\CMakeUserPresets.json octomap/1.9.7: Generating aggregated env files octomap/1.9.7: Generated aggregated env files: ['conanbuild.bat', 'conanrun.bat'] octomap/1.9.7: Calling build() octomap/1.9.7: Running CMake.configure() octomap/1.9.7: RUN: cmake -G "Ninja" -DCMAKE_TOOLCHAIN_FILE="C:/Users/spaceim/.conan2/p/t/octomd42ddb0f4438d/b/build/Release/generators/conan_toolchain.cmake" -DCMAKE_INSTALL_PREFIX="C:/Users/spaceim/.conan2/p/t/octomd42ddb0f4438d/p" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" -DCMAKE_BUILD_TYPE="Release" "C:\Users\spaceim\.conan2\p\t\octomd42ddb0f4438d\b\src\octomap" conanvcvars.bat: Activating environment Visual Studio 17 - amd64 - vcvars_ver=14.3 [vcvarsall.bat] Environment initialized for: 'x64' -- Using Conan toolchain: C:/Users/spaceim/.conan2/p/t/octomd42ddb0f4438d/b/build/Release/generators/conan_toolchain.cmake -- Conan toolchain: C++ Standard 20 with extensions OFF -- Conan toolchain: Setting BUILD_SHARED_LIBS = ON -- The C compiler identification is MSVC 19.35.32217.1 -- The CXX compiler identification is MSVC 19.35.32217.1 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.35.32215/bin/Hostx64/x64/cl.exe - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.35.32215/bin/Hostx64/x64/cl.exe - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- octomap building as Release -- Found Doxygen: D:/Programmes/mingw64/bin/doxygen.exe (found version "1.9.5") found components: doxygen missing components: dot -- Compile octomap using: make -- Install octomap using: make install -- (be sure to set the correct CMAKE_INSTALL_PREFIX before) -- Compile API-documentation using: make docs -- Configuring done (1.6s) -- Generating done (0.0s) -- Build files have been written to: C:/Users/spaceim/.conan2/p/t/octomd42ddb0f4438d/b/build/Release octomap/1.9.7: Running CMake.build() octomap/1.9.7: RUN: cmake --build "C:\Users\spaceim\.conan2\p\t\octomd42ddb0f4438d\b\build\Release" -- -j8 conanvcvars.bat: Activating environment Visual Studio 17 - amd64 - vcvars_ver=14.3 [vcvarsall.bat] Environment initialized for: 'x64' [1/14] Building CXX object src\CMakeFiles\octomap.dir\Pointcloud.cpp.obj FAILED: src/CMakeFiles/octomap.dir/Pointcloud.cpp.obj C:\PROGRA~1\MIB055~1\2022\COMMUN~1\VC\Tools\MSVC\1435~1.322\bin\Hostx64\x64\cl.exe /nologo /TP -Doctomap_EXPORTS -IC:\Users\spaceim\.conan2\p\t\octomd42ddb0f4438d\b\src\octomap\include /DWIN32 /D_WINDOWS /W3 /GR /EHsc /O2 /Ob2 /DNDEBUG -std:c++20 -MD /showIncludes /Fosrc\CMakeFiles\octomap.dir\Pointcloud.cpp.obj /Fdsrc\CMakeFiles\octomap.dir\ /FS -c C:\Users\spaceim\.conan2\p\t\octomd42ddb0f4438d\b\src\octomap\src\Pointcloud.cpp C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include\ciso646(15): warning C4996: '_Header_ciso646': warning STL4036:This PR fixes most obvious illformed syntax or logic: