Skip to content
New issue

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

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

Already on GitHub? # to your account

[pcl_surface] new vtk requirement Version 1.11.0 *at least in all-in-one* #4237

Closed
WargodHernandez opened this issue Jul 1, 2020 · 7 comments
Labels
kind: compile error Type of issue module: cmake needs: feedback Specify why not closed/merged yet platform: windows skill: cmake Skills/areas of expertise needed to tackle the issue

Comments

@WargodHernandez
Copy link

pcl_surface has an unlisted dependency on VTKFILTERSMODELING, VTKFILTERSCORE-8.2, VTKCOMMONEXECUTIONMODEL-8.2, VTKCOMMONDATAMODEL-8.2 AND VTKCOMMONCORE-8.2 when installed from PCL-1.11.0-AllInOne-msvc2019-win64.exe

Dependency-Walker shown on pcl_surface.dll

image

compared to pcl_surface_release.dl froml pcl-1.9.1 which does not have this dependency

image

Expected behavior

I expect no VTK dependency as it is not listed in pcl_surface-1.11.pc
image
also based on PCLConfig.cmake there is no dep on VTK

set(pcl_surface_int_dep common search kdtree octree )

#list each component external dependencies (ext means mandatory and opt means optional)
set(pcl_common_ext_dep eigen boost )
set(pcl_kdtree_ext_dep flann )
set(pcl_search_ext_dep flann )
set(pcl_visualization_ext_dep vtk )

Your Environment (please complete the following information):

  • OS: [Windows10]
  • Compiler: [:MSVC 2019 Ver 16.6.3]
  • PCL Version [PCL-1.11.0-AllInOne-msvc2019-win64]
@WargodHernandez WargodHernandez added kind: bug Type of issue status: triage Labels incomplete labels Jul 1, 2020
@WargodHernandez
Copy link
Author

Same issue with the IO module

Here is pcl_io.dll in 1.11.0
image

vs pcl_io_release in 1.9.1
image

@kunaltyagi kunaltyagi added kind: compile error Type of issue platform: windows module: surface module: cmake needs: feedback Specify why not closed/merged yet and removed kind: bug Type of issue status: triage Labels incomplete labels Jul 2, 2020
@kunaltyagi
Copy link
Member

IIRC, vtk is an optional dependency to enable more features in those modules, if it's present.

@larshg
Copy link
Contributor

larshg commented Jul 2, 2020

The last line in what you posted says it depends on VTK:
set(pcl_visualization_ext_dep vtk )

And it is an optional dependency at configurstion/compile time when @UnaNancyOwen packed the all-in-one installer.

But there might be a missing dependency somewhere in the cmake files, since its not propagated to .pc files.

I have seen some while in the progress towards vtk 9.

@UnaNancyOwen
Copy link
Member

Currently, pre-built PCL that included in PCL All-in-one Installer dynamically linked VTK to avoid this problem #1601. Therefor, user programs that use PCL require VTK dll files at runtime.

@WargodHernandez
Copy link
Author

I was pointing out with surface at least there is no optional dependency listed for surface on vtk

#list each component dependencies IN PCL
set(pcl_kdtree_int_dep common )
set(pcl_octree_int_dep common )
set(pcl_search_int_dep common kdtree octree )
set(pcl_sample_consensus_int_dep common search )
set(pcl_filters_int_dep common sample_consensus search kdtree octree )
set(pcl_2d_int_dep common filters )
set(pcl_geometry_int_dep common )
set(pcl_io_int_dep common octree )
set(pcl_features_int_dep common search kdtree octree filters 2d )
set(pcl_ml_int_dep common )
set(pcl_segmentation_int_dep common geometry search sample_consensus kdtree octree features filters ml )
set(pcl_visualization_int_dep common io kdtree geometry search octree )
set(pcl_surface_int_dep common search kdtree octree )
set(pcl_registration_int_dep common octree kdtree search sample_consensus features filters )
set(pcl_keypoints_int_dep common search kdtree octree features filters )
set(pcl_tracking_int_dep common search kdtree filters octree )
set(pcl_recognition_int_dep common io search kdtree octree features filters registration sample_consensus ml )
set(pcl_stereo_int_dep common io )
set(pcl_outofcore_int_dep common io filters octree visualization )
set(pcl_people_int_dep common kdtree search features sample_consensus filters io visualization geometry segmentation octree )


#list each component external dependencies (ext means mandatory and opt means optional)
set(pcl_common_ext_dep eigen boost )
set(pcl_kdtree_ext_dep flann )
set(pcl_search_ext_dep flann )
set(pcl_visualization_ext_dep vtk )


set(pcl_2d_opt_dep vtk )
set(pcl_io_opt_dep openni2 vtk )
set(pcl_visualization_opt_dep openni2 )
set(pcl_surface_opt_dep qhull )

the only optional dep for surface listed is qhull, for IO vtk is a listed optional dep

@WargodHernandez
Copy link
Author

in essence shouldn't the last line

set(pcl_surface_opt_dep qhull )

actually be

set(pcl_surface_opt_dep qhull vtk)

@kunaltyagi kunaltyagi added the skill: cmake Skills/areas of expertise needed to tackle the issue label Sep 15, 2020
@larshg
Copy link
Contributor

larshg commented Jul 11, 2021

This one is fixed by #4262 (VTK hard requirement) which was wrong and corrected here: #4656 and part of the newly 1.12 release.

@larshg larshg closed this as completed Jul 11, 2021
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
kind: compile error Type of issue module: cmake needs: feedback Specify why not closed/merged yet platform: windows skill: cmake Skills/areas of expertise needed to tackle the issue
Projects
None yet
Development

No branches or pull requests

4 participants