On Fri, Nov 25, 2011 at 03:38:53PM -0800, Alan Irwin wrote:
> Hi Andrew:
>
> Thanks for your additional tests of the -DNON_TRANSITIVE=ON case.
>
> On 2011-11-25 09:51-0000 Andrew Ross wrote:
>
> > Ada also doesn't work, although the situation is more complicated. I
> > don't understand enough about ada, but it appears that building the
> > examples is linking in the .o files from
> > bindings/ada/CMakeFiles/plplotadad.dir/ and these reference C API
> > functions. This seems odd to me so I don't know whether it is a "bug" or
> > a feature. At the moment it looks like libplplotd would need to be
> > explicitly linked in. I can't see how to do this though. The gnat
> > manpages are brief to say the least...
>
> There is complete documentation of gnat in info form that you may need
> to install on your Debian unstable system.
>
> If it turns out that libplplotd really has to be directly linked by
> the Ada examples, then I suggest you make the following change in
> examples/ada/CMakeLists.txt to accomplish that:
>
> target_link_libraries(${TARGET_NAME} plplotada${LIB_TAG})
>
> ==>
>
> target_link_libraries(${TARGET_NAME} plplotada${LIB_TAG} plplot${LIB_TAG})
>
> I think the above will just work, but if it doesn't because of some
> limitation of our Ada language support you might also have to work
> around that problem by changing the adalinkflags variable defined in
> that file to specify the location of libplplotd in the two cases (core
> build, and installed examples build).
Your suggestion does just work for the build tree examples. I guess the
pkg-config support will need fixing as well. I've not yet looked at this.
>
> > [....]Incidentally gdc works fine.
>
> By default D is compiled statically because the shared D build is
> broken on Debian stable because of a bug in D support on that
> platform. Has that bug been fixed for Debian unstable? In other
> words, do you get good results for the combination of
> -DNON_TRANSITIVE=ON and -Dplplotdmd_SHARED=ON?
>
> The second of those options forces a shared build of our D interface.
> However, that breaks the build on Debian stable (with or without
> -DNON_TRANSITIVE=ON) so all I can test here is Dplplotdmd_SHARED=OFF,
> which forces a static D build. For such static builds
> -DNON_TRANSITIVE=ON effectively turns into a no-op (since the empty
> LINK_INTERFACE_LIBRARIES property for targets is ignored for static
> libraries).
Well, trying with -Dplplotdmd_SHARED=ON fails with the default gdc
(gdc-4.4) with an error message about one of the .a files needing
recompiling with -fPIC. Is this the error you are talking about?
I also tried gdc-4.6 which is also available in unstable. This
fails during the cmake D compiler checks. Cmake adds the -fversion=Posix
option to the compiler, which does not seem to be allowed by gdc-4.6.
Not sure if this is a gdc error (flag should be supported) or a cmake
issue. I can't find any documentation on -fversion=Posix to confirm
or deny this. Anyone with any D lanugage experience able to offer
advice?
Andrew
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure
contains a definitive record of customers, application performance,
security threats, fraudulent activity, and more. Splunk takes this
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
Plplot-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/plplot-devel