[Paraview] Problem linking Cocoa pqWidgets

Eric E. Monson emonson at cs.duke.edu
Thu Jan 7 09:27:30 EST 2010


Berk -- out of curiosity, then, is your Qt 4.6 built for both i386 and x86_64 architectures, and using Cocoa?

It doesn't necessarily make sense, but since I don't get the grayed out filters on my laptop which was using an older version of CMake (2.9.20091007) -- so it linked a bunch of PV libraries with additional OS X frameworks -- is it possible that with more recent CMake there are some other dependencies which are not being linked in, don't get caught at compile time, but are missing at run time?

Anyway, as long as someone can put in that extra Cocoa line for pqWidgets, at least that will build with CVS CMake.

Thanks,
-Eric

On Jan 6, 2010, at 10:14 PM, Berk Geveci wrote:

> Also, the progress bar issue is known - we will try to fix it before
> 2.8 but no guarantees. I never ran into the "grayed out filters"
> issue. I have been using Qt 4.6 btw.
> 
> -berk
> 
> On Wed, Jan 6, 2010 at 4:50 PM, Clinton Stimpson <clinton at elemtech.com> wrote:
>> 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
>> 
>> _______________________________________________
>> 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