On Thu, May 07, 2009 at 10:36:37AM -0700, Alan Irwin wrote:
> On 2009-05-07 10:53+0100 Andrew Ross wrote:
>
>>
>> Further to my previous report, this only seems to occur if you explicitly
>> set the cmake build type, e.g. with -DCMAKE_BUILD_TYPE=Debug. This is
>> probably why no-one has reported it before. Without this option the Qt 
>> library
>> dependencies contain no type tags and so the problem does not occur. Not sure
>> whether you would classify this as a cmake problem or a plplot problem.
>> Either way it is irritating if you are trying to debug plplot problems.
>>
>> Andrew
>>
>> On Thu, May 07, 2009 at 10:11:10AM +0100, Andrew Ross wrote:
>>>
>>> I think I have found a bug with our current cmake build system. For link
>>> flags cmake now (with cmake 2.6.3 at least) adds a tag describing which
>>> type of build this link flag is for. E.g.
>>> plpotf77cd_LIB_DEPENDS:STATIC=general;plplotd;
>>>
>>> On the whole we seem to handle the general tag correctly, although I can't
>>> see where this happens in plplot.
>>>
>>> For the qt drivers we get different libraries depending on the build type,
>>> e.g. qt_LIB_DEPENDS contains
>>> ;debug;/usr/lib/libQtSvg.so;optimized;/usr/lib/libQtSvg;
>>>
>>> This doesn't seem to cause any problems for the build, but if you look in
>>> pkgcfg/plplotd-qt.pc then debug and optimized appear in the libs list. This
>>> causes a build of the examples in the install tree to fail for anything
>>> which uses pkg-config plplotd-qt. Normally this does not show up
>>> (plplotd-qt.pc is not used). The problem becomes much more serious if you
>>> try and do a build with ENABLE_DYNDRIVERS=OFF, because then all the driver
>>> library dependencies end up in plplotd.pc, and so any plplot build using
>>> pkg-config will fail.
>>>
>>> Alan, I don't fully understand all the cmake logic involved here. Can you
>>> replicate this problem, and can you check to see if it is a problem with
>>> our code. I can't see why general gets stripped out, but not optimized or
>>> debug.
>>>
>
> Actually, tags leaking into plplotd-qt.pc should cause the build of
> examples/c++/qt_example to fail.  I wonder why you didn't see that?

Sorry - I have seen this build fail, presumably for just this reason.

> If you exclude qt, does -DCMAKE_BUILD_TYPE=Debug actually work?  There was a
> very long standing Linux bug in that (some needed flags were empty) which I
> reported.  IIRC, it was just last year that Bill Hoffman still didn't have a
> fix.  It would be great if that actually worked, but I haven't been using it
> because I didn't trust this method. Instead, I have always set the CC, CXX,
> and FC environment variables with appropriate compilation flags.

Apart from the pkg-config issue it seems to work fine. Everything builds and I 
get a library with debug information in which can be used by gdb / valgrind.

> I do hope you answer those questions to satisfy my curiosity, but I
> do realize those are beside the main point which is
> tags should never leak into plplotd-qt.pc.  I will take a look at that.

Andrew

------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image 
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
Plplot-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to