Skip to content
This repository has been archived by the owner on Mar 15, 2018. It is now read-only.

pcl fails to compile using vtk 6.0 on OS X 10.9 #3

Open
tanuva opened this issue Oct 27, 2013 · 11 comments
Open

pcl fails to compile using vtk 6.0 on OS X 10.9 #3

tanuva opened this issue Oct 27, 2013 · 11 comments

Comments

@tanuva
Copy link

tanuva commented Oct 27, 2013

PCL from git is supposed to build against vtk 6.0: http://www.pcl-users.org/vtk-error-when-making-PCL1-7-from-source-td4029769.html
This is a patched vtk recipe for OS X 10.9 that I used: https://raw.github.com/jenshnielsen/homebrew-science/vtk6mavericks/vtk.rb

Is it necessary to wait for a new pcl release or could reciping the git version work?

Build log:

[ 19%] Building CXX object io/CMakeFiles/pcl_io.dir/src/vtk_lib_io.cpp.o
brew: superenv removed: -Wno-invalid-offsetof
brew: superenv added: -pipe -w -Os -march=native -isystem/usr/local/include -isystem/usr/include/libxml2 -isystem/System/Library/Frameworks/OpenGL.framework/Versions/Current/Headers
/tmp/pcl-0khd/pcl-pcl-1.7.0/io/src/vtk_lib_io.cpp:181:16: error: no member named 'SetInput' in
      'vtkPolyDataWriter'; did you mean 'GetInput'?
  poly_writer->SetInput (poly_data);
               ^~~~~~~~
               GetInput
/usr/local/include/vtk-6.0/vtkPolyDataWriter.h:39:16: note: 'GetInput' declared here
  vtkPolyData* GetInput();
               ^
/tmp/pcl-0khd/pcl-pcl-1.7.0/io/src/vtk_lib_io.cpp:181:26: error: too many arguments to function call, expected
      0, have 1
  poly_writer->SetInput (poly_data);
  ~~~~~~~~~~~~~~~~~~~~~  ^~~~~~~~~
/usr/local/include/vtk-6.0/vtkPolyDataWriter.h:39:3: note: 'GetInput' declared here
  vtkPolyData* GetInput();
  ^
/tmp/pcl-0khd/pcl-pcl-1.7.0/io/src/vtk_lib_io.cpp:197:16: error: no member named 'SetInput' in 'vtkPLYWriter';
      did you mean 'GetInput'?
  poly_writer->SetInput (poly_data);
               ^~~~~~~~
               GetInput
/usr/local/include/vtk-6.0/vtkPLYWriter.h:122:16: note: 'GetInput' declared here
  vtkPolyData* GetInput();
               ^
/tmp/pcl-0khd/pcl-pcl-1.7.0/io/src/vtk_lib_io.cpp:197:26: error: too many arguments to function call, expected
      0, have 1
  poly_writer->SetInput (poly_data);
  ~~~~~~~~~~~~~~~~~~~~~  ^~~~~~~~~
/usr/local/include/vtk-6.0/vtkPLYWriter.h:122:3: note: 'GetInput' declared here
  vtkPolyData* GetInput();
  ^
/tmp/pcl-0khd/pcl-pcl-1.7.0/io/src/vtk_lib_io.cpp:212:14: error: no member named 'Update' in 'vtkPolyData'
  poly_data->Update ();
  ~~~~~~~~~  ^
/tmp/pcl-0khd/pcl-pcl-1.7.0/io/src/vtk_lib_io.cpp:214:16: error: no member named 'SetInput' in 'vtkSTLWriter';
      did you mean 'GetInput'?
  poly_writer->SetInput (poly_data);
               ^~~~~~~~
               GetInput
/usr/local/include/vtk-6.0/vtkSTLWriter.h:45:16: note: 'GetInput' declared here
  vtkPolyData* GetInput();
               ^
/tmp/pcl-0khd/pcl-pcl-1.7.0/io/src/vtk_lib_io.cpp:214:26: error: too many arguments to function call, expected
      0, have 1
  poly_writer->SetInput (poly_data);
  ~~~~~~~~~~~~~~~~~~~~~  ^~~~~~~~~
/usr/local/include/vtk-6.0/vtkSTLWriter.h:45:3: note: 'GetInput' declared here
  vtkPolyData* GetInput();
  ^
/tmp/pcl-0khd/pcl-pcl-1.7.0/io/src/vtk_lib_io.cpp:486:39: error: too few arguments to function call, expected
      2, have 1
  image->SetNumberOfScalarComponents(1);
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ^
/usr/local/include/vtk-6.0/vtkImageData.h:298:3: note: 'SetNumberOfScalarComponents' declared here
  static void SetNumberOfScalarComponents( int n, vtkInformation* meta_data);
  ^
/tmp/pcl-0khd/pcl-pcl-1.7.0/io/src/vtk_lib_io.cpp:487:10: error: no member named 'SetScalarTypeToFloat' in
      'vtkImageData'
  image->SetScalarTypeToFloat();
  ~~~~~  ^
/tmp/pcl-0khd/pcl-pcl-1.7.0/io/src/vtk_lib_io.cpp:488:10: error: no matching member function for call to
      'AllocateScalars'
  image->AllocateScalars();
  ~~~~~~~^~~~~~~~~~~~~~~
/usr/local/include/vtk-6.0/vtkImageData.h:237:16: note: candidate function not viable: requires 2 arguments,
      but 0 were provided
  virtual void AllocateScalars(int dataType, int numComponents);
               ^
/usr/local/include/vtk-6.0/vtkImageData.h:244:16: note: candidate function not viable: requires single
      argument 'pipeline_info', but no arguments were provided
  virtual void AllocateScalars(vtkInformation* pipeline_info);
               ^
/tmp/pcl-0khd/pcl-pcl-1.7.0/io/src/vtk_lib_io.cpp:507:47: error: no member named 'GetProducerPort' in
      'vtkImageData'
  shiftScaleFilter->SetInputConnection(image->GetProducerPort());
                                       ~~~~~  ^
11 errors generated.
make[2]: *** [io/CMakeFiles/pcl_io.dir/src/vtk_lib_io.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [io/CMakeFiles/pcl_io.dir/all] Error 2
make: *** [all] Error 2
==> Formula
Tap: ros/hydro
Path: /usr/local/Library/Taps/ros-hydro/pcl.rb
==> Configuration
HOMEBREW_VERSION: 0.9.5
HEAD: c35067b6710098ee39533129995703ee629574b2
CPU: dual-core 64-bit ivybridge
OS X: 10.9-x86_64
Xcode: 5.0.1
CLT: 5.0.1.0.1.1382131676
X11: 2.7.4 => /opt/X11
==> ENV
HOMEBREW_CC: clang
MAKEFLAGS: -j2
CMAKE_PREFIX_PATH: /usr/local
CMAKE_INCLUDE_PATH: /usr/include/libxml2:/System/Library/Frameworks/OpenGL.framework/Versions/Current/Headers:/usr/local/opt/python/Frameworks/Python.framework/Versions/2.7/Headers
CMAKE_LIBRARY_PATH: /System/Library/Frameworks/OpenGL.framework/Versions/Current/Libraries
PKG_CONFIG_PATH: /usr/local/opt/eigen/lib/pkgconfig:/usr/local/opt/flann/lib/pkgconfig:/usr/local/opt/python/Frameworks/Python.framework/Versions/2.7/lib/pkgconfig
PKG_CONFIG_LIBDIR: /usr/lib/pkgconfig:/usr/local/Library/ENV/pkgconfig/10.9
HOMEBREW_VERBOSE: 1
ACLOCAL_PATH: /usr/local/share/aclocal
OBJC: cc
PATH: /usr/local/opt/python/bin:/usr/local/Library/ENV/4.3:/usr/local/opt/cmake/bin:/usr/local/opt/hdf5/bin:/usr/local/opt/vtk/bin:/usr/local/opt/qhull/bin:/usr/bin:/bin:/usr/sbin:/sbin

Error: pcl did not build
@wjwwood
Copy link
Member

wjwwood commented Nov 11, 2013

I haven't switched to 10.9 yet so I can't test this, it looks like people have been getting pcl to compile though, just from what I have been seeing in ROS answers and the PCL mailing list.

@woody242
Copy link

Greetings, I am seeing the same issue as was in #24021 as well. Looks like my vtk.vb matches the above, has anyone had success with this?

Thanks,
Woody

@JetForMe
Copy link

Not that I know of.

On Nov 25, 2013, at 20:59 , woody242 [email protected] wrote:

Greetings, I am seeing the same issue as was in #24021 as well. Looks like my vtk.vb matches the above, has anyone had success with this?

Thanks,
Woody


Reply to this email directly or view it on GitHub.

Rick

@pkmital
Copy link

pkmital commented Dec 27, 2013

VTK 6.0 has made a few changes that do not appear to be in the codebase for PCL yet: http://vtk.org/Wiki/VTK/VTK_6_Migration_Guide including SetInputData, AllocateScalars, and vtkCommonCore.

@pkmital
Copy link

pkmital commented Dec 27, 2013

this branch may the only up to date one for vtk 6.0: https://github.com/fran6co/pcl.git - follow this thread for more updates: PointCloudLibrary/pcl#363

@fran6co
Copy link

fran6co commented Dec 28, 2013

@tanuva try to use https://github.com/fran6co/homebrew-cv instead. It builds with vtk5 in mavericks, I'll update it to vtk6 when PointCloudLibrary/pcl#363 gets merged.

@headart
Copy link

headart commented Jan 1, 2014

I just tried install pcl from homebrew-cv and it gives the following error.

brew install pcl --HEAD --with-tests --with-examples
==> Cloning https://github.com/PointCloudLibrary/pcl.git
Updating /Library/Caches/Homebrew/pcl--git
fatal: ref refs/remotes/origin/HEAD is not a symbolic ref
fatal: ambiguous argument 'origin/HEAD': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
Error: Failure while executing: git reset -q --hard origin/HEAD

@fran6co
Copy link

fran6co commented Jan 2, 2014

There is something weird in your environment. You could try to kill this folder:

/Library/Caches/Homebrew/pcl--git

@translunar
Copy link

@pkmital and others: FYI, @fran6co's branch does not yet appear to work with vtk6. I tried. I get "Error 2" without it actually saying what the error is. It may be a me-specific problem, but I attempted to make it with with vtk6 because of your comment — so I thought I should clarify for others who might attempt the same.

@fran6co
Copy link

fran6co commented Jan 22, 2014

No, it doesn't work with vtk6 because PointCloudLibrary/pcl#363 wasn't merged yet. When that gets merged I'll enable vtk6 support for the formula.

@translunar
Copy link

It's not working for me with vtk5 either.

brew install -vd pcl --HEAD --with-openni --with-qt

Same error for both, I think:

cd /tmp/pcl-yS2w/macbuild/filters && /usr/local/Cellar/cmake/2.8.12.1/bin/cmake -E cmake_symlink_library ../lib/libpcl_filters.1.7.1.dylib ../lib/libpcl_filters.1.7.dylib ../lib/libpcl_filters.dylib
/usr/local/Cellar/cmake/2.8.12.1/bin/cmake -E cmake_progress_report /tmp/pcl-yS2w/macbuild/CMakeFiles  14 15 16 17 18
[ 29%] Built target pcl_filters
make: *** [all] Error 2
/usr/local/Library/Homebrew/formula.rb:614:in `system'
BuildError: Failed executing: make
1. raise
2. ignore
3. backtrace
4. irb
5. shell
Choose an action: 3
/usr/local/Library/Homebrew/formula.rb:614:in `system'
/usr/local/Library/Homebrew/formula.rb:598:in `open'
/usr/local/Library/Homebrew/formula.rb:598:in `system'
/usr/local/Library/Formula/pcl.rb:124:in `install'
/usr/local/Library/Homebrew/extend/fileutils.rb:33:in `mkdir'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/fileutils.rb:121:in `chdir'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/fileutils.rb:121:in `chdir'
/usr/local/Library/Homebrew/extend/fileutils.rb:32:in `mkdir'
/usr/local/Library/Formula/pcl.rb:122:in `install'
/usr/local/Library/Homebrew/build.rb:165:in `install'
/usr/local/Library/Homebrew/formula.rb:272:in `brew'
/usr/local/Library/Homebrew/formula.rb:627:in `stage'
/usr/local/Library/Homebrew/resource.rb:63:in `unpack'
/usr/local/Library/Homebrew/extend/fileutils.rb:21:in `mktemp'
/usr/local/Library/Homebrew/resource.rb:60:in `unpack'
/usr/local/Library/Homebrew/resource.rb:53:in `stage'
(__FORWARDABLE__):3:in `__send__'
(__FORWARDABLE__):3:in `stage'
/usr/local/Library/Homebrew/formula.rb:625:in `stage'
/usr/local/Library/Homebrew/formula.rb:267:in `brew'
/usr/local/Library/Homebrew/build.rb:144:in `install'
/usr/local/Library/Homebrew/build.rb:45:in `main'
/usr/local/Library/Homebrew/build.rb:12
/usr/local/Library/Formula/pcl.rb:63

NikolausDemmel added a commit to NikolausDemmel/rosdistro that referenced this issue Jun 24, 2014
 - as long as ros-infrastructure/rosdep#304
   is not merged these will be ignored. If we merge this before rosdep
   is updated it will make testing that rosdep change slightly more easy.
 - install_flags will be used for `brew install`, but unlike options
   they are not checked for already installed packages
 - for boost --with-python see ros-infrastructure/rosdep#330
 - for pcl --HEAD on Mavericks see
   - http://answers.ros.org/question/173654/cant-install-pcl-with-homebrew-on-osx-109-during-ros-hydro-installation/
   - ros/homebrew-hydro#3
NikolausDemmel added a commit to NikolausDemmel/rosdistro that referenced this issue Jun 24, 2014
 - as long as ros-infrastructure/rosdep#304
   is not merged these will be ignored. If we merge this before rosdep
   is updated it will make testing that rosdep change slightly more easy.
 - install_flags will be used for `brew install`, but unlike options
   they are not checked for already installed packages
 - for boost --with-python see ros-infrastructure/rosdep#330
 - for pcl --HEAD on Mavericks see
   - http://answers.ros.org/question/173654/cant-install-pcl-with-homebrew-on-osx-109-during-ros-hydro-installation/
   - ros/homebrew-hydro#3
NikolausDemmel added a commit to NikolausDemmel/rosdistro that referenced this issue Jun 25, 2014
 - as long as ros-infrastructure/rosdep#304
   is not merged these will be ignored. If we merge this before rosdep
   is updated it will make testing that rosdep change slightly more easy.
 - install_flags will be used for `brew install`, but unlike options
   they are not checked for already installed packages
 - for boost --with-python see ros-infrastructure/rosdep#330
 - for pcl --HEAD on Mavericks see
   - http://answers.ros.org/question/173654/cant-install-pcl-with-homebrew-on-osx-109-during-ros-hydro-installation/
   - ros/homebrew-hydro#3
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants