[Paraview] Problem linking Cocoa pqWidgets

Clinton Stimpson clinton at elemtech.com
Wed Jan 6 16:50:08 EST 2010


On Wednesday 06 January 2010 02:43:54 pm Eric E. Monson wrote:
> Hey Clint,
>
> Yes, I'm using CVS CMake (2.9.20100105). Qt is not static (unless that's
> the default, but I don't think it is).

The default is shared/dynamic.

>
> So older versions of CMake added in other framework dependencies (like
> Carbon, ApplicationServices or AppKit) automatically based on what Qt was
> built with?

Correct.  So, your suggestion to fix Qt/Widgets/CMakeLists.txt needs to happen.

Clint

>
> Thanks,
> -Eric
>
> On Jan 6, 2010, at 4:36 PM, Clinton Stimpson wrote:
> > Did you use the CVS version of CMake?
> > FindQt4/UseQt don't put the extra dependencies in there anymore unless Qt
> > is static.  So if pqWidgets uses Cocoa, it needs to link against the
> > Cocoa framework.
> >
> > Clint
> >
> > On Wednesday 06 January 2010 01:35:39 pm Eric E. Monson wrote:
> >> Hello,
> >>
> >> On one of my machines I just switched over to Snow Leopard, so I did a
> >> fresh CVS grab of ParaView. I have Qt 4.5.3 built from source for Cocoa
> >> (x86 and x86_64 architectures), and I have been trying to build ParaView
> >> (i386;x86_64), but keep getting a linking error on the pqWidgets
> >> library:
> >>
> >> [ 90%] Built target QtTesting
> >> Linking CXX shared library ../../bin/libpqWidgets.dylib
> >> Undefined symbols:
> >>  "_objc_msgSend", referenced from:
> >>      pqProgressBarHelper::setProgress(int)    in
> >> pqProgressBarHelper.mm.o pqProgressBarHelper::setProgress(int)    in
> >> pqProgressBarHelper.mm.o pqProgressBarHelper::setProgress(int)    in
> >> pqProgressBarHelper.mm.o ld: symbol(s) not found
> >> collect2: ld returned 1 exit status
> >> Undefined symbols:
> >>  "_objc_msgSend", referenced from:
> >>      pqProgressBarHelper::setProgress(int)    in
> >> pqProgressBarHelper.mm.o pqProgressBarHelper::setProgress(int)    in
> >> pqProgressBarHelper.mm.o pqProgressBarHelper::setProgress(int)    in
> >> pqProgressBarHelper.mm.o ld: symbol(s) not found
> >>
> >> I found I can get past this if I add a "-framework Cocoa" to the linker
> >> line manually, so I think in ParaView3/Qt/Widgets/CMakeLists.txt maybe
> >> there should be another check added, something like (line 198):
> >>
> >>  if(VTK_USE_COCOA)
> >>    TARGET_LINK_LIBRARIES(pqWidgets "-framework Cocoa")
> >>  endif(VTK_USE_COCOA)
> >>
> >> The progress bar doesn't really work and I'm running into the "grayed
> >> out filters" that some others have mentioned (filters show up right
> >> after launching PV, I can generate or load a "source", and I can apply
> >> one filter, but then they disappear after that and won't come back), but
> >> at least PV compiled... :)
> >>
> >> Not sure if it's relevant, but in case it's helpful: On another machine
> >> with a very similar setup (Snow Leopard and x86,x86_64 Cocoa Qt 4.5.2
> >> from source), but just CVS "update" and rebuild on an old checkout
> >> rather than a fresh one, I noticed that the pqWidgets_LIB_DEPENDS (and a
> >> bunch of other things) include ;general;-framework
> >> Carbon;general;-framework
> >> AppKit;general;-framework ApplicationServices;  The progress bar doesn't
> >> work on that version, either, but I don't get the "grayed out" filters
> >> problem.
> >>
> >> Thanks,
> >> -Eric
> >>
> >> ------------------------------------------------------
> >> Eric E Monson
> >> Duke Visualization Technology Group
> >>
> >>
> >> _______________________________________________
> >> 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 ParaView Wiki at:
> >> http://paraview.org/Wiki/ParaView
> >>
> >> Follow this link to subscribe/unsubscribe:
> >> http://www.paraview.org/mailman/listinfo/paraview



More information about the ParaView mailing list