From: Rafael L. <lab...@ps...> - 2003-03-06 10:12:18
|
* Doug Hunt <dh...@uc...> [2003-03-05 14:43]: > >Great. When is the next release of PDL (or your module) expected to come > >out? > > > 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 bad... We will try to be more careful on these issues in the future. -- Rafael |