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

Update FindBoost for release 1.75 #4537

Closed
kunaltyagi opened this issue Dec 6, 2020 · 5 comments · Fixed by #4542
Closed

Update FindBoost for release 1.75 #4537

kunaltyagi opened this issue Dec 6, 2020 · 5 comments · Fixed by #4542
Labels
effort: low Rough estimate of time needed to fix/implement/solve good first issue Skills/areas of expertise needed to tackle the issue skill: cmake Skills/areas of expertise needed to tackle the issue

Comments

@kunaltyagi
Copy link
Member

For information only: On next Wednesday boost 1.75 will be published. FindBoost from CMake does not work with this version!

Originally posted by @OgreTransporter in #4080 (comment)

@kunaltyagi kunaltyagi added effort: low Rough estimate of time needed to fix/implement/solve good first issue Skills/areas of expertise needed to tackle the issue skill: cmake Skills/areas of expertise needed to tackle the issue labels Dec 6, 2020
@OgreTransporter
Copy link
Contributor

I have done a few tries and it is not that bad. I have identified two problems. One problem is the used CMake version 3.19.1, which has some serious bugs. I have problems with this CMake version also with other libraries - not only PCL. In the current Boost 1.75 beta there was probably another bug. A step back to CMake 3.18.5 and a new boost build from the repository solved these problems.

The remaining problems are related to CUDA:

1>Building NVCC (Device) object cuda/segmentation/CMakeFiles/pcl_cuda_segmentation.dir/src/Debug/pcl_cuda_segmentation_generated_connected_components.cu.obj
1>connected_components.cu
1>D:\test\PCL\deps\boost\install\boost/mpl/not.hpp(47): error : identifier "T1" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/not.hpp(47): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/not.hpp(47): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/not.hpp(47): error : identifier "BOOST_PP_IIF_BOOST_PP_BOOL_BOOST_PP_TUPLE_ELEM_O_1" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/not.hpp(47): error : expected a ")"
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/not.hpp(47): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/not.hpp(47): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/not.hpp(47): error : identifier "BOOST_PP_WHILE_2" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/not.hpp(47): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/not.hpp(47): error : function returning function is not allowed
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/not.hpp(47): error : identifier "BOOST_PP_SUB_P" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/not.hpp(47): error : identifier "BOOST_PP_SUB_O" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/not.hpp(47): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/not.hpp(47): error : expected a "," or ">"
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/not.hpp(47): error : identifier "T1" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/identity.hpp(40): error : identifier "T1" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/identity.hpp(40): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/identity.hpp(40): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/identity.hpp(40): error : identifier "BOOST_PP_IIF_BOOST_PP_BOOL_BOOST_PP_TUPLE_ELEM_O_1" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/identity.hpp(40): error : expected a ")"
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/identity.hpp(40): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/identity.hpp(40): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/identity.hpp(40): error : identifier "BOOST_PP_WHILE_2" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/identity.hpp(40): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/identity.hpp(40): error : function returning function is not allowed
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/identity.hpp(40): error : identifier "BOOST_PP_SUB_P" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/identity.hpp(40): error : identifier "BOOST_PP_SUB_O" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/identity.hpp(40): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/identity.hpp(40): error : expected a "," or ">"
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/identity.hpp(40): error : identifier "T1" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/identity.hpp(41): error : identifier "T1" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/identity.hpp(41): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/identity.hpp(41): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/identity.hpp(41): error : identifier "BOOST_PP_IIF_BOOST_PP_BOOL_BOOST_PP_TUPLE_ELEM_O_1" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/identity.hpp(41): error : expected a ")"
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/identity.hpp(41): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/identity.hpp(41): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/identity.hpp(41): error : identifier "BOOST_PP_WHILE_2" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/identity.hpp(41): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/identity.hpp(41): error : function returning function is not allowed
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/identity.hpp(41): error : identifier "BOOST_PP_SUB_P" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/identity.hpp(41): error : identifier "BOOST_PP_SUB_O" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/identity.hpp(41): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/identity.hpp(41): error : expected a "," or ">"
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/identity.hpp(41): error : identifier "T1" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/void.hpp(71): error : identifier "T1" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/void.hpp(71): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/void.hpp(71): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/void.hpp(71): error : identifier "BOOST_PP_IIF_BOOST_PP_BOOL_BOOST_PP_TUPLE_ELEM_O_1" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/void.hpp(71): error : expected a ")"
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/void.hpp(71): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/void.hpp(71): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/void.hpp(71): error : identifier "BOOST_PP_WHILE_2" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/void.hpp(71): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/void.hpp(71): error : function returning function is not allowed
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/void.hpp(71): error : identifier "BOOST_PP_SUB_P" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/void.hpp(71): error : identifier "BOOST_PP_SUB_O" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/void.hpp(71): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/void.hpp(71): error : expected a "," or ">"
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/void.hpp(71): error : identifier "T1" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/void.hpp(72): error : identifier "T1" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/void.hpp(72): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/void.hpp(72): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/void.hpp(72): error : identifier "BOOST_PP_IIF_BOOST_PP_BOOL_BOOST_PP_TUPLE_ELEM_O_1" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/void.hpp(72): error : expected a ")"
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/void.hpp(72): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/void.hpp(72): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/void.hpp(72): error : identifier "BOOST_PP_WHILE_2" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/void.hpp(72): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/void.hpp(72): error : function returning function is not allowed
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/void.hpp(72): error : identifier "BOOST_PP_SUB_P" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/void.hpp(72): error : identifier "BOOST_PP_SUB_O" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/void.hpp(72): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/void.hpp(72): error : expected a "," or ">"
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/void.hpp(72): error : identifier "T1" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/next_prior.hpp(44): error : identifier "T1" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/next_prior.hpp(44): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/next_prior.hpp(44): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/next_prior.hpp(44): error : identifier "BOOST_PP_IIF_BOOST_PP_BOOL_BOOST_PP_TUPLE_ELEM_O_1" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/next_prior.hpp(44): error : expected a ")"
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/next_prior.hpp(44): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/next_prior.hpp(44): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/next_prior.hpp(44): error : identifier "BOOST_PP_WHILE_2" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/next_prior.hpp(44): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/next_prior.hpp(44): error : function returning function is not allowed
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/next_prior.hpp(44): error : identifier "BOOST_PP_SUB_P" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/next_prior.hpp(44): error : identifier "BOOST_PP_SUB_O" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/next_prior.hpp(44): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/next_prior.hpp(44): error : expected a "," or ">"
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/next_prior.hpp(44): error : identifier "T1" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/next_prior.hpp(45): error : identifier "T1" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/next_prior.hpp(45): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/next_prior.hpp(45): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/next_prior.hpp(45): error : identifier "BOOST_PP_IIF_BOOST_PP_BOOL_BOOST_PP_TUPLE_ELEM_O_1" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/next_prior.hpp(45): error : expected a ")"
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/next_prior.hpp(45): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/next_prior.hpp(45): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/next_prior.hpp(45): error : identifier "BOOST_PP_WHILE_2" is undefined
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/next_prior.hpp(45): error : expected a type specifier
1>
1>D:\test\PCL\deps\boost\install\boost/mpl/next_prior.hpp(45): error : function returning function is not allowed
1>
1>Error limit reached.
1>100 errors detected in the compilation of "C:/Users/transporter/AppData/Local/Temp/tmpxft_000056c8_00000000-22_connected_components.compute_75.cpp1.ii".
1>Compilation terminated.

It looks like there is still a header missing somewhere. The error is the same for all CUDA projects (pcl_cuda_features, pcl_cuda_sample_consensus and pcl_cuda_segmentation).

@UnaNancyOwen
Copy link
Member

CMake 3.19.1 is not compatible with Boost 1.75.0 yet. Please wait for support.
https://github.com/Kitware/CMake/blob/v3.19.1/Modules/FindBoost.cmake#L1474-L1485

@OgreTransporter
Copy link
Contributor

Well, the fact that version 1.75 is missing in _Boost_KNOWN_VERSIONS does not mean that it does not work. Finally, you can overwrite this variable yourself. And in _Boost_KNOWN_VERSIONS of CMake 3.18.5 there is only version 1.73 and still PCL has been working with 1.74 for quite some time.

Except for the bugs in the CUDA projects (the GPU projects work) PCL currently works with boost 1.75 and CMake 3.18.5.

@UnaNancyOwen
Copy link
Member

Yes. In PCL, Please add version number to this file like a change of this pull request.
https://github.com/PointCloudLibrary/pcl/pull/4330/files

@OgreTransporter
Copy link
Contributor

Yes, but I'll wait until the release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
effort: low Rough estimate of time needed to fix/implement/solve good first issue Skills/areas of expertise needed to tackle the issue skill: cmake Skills/areas of expertise needed to tackle the issue
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants