[vtkusers] Using VTK with CMake: link errors

David Cole david.cole at kitware.com
Wed Aug 11 06:41:02 EDT 2010


Does this file actually exist?
/Library/Frameworks/Python.framework/Versions/6.1/lib/vtk-5.4/libvtkHybrid.dylib

The question is, how did you get a VTK library inside your python framework?
That is completely unexpected. (As is a 6.1 version of python... as far as I
know, version 6.1 of python is still far in the future...)


On Wed, Aug 11, 2010 at 12:53 AM, Nicholas Kinar <n.kinar at usask.ca> wrote:

> Hello,
>
> I had originally posted this question to the vtkusers mailing list.
>  However, after receiving feedback from other VTK users it is also apparent
> that there is a possibility my question belongs on the cmake mailing list.
>
>
> I'm writing a program for a research application, and I would like to use
> Cmake as the makefile generation tool.  Here is the basic information
> pertaining to my development platform:
>
> cmake version 2.8.2 (binary version from website)
>
> i686-apple-darwin10-gcc-4.2.1
> llvm version 2.6svn,  Apple Build #2207-05
>
> Snow Leopard 10.6.4 on an x86_64 Macbook Pro
> vtk-5.6.0 (stable version)
>
> The VTK libraries have been installed into the /usr/local directory.  I've
> tried the most recent release version of CMake pulled from git and the
> binary (pre-packaged) version on the Kitware website.  Both generate
> makefiles with the same error on Mac OS X.
>
> I've written a CMakeLists.txt file to generate the makefile.  This
> CMakeLists.txt file works well on GNU/Linux (Ubuntu x86_64,
> 2.6.32-24-generic kernel) with gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3 and GNU ld
> (GNU Binutils for Ubuntu) 2.20.1-system.20100303.  On GNU/Linux, the
> CMakeLists.txt file generates a makefile that successfully builds my program
> and links it with the VTK library.
>
> Here is the CMakeLists.txt file:
>
>
> cmake_minimum_required (VERSION 2.6)
> project (fdtd-cuda-1)
> find_package(VTK REQUIRED)
> include( ${VTK_USE_FILE} )
> include_directories(/Volumes/FILES/CODE-LIBRARY/utilities)
> include_directories(/Volumes/FILES/Programs/common/TNT)
> include_directories(/Volumes/FILES/Programs/common/boost/boost_1_43_0)
> include (${VTK_USE_FILE})
> add_executable (fdtd-cuda-1 main.cpp)
> target_link_libraries(fdtd-cuda-1 vtkHybrid)
>
> Within the main.cpp file of my C++ program I am using the following VTK
> headers:
>
> #include <vtkRenderWindow.h>
> #include <vtkRenderWindowInteractor.h>
> #include <vtkInteractorStyleImage.h>
> #include <vtkRenderer.h>
> #include <vtkJPEGReader.h>
> #include <vtkImageActor.h>
> #include <vtkCommand.h>
> #include <vtkCallbackCommand.h>
> #include <vtkSmartPointer.h>
>
> Although the makefile generated by cmake builds without problems on Ubuntu
> GNU/Linux, a similarly-generated makefile produces the following errors on
> Mac OS X.  It appears that CMake is finding the VTK library in the
> Python.framework directory in lieu of the one installed into /usr/local/lib.
>  Here are the errors produced on Mac OS X:
>
> Matilda-2:FDTD-model-CUDA-1 nicholaskinar$ make
>
> Linking CXX executable fdtd-cuda-1
> ld: warning: in
> /Library/Frameworks/Python.framework/Versions/6.1/lib/vtk-5.4/libvtkHybrid.dylib,
> file was built for i386 which is not the architecture being linked (x86_64)
> ld: warning: in
> /Library/Frameworks/Python.framework/Versions/6.1/lib/vtk-5.4/libvtkRendering.dylib,
> file was built for i386 which is not the architecture being linked (x86_64)
> ld: warning: in
> /Library/Frameworks/Python.framework/Versions/6.1/lib/vtk-5.4/libvtkGraphics.dylib,
> file was built for i386 which is not the architecture being linked (x86_64)
> ld: warning: in
> /Library/Frameworks/Python.framework/Versions/6.1/lib/vtk-5.4/libvtkverdict.dylib,
> file was built for i386 which is not the architecture being linked (x86_64)
> ld: warning: in
> /Library/Frameworks/Python.framework/Versions/6.1/lib/vtk-5.4/libvtkImaging.dylib,
> file was built for i386 which is not the architecture being linked (x86_64)
> ld: warning: in
> /Library/Frameworks/Python.framework/Versions/6.1/lib/vtk-5.4/libvtkftgl.dylib,
> file was built for i386 which is not the architecture being linked (x86_64)
> ld: warning: in
> /Library/Frameworks/Python.framework/Versions/6.1/lib/vtk-5.4/libvtkfreetype.dylib,
> file was built for i386 which is not the architecture being linked (x86_64)
> ld: warning: in
> /Library/Frameworks/Python.framework/Versions/6.1/lib/vtk-5.4/libvtkIO.dylib,
> file was built for i386 which is not the architecture being linked (x86_64)
> ld: warning: in
> /Library/Frameworks/Python.framework/Versions/6.1/lib/vtk-5.4/libvtkFiltering.dylib,
> file was built for i386 which is not the architecture being linked (x86_64)
> ld: warning: in
> /Library/Frameworks/Python.framework/Versions/6.1/lib/vtk-5.4/libvtkCommon.dylib,
> file was built for i386 which is not the architecture being linked (x86_64)
> ld: warning: in
> /Library/Frameworks/Python.framework/Versions/6.1/lib/vtk-5.4/libvtkDICOMParser.dylib,
> file was built for i386 which is not the architecture being linked (x86_64)
> ld: warning: in
> /Library/Frameworks/Python.framework/Versions/6.1/lib/vtk-5.4/libvtkmetaio.dylib,
> file was built for i386 which is not the architecture being linked (x86_64)
> ld: warning: in
> /Library/Frameworks/Python.framework/Versions/6.1/lib/vtk-5.4/libvtksqlite.dylib,
> file was built for i386 which is not the architecture being linked (x86_64)
> ld: warning: in
> /Library/Frameworks/Python.framework/Versions/6.1/lib/vtk-5.4/libvtkpng.dylib,
> file was built for i386 which is not the architecture being linked (x86_64)
> ld: warning: in
> /Library/Frameworks/Python.framework/Versions/6.1/lib/vtk-5.4/libvtktiff.dylib,
> file was built for i386 which is not the architecture being linked (x86_64)
> ld: warning: in
> /Library/Frameworks/Python.framework/Versions/6.1/lib/vtk-5.4/libvtkzlib.dylib,
> file was built for i386 which is not the architecture being linked (x86_64)
> ld: warning: in
> /Library/Frameworks/Python.framework/Versions/6.1/lib/vtk-5.4/libvtkjpeg.dylib,
> file was built for i386 which is not the architecture being linked (x86_64)
> ld: warning: in
> /Library/Frameworks/Python.framework/Versions/6.1/lib/vtk-5.4/libvtkexpat.dylib,
> file was built for i386 which is not the architecture being linked (x86_64)
> ld: warning: in
> /Library/Frameworks/Python.framework/Versions/6.1/lib/vtk-5.4/libvtksys.dylib,
> file was built for i386 which is not the architecture being linked (x86_64)
> ld: warning: in
> /Library/Frameworks/Python.framework/Versions/6.1/lib/vtk-5.4/libvtkexoIIc.dylib,
> file was built for i386 which is not the architecture being linked (x86_64)
> ld: warning: in
> /Library/Frameworks/Python.framework/Versions/6.1/lib/vtk-5.4/libvtkNetCDF.dylib,
> file was built for i386 which is not the architecture being linked (x86_64)
> Undefined symbols:
>  "vtkRenderer::New()", referenced from:
>      vtkSmartPointer<vtkRenderer>::New()        in main.cpp.o
>  "vtkRenderWindowInteractor::SetRenderWindow(vtkRenderWindow*)", referenced
> from:
>      test_VTK()    in main.cpp.o
>  "vtkRenderer::ResetCamera()", referenced from:
>      test_VTK()    in main.cpp.o
>  "vtkJPEGReader::New()", referenced from:
>      vtkSmartPointer<vtkJPEGReader>::New()        in main.cpp.o
>  "vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*,
> vtkSmartPointerBase::NoReference const&)", referenced from:
>      vtkSmartPointer<vtkJPEGReader>::vtkSmartPointer(vtkJPEGReader*,
> vtkSmartPointerBase::NoReference const&)in main.cpp.o
>      vtkSmartPointer<vtkImageActor>::vtkSmartPointer(vtkImageActor*,
> vtkSmartPointerBase::NoReference const&)in main.cpp.o
>      vtkSmartPointer<vtkRenderer>::vtkSmartPointer(vtkRenderer*,
> vtkSmartPointerBase::NoReference const&)in main.cpp.o
>      vtkSmartPointer<vtkRenderWindow>::vtkSmartPointer(vtkRenderWindow*,
> vtkSmartPointerBase::NoReference const&)in main.cpp.o
>
>  vtkSmartPointer<vtkRenderWindowInteractor>::vtkSmartPointer(vtkRenderWindowInteractor*,
> vtkSmartPointerBase::NoReference const&)in main.cpp.o
>
>  vtkSmartPointer<vtkInteractorStyleImage>::vtkSmartPointer(vtkInteractorStyleImage*,
> vtkSmartPointerBase::NoReference const&)in main.cpp.o
>  "vtkInteractorStyleImage::New()", referenced from:
>      vtkSmartPointer<vtkInteractorStyleImage>::New()        in main.cpp.o
>  "vtkImageAlgorithm::GetOutput()", referenced from:
>      test_VTK()    in main.cpp.o
>  "vtkRenderWindowInteractor::New()", referenced from:
>      vtkSmartPointer<vtkRenderWindowInteractor>::New()        in main.cpp.o
>  "vtkImageActor::New()", referenced from:
>      vtkSmartPointer<vtkImageActor>::New()        in main.cpp.o
>  "vtkRenderWindow::New()", referenced from:
>      vtkSmartPointer<vtkRenderWindow>::New()        in main.cpp.o
>  "vtkSmartPointerBase::~vtkSmartPointerBase()", referenced from:
>      vtkSmartPointer<vtkInteractorStyleImage>::~vtkSmartPointer()in
> main.cpp.o
>      vtkSmartPointer<vtkRenderWindowInteractor>::~vtkSmartPointer()in
> main.cpp.o
>      vtkSmartPointer<vtkRenderWindow>::~vtkSmartPointer()in main.cpp.o
>      vtkSmartPointer<vtkRenderer>::~vtkSmartPointer()in main.cpp.o
>      vtkSmartPointer<vtkImageActor>::~vtkSmartPointer()in main.cpp.o
>      vtkSmartPointer<vtkJPEGReader>::~vtkSmartPointer()in main.cpp.o
>  "vtkRenderer::AddActor(vtkProp*)", referenced from:
>      test_VTK()    in main.cpp.o
> ld: symbol(s) not found
> collect2: ld returned 1 exit status
> make[2]: *** [fdtd-cuda-1] Error 1
> make[1]: *** [CMakeFiles/fdtd-cuda-1.dir/all] Error 2
> make: *** [all] Error 2
>
> What am I doing wrong here, and what should I change to ensure that CMake
> locates the proper version of VTK on Mac OS X?
>
>
> Nicholas
>
>
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the VTK FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20100811/9fed01f9/attachment.htm>


More information about the vtkusers mailing list