[vtk-developers] Mac OS X Build failure
David Gobbi
david.gobbi at gmail.com
Tue Feb 26 17:03:20 EST 2013
Yeah, that's what I was wondering: whether the symbols were
from Carbon itself, or from a Core library. Most of them are
Carbon. Very strange, especially for a 64-bit build.
- David
On Tue, Feb 26, 2013 at 2:53 PM, Goodwin Lawlor
<goodwin.lawlor.lists at gmail.com> wrote:
> Tk8.6
>
> Here's the error message when "-framework Carbon" is omitted. Strange for a
> couple of reasons - I set VTK_USE_COCOA and at least the symbol
> AEProcessAppleEvent seems to be from the CoreServices framework.
>
> Undefined symbols for architecture x86_64:
>
> "_AEProcessAppleEvent", referenced from:
>
> _TkMacOSXDoHLEvent in libtk8.6.a(tkMacOSXHLEvents.o)
>
> "_GetCurrentButtonState", referenced from:
>
> _TkpWarpPointer in libtk8.6.a(tkMacOSXMouseEvent.o)
>
> _TkMacOSXButtonKeyState in libtk8.6.a(tkMacOSXMouseEvent.o)
>
> "_GetCurrentEvent", referenced from:
>
> _TkMacOSXModifierState in libtk8.6.a(tkMacOSXMouseEvent.o)
>
> _TkpWarpPointer in libtk8.6.a(tkMacOSXMouseEvent.o)
>
> _TkMacOSXButtonKeyState in libtk8.6.a(tkMacOSXMouseEvent.o)
>
> "_GetCurrentEventButtonState", referenced from:
>
> _TkpWarpPointer in libtk8.6.a(tkMacOSXMouseEvent.o)
>
> _TkMacOSXButtonKeyState in libtk8.6.a(tkMacOSXMouseEvent.o)
>
> "_GetCurrentEventKeyModifiers", referenced from:
>
> _TkMacOSXModifierState in libtk8.6.a(tkMacOSXMouseEvent.o)
>
> _TkMacOSXButtonKeyState in libtk8.6.a(tkMacOSXMouseEvent.o)
>
> -[TKApplication(TKMenus) orderFrontStandardAboutPanel:] in
> libtk8.6.a(tkMacOSXMenus.o)
>
> "_GetCurrentKeyModifiers", referenced from:
>
> _TkMacOSXModifierState in libtk8.6.a(tkMacOSXMouseEvent.o)
>
> _TkMacOSXButtonKeyState in libtk8.6.a(tkMacOSXMouseEvent.o)
>
> "_GetEventParameter", referenced from:
>
> -[TKApplication(TKMouseEvent) tkProcessMouseEvent:] in
> libtk8.6.a(tkMacOSXMouseEvent.o)
>
> "_GetMainEventQueue", referenced from:
>
> _Tk_MacOSXSetupTkNotifier in libtk8.6.a(tkMacOSXNotify.o)
>
> _TkMacOSXNotifyExitHandler in libtk8.6.a(tkMacOSXNotify.o)
>
> "_GetThemeMenuItemExtra", referenced from:
>
> _TkpMenuInit in libtk8.6.a(tkMacOSXMenu.o)
>
> "_GetThemeMenuSeparatorHeight", referenced from:
>
> _TkpMenuInit in libtk8.6.a(tkMacOSXMenu.o)
>
> "_GetThemeMetric", referenced from:
>
> _TkpMenuInit in libtk8.6.a(tkMacOSXMenu.o)
>
> _UpdateScrollbarMetrics in libtk8.6.a(tkMacOSXScrlbr.o)
>
> _ButtonElementSize in libtk8.6.a(ttkMacOSXTheme.o)
>
> _SpinButtonElementSize in libtk8.6.a(ttkMacOSXTheme.o)
>
> _DisclosureElementSize in libtk8.6.a(ttkMacOSXTheme.o)
>
> _ButtonElementSizeNoPadding in libtk8.6.a(ttkMacOSXTheme.o)
>
> _TrackElementSize in libtk8.6.a(ttkMacOSXTheme.o)
>
> ...
>
> "_HIThemeApplyBackground", referenced from:
>
> _TkMacOSXSetColorInContext in libtk8.6.a(tkMacOSXColor.o)
>
> "_HIThemeBrushCreateCGColor", referenced from:
>
> _GetThemeColor in libtk8.6.a(tkMacOSXColor.o)
>
> "_HIThemeDrawButton", referenced from:
>
> _TkpDrawSpinboxButtons in libtk8.6.a(tkMacOSXEntry.o)
>
> _ButtonElementDraw in libtk8.6.a(ttkMacOSXTheme.o)
>
> _SpinButtonElementDraw in libtk8.6.a(ttkMacOSXTheme.o)
>
> _ComboboxElementDraw in libtk8.6.a(ttkMacOSXTheme.o)
>
> _DisclosureElementDraw in libtk8.6.a(ttkMacOSXTheme.o)
>
> _TreeHeaderElementDraw in libtk8.6.a(ttkMacOSXTheme.o)
>
> "_HIThemeDrawFrame", referenced from:
>
> _TkpDrawEntryBorderAndFocus in libtk8.6.a(tkMacOSXEntry.o)
>
> _EntryElementDraw in libtk8.6.a(ttkMacOSXTheme.o)
>
> "_HIThemeDrawGroupBox", referenced from:
>
> _GroupElementDraw in libtk8.6.a(ttkMacOSXTheme.o)
>
> "_HIThemeDrawGrowBox", referenced from:
>
> _SizegripElementDraw in libtk8.6.a(ttkMacOSXTheme.o)
>
> "_HIThemeDrawSeparator", referenced from:
>
> _SeparatorElementDraw in libtk8.6.a(ttkMacOSXTheme.o)
>
> "_HIThemeDrawTab", referenced from:
>
> _TabElementDraw in libtk8.6.a(ttkMacOSXTheme.o)
>
> "_HIThemeDrawTabPane", referenced from:
>
> _PaneElementDraw in libtk8.6.a(ttkMacOSXTheme.o)
>
> "_HIThemeDrawTrack", referenced from:
>
> _TrackElementDraw in libtk8.6.a(ttkMacOSXTheme.o)
>
> _PbarElementDraw in libtk8.6.a(ttkMacOSXTheme.o)
>
> "_HIThemeGetButtonContentBounds", referenced from:
>
> _ButtonElementSize in libtk8.6.a(ttkMacOSXTheme.o)
>
> "_HIThemeGetGrowBoxBounds", referenced from:
>
> _SizegripElementSize in libtk8.6.a(ttkMacOSXTheme.o)
>
> "_HIThemeGetTrackDragRect", referenced from:
>
> _UpdateScrollbarMetrics in libtk8.6.a(tkMacOSXScrlbr.o)
>
> "_HIThemeGetUIFontType", referenced from:
>
> _TkpFontPkgInit in libtk8.6.a(tkMacOSXFont.o)
>
> _TkpGetNativeFont in libtk8.6.a(tkMacOSXFont.o)
>
> "_HIThemeSetFill", referenced from:
>
> _TkMacOSXSetColorInContext in libtk8.6.a(tkMacOSXColor.o)
>
> _FillElementDraw in libtk8.6.a(ttkMacOSXTheme.o)
>
> _ToolbarBackgroundElementDraw in libtk8.6.a(ttkMacOSXTheme.o)
>
> "_HIThemeSetStroke", referenced from:
>
> _TkMacOSXSetColorInContext in libtk8.6.a(tkMacOSXColor.o)
>
> "_HIThemeSetTextFill", referenced from:
>
> _TkMacOSXSetColorInContext in libtk8.6.a(tkMacOSXColor.o)
>
> "_LMGetKbdType", referenced from:
>
> _XKeycodeToKeysym in libtk8.6.a(tkMacOSXKeyboard.o)
>
> "_TISCopyCurrentKeyboardLayoutInputSource", referenced from:
>
> _XKeycodeToKeysym in libtk8.6.a(tkMacOSXKeyboard.o)
>
> "_TISGetInputSourceProperty", referenced from:
>
> _XKeycodeToKeysym in libtk8.6.a(tkMacOSXKeyboard.o)
>
> "_kTISPropertyUnicodeKeyLayoutData", referenced from:
>
> _XKeycodeToKeysym in libtk8.6.a(tkMacOSXKeyboard.o)
>
> ld: symbol(s) not found for architecture x86_64
>
> clang: error: linker command failed with exit code 1 (use -v to see
> invocation)
>
>
>
> On Tue, Feb 26, 2013 at 9:41 PM, David Gobbi <david.gobbi at gmail.com> wrote:
>>
>> Do you remember what symbols were missing that required
>> the "-framework Carbon"? Was that for tk 8.5 or 8.6?
>>
>> - David
>>
>> On Tue, Feb 26, 2013 at 2:31 PM, Goodwin Lawlor
>> <goodwin.lawlor.lists at gmail.com> wrote:
>> > Thanks David,
>> >
>> > I installed my static Tcl/Tk libs and it worked out too... so long as
>> > you do
>> > a "sudo make install_private_headers"
>> >
>> > I always thought Tk bundled X11 libs solely for win32 benefits but it
>> > seems
>> > Aqua builds require them over the system libs. When you diff the tk
>> > Xlib.h
>> > against the system one they are quite different.
>> >
>> > Also there was a small link problem too - "-framework Carbon" had to be
>> > added to linker.
>> >
>> > Goodwin
>> >
>> >
>> > On Tue, Feb 26, 2013 at 4:16 AM, David Gobbi <david.gobbi at gmail.com>
>> > wrote:
>> >>
>> >> Hi Goodwin,
>> >>
>> >> For Win32 builds, there is a CMake variable called TK_XLIB_PATH that
>> >> is set to the directory where X11/Xlib.h is to be found. As far as I
>> >> understand, that variable is only needed when you are building VTK
>> >> against a Tk source directory. Once Tk is installed, the X11
>> >> directory is installed in the Tk include directory and X11/Xlib.h is
>> >> found automatically.
>> >>
>> >> So I'm guessing that the reason the TK_XLIB_PATH variable isn't
>> >> present under OS X is that very few people (or maybe no people) have
>> >> ever tried building against a Tk source directory on OS X.
>> >>
>> >> If you're interested you can grep the VTK cmake files for TK_XLIB_PATH
>> >> to see how things are done for Windows, and then make things work the
>> >> same way for OS X.
>> >>
>> >> - David
>> >>
>> >>
>> >> On Mon, Feb 25, 2013 at 7:17 PM, Goodwin Lawlor
>> >> <goodwin.lawlor.lists at gmail.com> wrote:
>> >> >
>> >> > Looking at the Tk Makefile, it seems that when building static libs
>> >> > with
>> >> > Aqua you have to force the inclusion of Xlib.h from the Tk source
>> >> > tree (ie,
>> >> > from the tk/xlib directory)
>> >> >
>> >> > So, adding
>> >> >
>> >> > INCLUDE_DIRECTORIES(BEFORE ${TK_INCLUDE_PATH}/../xlib)
>> >> >
>> >> > to VTK/Rendering/CMakeLists.txt fixed things.
>> >> >
>> >> > hth someone.
>> >> >
>> >> > Goodwin
>> >> >
>> >> > On Mon, Feb 25, 2013 at 10:02 PM, Goodwin Lawlor
>> >> > <goodwin.lawlor.lists at gmail.com> wrote:
>> >> >>
>> >> >> Hi All,
>> >> >>
>> >> >> I'm building VTK (5.10.1 and Nightly) on Mac OS X 10.7.5
>> >> >>
>> >> >> I'm building static libs with Tcl wrappers (v8.5.13 and v8.6).
>> >> >>
>> >> >> The build fails on vtkTkRenderWidget with
>> >> >>
>> >> >> In file included from
>> >> >> /Users/GoodwinLawlor/code/VTK/Rendering/vtkTkRenderWidget.cxx:35:
>> >> >> In file included from
>> >> >> /Users/GoodwinLawlor/code/tcltk/tk8.6/generic/tkInt.h:19:
>> >> >> In file included from
>> >> >> /Users/GoodwinLawlor/code/tcltk/tk8.6/generic/tkPort.h:25:
>> >> >> In file included from
>> >> >> /Users/GoodwinLawlor/code/tcltk/tk8.6/macosx/tkMacOSXPort.h:56:
>> >> >>
>> >> >> /Users/GoodwinLawlor/code/tcltk/tk8.6/generic/tkIntXlibDecls.h:380:16:
>> >> >> error: conflicting types for 'XKeycodeToKeysym'
>> >> >> EXTERN KeySym XKeycodeToKeysym(Display *d, KeyCode k, int
>> >> >> i);
>> >> >> ^
>> >> >> /usr/include/X11/Xlib.h:1694:15: note: previous declaration is here
>> >> >> extern KeySym XKeycodeToKeysym(
>> >> >>
>> >> >> I've got VTK_USE_X = 0 and VTK_USE_COCOA = 1
>> >> >>
>> >> >> Basically, tkIntXlibDecls.h is declaring the same types as Xlib.h
>> >> >>
>> >> >> Grateful for any hints before going grepping...
>> >> >>
>> >> >> Thanks,
>> >> >>
>> >> >> Goodwin
>> >
>> >
>
>
More information about the vtk-developers
mailing list