* Doug Hunt <dhunt@...> [2003-03-05 14:43]:
> >Great. When is the next release of PDL (or your module) expected to come
> Hopefully soon, but no date has been set. I would guess 1-2 months.
Super. That will coincide with the next release of PLplot.
> OK, I now changed my auto-detector in Makefile.PL to do a test compile and
> check the allowed number of args in plpoly3 instead of looking at the
> library version. I can't assume that any target system will have
> pkg-config installed.
You might also use the plgver API function.
> All: Please keep the API-breaking changes to an absolute minimum! The
> code for perl/PDL to detect different versions is ugly and takes much time
> to maintain. It would have been preferable to just create a new plpoly3
> function with the extra argument instead of changing the old one.
I agree 100 % with you. I think that the changes in the API were
inappropriate, both in plpoly3 and plend1/plend. This was done probably
because we thought that PLplot were not yet a so big and important project
and that users usually recompile their applications for every release. We
wrongly thought then that "improving" the API by breaking backward
compatibility would be a service to the community.
However, since PLplot is marching towards ubiquitous presence (call it World
domination, if you want :-) we have to be careful with this kind of
breakage. Indeed, there will be users around not willing to upgrade from
5.1.1 to 5.2.0, but wanting to install bindings like the PDL one.
Fortunately, you detected the problem and will cope with it in your PDL
module. We have only to apologize our users for this mess.
Even worse, in the last release we were not careful enough as regards the
soname versioning. With 5.2.0 installed, the system dynamic linker/loader
will happily link programs compiled for 5.1.1 with the new library and these
applications are likely to crash. The system loader does this (at least the
ld.so of Linux) because the libraries in version 5.1.1 and 5.2.0 have the
same soname (libplplot5), although there are backward incompatibilities.
Actually, the soname for 5.2.0 must have been libplplot6. Too late, too
We will try to be more careful on these issues in the future.