[Paraview] Problem linking Cocoa pqWidgets

Eric E. Monson emonson at cs.duke.edu
Wed Jan 6 15:35:39 EST 2010


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




More information about the ParaView mailing list