[vtkusers] Failing VTK 6.1.1 build with Tk/Python on OSX 10.9.4

David Gobbi david.gobbi at gmail.com
Sun Sep 14 17:34:02 EDT 2014


Hi Jens,

If the VTK build is looking for a function called Tcl_GetErrorLine(),
that means that it is using a "tcl.h" for Tcl 8.6.  This function doesn't
exist in Tcl 8.5 or earlier versions of Tcl.

My guess is that you have installed Tcl 8.6 on your system, and
CMake has found the Tcl 8.6 headers, but is linking to the Tcl 8.5
libraries in the System folder.

Make sure that your CMakeCache.txt use the same framework for
all the Tcl variables:

TCL_INCLUDE_PATH:PATH=/System/Library/Frameworks/Tcl.framework/Headers
TCL_LIBRARY:FILEPATH=/System/Library/Frameworks/Tcl.framework
TCL_TCLSH:FILEPATH=/usr/bin/tclsh
TK_INCLUDE_PATH:PATH=/System/Library/Frameworks/Tk.framework/Headers
TK_INTERNAL_PATH:PATH=/System/Library/Frameworks/Tk.framework/PrivateHeaders
TK_LIBRARY:FILEPATH=/System/Library/Frameworks/Tk.framework

If you still have problems after setting your cache as shown above, then
you might have to find and remove the tcl.h file that is causing the error.

 - David


On Sun, Sep 14, 2014 at 2:57 PM, Jens <linucks42 at gmail.com> wrote:
> Hi,
>
> I'm trying to build VTK 6.1.1 with the Tk and Python bindings on OSX 10.9.4,
> with cmake 3.0.2 and At 5.3.1.
>
> The build is failing with:
>
> /usr/bin/c++    -g -isysroot
> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk
> -dynamiclib -Wl,-headerpad_max_install_names    -compatibility_version 1.0.0
> -current_version 1.0.0 -o ../../lib/libvtkCommonCoreTCL-6.1.1.dylib
> -install_name /opt/VTK-6.1.0/build/lib/libvtkCommonCoreTCL-6.1.1.dylib
>
> ...snip...
>
> CMakeFiles/vtkCommonCoreTCL.dir/vtkTypeFloat64ArrayTcl.cxx.o
> CMakeFiles/vtkCommonCoreTCL.dir/vtkCommonCoreTCLInit.cxx.o
> CMakeFiles/vtkCommonCoreTCL.dir/__/__/Wrapping/Tcl/vtkTclUtil.cxx.o
> ../../lib/libvtkCommonCore-6.1.1.dylib ../../lib/libvtksys-6.1.1.dylib
> -framework tcl -lm
>
> Undefined symbols for architecture x86_64:
>
>   "_Tcl_GetErrorLine", referenced from:
>
>       vtkTclVoidFunc(void*) in vtkTclUtil.cxx.o
>
>       vtkTclCommand::Execute(vtkObject*, unsigned long, void*) in
> vtkTclUtil.cxx.o
>
> ld: symbol(s) not found for architecture x86_64
>
> clang: error: linker command failed with exit code 1 (use -v to see
> invocation)
>
> make[2]: *** [lib/libvtkCommonCoreTCL-6.1.1.dylib] Error 1
>
> make[1]: *** [Common/Core/CMakeFiles/vtkCommonCoreTCL.dir/all] Error 2
>
>
> Can anyone suggest a workaround?
>
>
> Best wishes,
>
>
> Jens


More information about the vtkusers mailing list