[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