[vtkusers] Installing VTK 5.0 on Mac OSX 10.4.6

Siddartha Krishnan sidd.krish at gmail.com
Fri May 12 14:09:44 EDT 2006


Hi,
Thanks for your help, I recompiled vtk and used make install and now / 
usr/local/include /vtk-5.0 exists. However, when I now try to run the  
sample code, I get the following errors:

mie-13-4:~ siddarthakrishnan$ g++ test.cpp -I/usr/local/include/vtk-5.0
In file included from /usr/include/c++/4.0.0/backward/strstream:51,
                  from /usr/local/include/vtk-5.0/vtkIOStream.h:36,
                  from /usr/local/include/vtk-5.0/vtkSystemIncludes.h: 
40,
                  from /usr/local/include/vtk-5.0/vtkIndent.h:24,
                  from /usr/local/include/vtk-5.0/vtkObjectBase.h:43,
                  from /usr/local/include/vtk-5.0/vtkObject.h:41,
                  from /usr/local/include/vtk-5.0/vtkProperty.h:31,
                  from test.cpp:1:
/usr/include/c++/4.0.0/backward/backward_warning.h:32:2: warning:  
#warning This file includes at least one deprecated or antiquated  
header. Please consider using one of the 32 headers found in section  
17.4.1.2 of the C++ standard. Examples include substituting the <X>  
header for the <X.h> header for C++ includes, or <iostream> instead  
of the deprecated header <iostream.h>. To disable this warning use - 
Wno-deprecated.
/usr/bin/ld: Undefined symbols:
vtkProperty::SetColor(double, double, double)
vtkRenderer::New()
vtkRenderer::AddActor(vtkProp*)
vtkRenderWindow::New()
vtkSphereSource::New()
vtkPolyDataMapper::New()
vtkPolyDataMapper::SetInput(vtkPolyData*)
vtkPolyDataAlgorithm::GetOutput()
vtkRenderWindowInteractor::SetRenderWindow(vtkRenderWindow*)
vtkRenderWindowInteractor::New()
vtkActor::GetProperty()
vtkActor::New()
collect2: ld returned 1 exit status

and in Xcode I get the following error:

Session started at 2006-05-12 14:06:37 -0400.]
ZeroLink: unknown symbol '__ZN15vtkSphereSource3NewEv'

VTKTEST has exited due to signal 6 (SIGABRT).

I'm not sure what these errors mean.
Thanks for the help,

Sidd


Also, The source code for the sample file is:

#include <iostream>

#include "vtkProperty.h"
#include "vtkSphereSource.h"
#include "vtkPolyDataMapper.h"
#include "vtkActor.h"
#include "vtkRenderWindow.h"
#include "vtkRenderer.h"
#include "vtkRenderWindowInteractor.h"

int main ()
{

   // create sphere geometry
   vtkSphereSource *sphere = vtkSphereSource::New();
   sphere->SetRadius(1.0);
   sphere->SetThetaResolution(18);
   sphere->SetPhiResolution(18);

   // map to graphics library
   vtkPolyDataMapper *map = vtkPolyDataMapper::New();
   map->SetInput(sphere->GetOutput());

   // actor coordinates geometry, properties, transformation
   vtkActor *aSphere = vtkActor::New();
   aSphere->SetMapper(map);
   aSphere->GetProperty()->SetColor(0,0,1); // sphere color blue

   // a renderer and render window
   vtkRenderer *ren1 = vtkRenderer::New();
   vtkRenderWindow *renWin = vtkRenderWindow::New();
   renWin->AddRenderer(ren1);

   // an interactor
   vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
   iren->SetRenderWindow(renWin);

   // add the actor to the scene
   ren1->AddActor(aSphere);
   ren1->SetBackground(1,1,1); // Background color white

   // render an image (lights and cameras are created automatically)
   renWin->Render();

   // begin mouse interaction
   iren->Start();

   return 0;
}


On 11-May-06, at 5:03 PM, Mike Jackson wrote:

> On 5/11/06, Siddartha Krishnan <sidd.krish at gmail.com> wrote:
>> Hi again,
>> Thanks for your prompt replies. I corrected the alias line to alias
>> vtk='${VTKBUILD}/bin/vtk'
>>
>> However, the headers still cannot be found:
>> main.cpp:3:29: error: vtkSphereSource.h: No such file or directory
>> main.cpp:4:31: error: vtkPolyDataMapper.h: No such file or directory
>> main.cpp:5:22: error: vtkActor.h: No such file or directory
>> main.cpp:6:29: error: vtkRenderWindow.h: No such file or directory
>> main.cpp:7:25: error: vtkRenderer.h: No such file or directory
>> main.cpp:8:39: error: vtkRenderWindowInteractor.h: No such file or
>> directory
>>
>> I tried both using the command line and XCode (after changing the
>> Header Search Paths), but still get these messages.
>> Are there any other suggestions to solve this problem?
>>
>> Thanks.
>>
>>
>>
>> On 11-May-06, at 4:06 PM, Mike Jackson wrote:
>>
>> > On 5/11/06, Siddartha Krishnan <sidd.krish at gmail.com> wrote:
>> >> Hi,
>> >>
>> >> I relatively new to Mac OSX and am having trouble setting up  
>> VTK 5.0
>> >> on OSX 10.4.6. I used cmake to build vtk and it did so without any
>> >> errors, but cannot seem to run the sample code on the vtk.org  
>> site.
>> >> I get the following errors:
>> >>  <snip>
>> >> export VTKBUILD=/Develop/VTKBuild
>> >> export VTKSOURCE=/Develop/VTK
>> >> export TCLLIBPATH=${VTKSOURCE}/Wrapping/Tcl:
>> >> export PYTHONPATH=${VTKSOURCE}/Wrapping/Python:${VTKBUILD}
>> >> export DYLD_LIBRARYN32_PATH=${VTKBUILD}
>> >> alias vtk ${VTKBUILD}/bin/vtk
>> >>
>> >> but whenever I try to source .profile, the following errors occur:
>> >> -bash: alias: vtk: not found
>> >> -bash: alias: /Develop/VTKBuild/bin/vtk: not found
>> >>
>> >> These files do exist.
>> >>
>> >> I would appreciate any help I can get.
>> >> Thanks in Advance,
>> >>
>> >> Sidd
>> >>
>> >
>> > I also run bash as my shell but I make an alias like the following:
>> >
>> > alias vtk='${VTKBUILD}/bin/vtk'
>> >
>> > Are you trying to compile from the command line or in Xcode? If you
>> > are in Xcode you will probably have to set the Header Search  
>> Paths to
>> > find the VTK Headers.
>> >
>> > If you do a "make install" for VTK, I think that is where it  
>> will dump
>> > all the headers in /usr/local/include/vtk-5.0
>> >
>> > If you want to contiue to use cmake from the command line it  
>> does work
>> > pretty good on OS X, assuming you do NOT need to build for multiple
>> > Architectures.
>> > --
>> > Mike Jackson
>> > imikejackson _at_ gee-mail dot com
>>
>
> Well,
>     I no expert on compiling from the command line. I know there is
> the -I flag that should point to the vtk Headers. If you are
> referencing the headers in the /Develop/VTK location, note that the
> headers are broken into several different directories ( Common.
> Filtering, Graphics....) so you will need an include path for EACH
> directory that you are using headers from. So for example,
> vtkSphereSource is in Graphics and vtkPolyDataMapper is in Rendering.
>   The same idea goes for Xcode. In Xcode disclose the "Targets" group
> to show all your targets. Double Click on the target you are trying to
> build. Then click on the "Build" tab. Now look down the list for the
> "User Header Search Path". Edit the value next to the setting using a
> SPACE delimited set of paths that point to the include directories.
>
> The easiest way to set this up is to do a "make install". I _think_
> (some one correct me here) that will just make a single directory down
> in /usr/local/include named "vtk-5.0" and put ALL the headers in
> there. That way you only need to spell out ONE include directory for
> ALL the VTK headers.
>
> Also, if you are having troubles with Xcode itself, then I might  
> suggest trying:
>
> http://www.lists.apple.com/mailman/listinfo/xcode-users
>
> Hope that helps.
> -- 
> Mike Jackson
> imikejackson _at_ gee-mail dot com




More information about the vtkusers mailing list