[Paraview] Problem linking Cocoa pqWidgets

Eric E. Monson emonson at cs.duke.edu
Thu Jan 7 14:46:52 EST 2010


In case anyone is interested, I'm not seeing the grayed out filters after doing a fresh build of Qt 4.6.0 from source, configured with: 

./configure -release -plugin-sql-sqlite -arch x86_64 -cocoa

(the sqlite is for another project), and building yesterday's CVS ParaView (with the change to ParaView3/Qt/Widgets/CMakeLists.txt that I mentioned in my original post) for x86_64 architecture under OS X 10.6.2 using CMake 2.9.20100105. 

Thanks,
-Eric


On Jan 7, 2010, at 9:30 AM, Berk Geveci wrote:

>> Berk -- out of curiosity, then, is your Qt 4.6 built for both i386 and x86_64 architectures, and using Cocoa?
> 
> I used i386 (Carbon and Cocoa) initially but I am now using 64 bit
> Cocoa exclusively.
> 
> -berk
> 
> 
> On Thu, Jan 7, 2010 at 9:27 AM, Eric E. Monson <emonson at cs.duke.edu> wrote:
>> 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
>>>> 
>> 
>> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20100107/b3ca3307/attachment-0001.htm>


More information about the ParaView mailing list