Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PCL:x64-windows] build failure with [cuda] feature since BOOST 1.75.0 #15447

Closed
dweckmann opened this issue Jan 4, 2021 · 6 comments
Closed
Assignees
Labels
category:port-bug The issue is with a library, which is something the port should already support

Comments

@dweckmann
Copy link
Contributor

Host Environment

  • OS: Windows 10
  • Compiler: Microsoft (R) C/C++ Optimizing Compiler Version 19.28.29335 for x64

To Reproduce
Steps to reproduce the behavior:
./vcpkg install pcl[cuda]

Failure logs

Additional context
It was building fine using boost 1.74, and the build error is directly linked with boost while compiling cuda files:

[463/477] cmd.exe /C "cd /D E:\vcpkg\buildtrees\pcl\x64-windows-dbg\cuda\segmentation\CMakeFiles\pcl_cuda_segmentation.dir\src && "C:\Program Files\CMake\bin\cmake.exe" -E make_directory E:/vcpkg/buildtrees/pcl/x64-windows-dbg/cuda/segmentation/CMakeFiles/pcl_cuda_segmentation.dir/src/. && "C:\Program Files\CMake\bin\cmake.exe" -D verbose:BOOL=OFF -D build_configuration:STRING=Debug -D generated_file:STRING=E:/vcpkg/buildtrees/pcl/x64-windows-dbg/cuda/segmentation/CMakeFiles/pcl_cuda_segmentation.dir/src/./pcl_cuda_segmentation_generated_connected_components.cu.obj -D generated_cubin_file:STRING=E:/vcpkg/buildtrees/pcl/x64-windows-dbg/cuda/segmentation/CMakeFiles/pcl_cuda_segmentation.dir/src/./pcl_cuda_segmentation_generated_connected_components.cu.obj.cubin.txt -P E:/vcpkg/buildtrees/pcl/x64-windows-dbg/cuda/segmentation/CMakeFiles/pcl_cuda_segmentation.dir/src/pcl_cuda_segmentation_generated_connected_components.cu.obj.Debug.cmake"
FAILED: cuda/segmentation/CMakeFiles/pcl_cuda_segmentation.dir/src/pcl_cuda_segmentation_generated_connected_components.cu.obj
...
E:\vcpkg\installed\x64-windows\include\boost/mpl/not.hpp(47): error: identifier "T1" is undefined
E:\vcpkg\installed\x64-windows\include\boost/mpl/not.hpp(47): error: expected a type specifier
E:\vcpkg\installed\x64-windows\include\boost/mpl/not.hpp(47): error: expected a type specifier
...

Maybe we can switch back to 1.74 if a easy fix could not be found. Anyway, since many package have cuda support, a CI step targeting cuda option would be great to catch this kind of error early.

@StarGate-One
Copy link
Contributor

PCL was fixed to recognize boost 1.75.
vcpkg needs to be patched/fixed to include the changes.
See PointCloudLibrary/pcl#4537 and commit PointCloudLibrary/pcl@8f667b5

@dweckmann
Copy link
Contributor Author

PCL was fixed to recognize boost 1.75.
vcpkg needs to be patched/fixed to include the changes.
See PointCloudLibrary/pcl#4537 and commit PointCloudLibrary/pcl@8f667b5

Thanks for spotting this. The easiest way seems to include the patch.

@NancyLi1013 NancyLi1013 added the category:port-bug The issue is with a library, which is something the port should already support label Jan 5, 2021
@dweckmann
Copy link
Contributor Author

Unfortunately, the mentioned patch is not enough. I'm still having the issue

@dweckmann
Copy link
Contributor Author

Well, just tried with cmake 3.18.3, as suggested by the upstream, still the same result. Sorry, I don't have the time to look further right now. I will switch to the "old" boost 1.74 by my side until this is fixed.

@NancyLi1013 NancyLi1013 added the depends:upstream-changes Waiting on a change to the upstream project label Jan 7, 2021
@larshg
Copy link
Contributor

larshg commented Feb 12, 2021

Please see the solution here with boost boostorg/preprocessor@aa8f347.

You'll have to edit the boost header file and then it should work.

@PhoebeHui PhoebeHui assigned PhoebeHui and unassigned NancyLi1013 Nov 22, 2021
@PhoebeHui
Copy link
Contributor

This issue has been fixed now, please get latest source and try again.

Starting package 16/16: pcl:x64-windows
Building package pcl[core,cuda]:x64-windows...
-- Downloading https://github.com/PointCloudLibrary/pcl/archive/f36a69a5e89953708990c4669317f989d532cf08.tar.gz -> PointCloudLibrary-pcl-f36a69a5e89953708990c4669317f989d532cf08.tar.gz...
-- Extracting source E:/vcpkg/clean/vcpkg/downloads/PointCloudLibrary-pcl-f36a69a5e89953708990c4669317f989d532cf08.tar.gz
-- Applying patch add-gcc-version-check.patch
-- Applying patch fix-check-sse.patch
-- Applying patch fix-find-qhull.patch
-- Applying patch fix-numeric-literals-flag.patch
-- Applying patch pcl_config.patch
-- Applying patch pcl_utils.patch
-- Applying patch remove-broken-targets.patch
-- Applying patch fix-cmake_find_library_suffixes.patch
-- Applying patch fix-pkgconfig.patch
-- Applying patch fix-find-libusb.patch
-- Applying patch install-examples.patch
-- Applying patch no-absolute.patch
-- Using source at E:/vcpkg/clean/vcpkg/buildtrees/pcl/src/89d532cf08-e771f817a1.clean
-- Found external ninja('1.10.2').
-- Configuring x64-windows
-- Building x64-windows-dbg
-- Building x64-windows-rel
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/lib/pkgconfig/pcl_2d-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/lib/pkgconfig/pcl_common-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/lib/pkgconfig/pcl_cuda_common-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/lib/pkgconfig/pcl_cuda_features-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/lib/pkgconfig/pcl_cuda_sample_consensus-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/lib/pkgconfig/pcl_cuda_segmentation-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/lib/pkgconfig/pcl_features-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/lib/pkgconfig/pcl_filters-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/lib/pkgconfig/pcl_geometry-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/lib/pkgconfig/pcl_gpu_containers-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/lib/pkgconfig/pcl_gpu_features-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/lib/pkgconfig/pcl_gpu_octree-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/lib/pkgconfig/pcl_gpu_segmentation-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/lib/pkgconfig/pcl_gpu_utils-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/lib/pkgconfig/pcl_io-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/lib/pkgconfig/pcl_kdtree-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/lib/pkgconfig/pcl_keypoints-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/lib/pkgconfig/pcl_ml-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/lib/pkgconfig/pcl_octree-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/lib/pkgconfig/pcl_recognition-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/lib/pkgconfig/pcl_registration-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/lib/pkgconfig/pcl_sample_consensus-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/lib/pkgconfig/pcl_search-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/lib/pkgconfig/pcl_segmentation-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/lib/pkgconfig/pcl_stereo-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/lib/pkgconfig/pcl_surface-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/lib/pkgconfig/pcl_tracking-1.12.pc
-- Using cached msys-mingw-w64-i686-pkg-config-0.29.2-3-any.pkg.tar.zst.
-- Using cached msys-mingw-w64-i686-libwinpthread-git-9.0.0.6373.5be8fcd83-1-any.pkg.tar.zst.
-- Using msys root at E:/vcpkg/clean/vcpkg/downloads/tools/msys2/9a1ec3f33446b195
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/debug/lib/pkgconfig/pcl_2d-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/debug/lib/pkgconfig/pcl_common-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/debug/lib/pkgconfig/pcl_cuda_common-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/debug/lib/pkgconfig/pcl_cuda_features-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/debug/lib/pkgconfig/pcl_cuda_sample_consensus-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/debug/lib/pkgconfig/pcl_cuda_segmentation-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/debug/lib/pkgconfig/pcl_features-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/debug/lib/pkgconfig/pcl_filters-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/debug/lib/pkgconfig/pcl_geometry-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/debug/lib/pkgconfig/pcl_gpu_containers-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/debug/lib/pkgconfig/pcl_gpu_features-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/debug/lib/pkgconfig/pcl_gpu_octree-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/debug/lib/pkgconfig/pcl_gpu_segmentation-1.12.pc-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/debug/lib/pkgconfig/pcl_gpu_utils-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/debug/lib/pkgconfig/pcl_io-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/debug/lib/pkgconfig/pcl_kdtree-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/debug/lib/pkgconfig/pcl_keypoints-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/debug/lib/pkgconfig/pcl_ml-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/debug/lib/pkgconfig/pcl_octree-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/debug/lib/pkgconfig/pcl_recognition-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/debug/lib/pkgconfig/pcl_registration-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/debug/lib/pkgconfig/pcl_sample_consensus-1.12.pc-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/debug/lib/pkgconfig/pcl_search-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/debug/lib/pkgconfig/pcl_segmentation-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/debug/lib/pkgconfig/pcl_stereo-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/debug/lib/pkgconfig/pcl_surface-1.12.pc
-- Fixing pkgconfig file: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/debug/lib/pkgconfig/pcl_tracking-1.12.pc
-- Installing: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/share/pcl/usage
-- Installing: E:/vcpkg/clean/vcpkg/packages/pcl_x64-windows/share/pcl/copyright
-- Performing post-build validation
-- Performing post-build validation done
Stored binary cache: C:\Users\phoebe\AppData\Local\vcpkg\archives\ce\cee7d1e3058ab5ff94344cb591a626d987f878c0cda36e3a1d20a20e67f85fe6.zip
Installing package pcl[core,cuda]:x64-windows...
Elapsed time for package pcl:x64-windows: 28.49 min

Total elapsed time: 32.56 min

The package pcl provides CMake targets:

    find_package(PCL CONFIG REQUIRED)
    target_link_libraries(main PRIVATE ${PCL_LIBRARIES})

@PhoebeHui PhoebeHui removed the depends:upstream-changes Waiting on a change to the upstream project label Feb 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-bug The issue is with a library, which is something the port should already support
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants