[Paraview] Problem linking Cocoa pqWidgets

Eric E. Monson emonson at cs.duke.edu
Wed Jan 6 16:43:54 EST 2010


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).

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

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