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_ros compilation error with vtk 7.0.0 #32

Closed
hawesie opened this issue Mar 15, 2016 · 14 comments
Closed

pcl_ros compilation error with vtk 7.0.0 #32

hawesie opened this issue Mar 15, 2016 · 14 comments

Comments

@hawesie
Copy link
Contributor

hawesie commented Mar 15, 2016

It looks like Homebrew recently upgrade vtk to 7.0.0. When running the install script this caused the compilation of pcl_ros to fail with the error:

ld: library not found for -lvtkftgl

If I use a previous version of vtk from Homebrew:

cd /usr/local/Library/Taps/homebrew/homebrew-science/
git checkout 092849afd643314eda1699ab6e6f1a793df91521 vtk.rb

and then comment out brew update from the script to prevent this change being discarded during script execution, everything compiles fine.

@mikepurvis
Copy link
Owner

Looks like another issue with PCL caching cmake find module results inside the bottle. You can see this in action by grepping /usr/local/Cellar/pcl/*/share/pcl-*/PCLConfig.cmake for vtkftgl.

Please try:

brew install pcl --build-from-source

If after this you can compile pcl_ros against VTK 7.0, then we should request that Homebrew re-build the PCL bottle.

@mikepurvis
Copy link
Owner

Oh, yuck. There's more to it: https://github.com/Homebrew/homebrew-science/issues/3370

@mikepurvis
Copy link
Owner

So a potentially better workaround (for now) then, is:

brew install pcl --without-vtk

@mikepurvis
Copy link
Owner

@hawesie Did that work for you? If so, we should either ament the install script here, or possibly just add the install flag in rosdep:

https://github.com/ros/rosdistro/blob/bd3d91ffe36c0ec55459b322514797757482d290/rosdep/osx-homebrew.yaml#L250

@wjwwood @paulbovbel How critical is VTK to PCL? We seem to have this synchronization issue a lot; it would be great to make --without-vtk the default.

@wjwwood
Copy link

wjwwood commented Mar 15, 2016

It is used for the visualization tools in PCL and some of the examples use that. I don't know how important it is (I haven't tried using PCL with ROS without VTK), but I think the biggest risk is that more people have to build PCL themselves after installing because the one we deliver is incomplete. I'm ok with that, but I'll abstain to voting one way or the other on the issue. Also it probably prevents us from using a bottle for pcl.

@mikepurvis
Copy link
Owner

As far as I know, we can't use the bottle anyway, since PCL's release policy is to not have any for like 18 months: https://github.com/PointCloudLibrary/pcl/releases

@spmaniato
Copy link
Contributor

Had the same problem after a brew upgrade. For future reference, I fixed it with:

brew remove pcl
brew install pcl --without-vtk

because brew reinstall pcl --without-vtk failed. I was then able to compile pcl_ros 👍

@ahundt
Copy link

ahundt commented Apr 7, 2016

The best option may be for us to create a versioned installer for vtk 6.3 in:
https://github.com/Homebrew/homebrew-versions
or
https://github.com/Homebrew/homebrew-science

and have pcl depend on that until then

@ahundt
Copy link

ahundt commented Apr 7, 2016

as you may see I've created a pull request https://github.com/Homebrew/homebrew-science/pull/3512 I'm hoping will fix this.

quick fix (use at your risk):

brew uninstall pcl
brew uninstall vtk
brew untap homebrew/science
brew tap ahundt/science
brew install pcl

This solved the problem for me.

@mikepurvis
Copy link
Owner

Easier:

brew install https://raw.githubusercontent.com/ahundt/homebrew-science/vtk6/vtk6.rb
brew install https://raw.githubusercontent.com/ahundt/homebrew-science/vtk6/pcl.rb

I'd accept a PR to change the install script to this, in advance of a homebrew-science merge.

@ahundt
Copy link

ahundt commented Apr 9, 2016

@mikepurvis your solution is definitely better, the problem I ran into with rosdep automatically retapping homebrew/science packages is definitely avoided with those lines. I'd make a pull request but I've got deadlines in the near future so I can't test a full reinstall.

@ahundt
Copy link

ahundt commented Apr 9, 2016

minor modification to the above:

brew install https://raw.githubusercontent.com/ahundt/homebrew-science/vtk6/vtk6.rb --build-from-source
brew install https://raw.githubusercontent.com/ahundt/homebrew-science/vtk6/pcl.rb --build-from-source

@mikepurvis
Copy link
Owner

mikepurvis commented Jun 15, 2016

PCL 1.8.0 is released, which should finally clean up a bunch of this stuff: https://github.com/Homebrew/homebrew-science/pull/3752

rosdep PR: ros/rosdistro#11844

@mikepurvis
Copy link
Owner

Resolved in #41.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants