The gsl is distributed under the terms of the GNU General Public License (GPL). Full details and implications of the GPL are found at
In contrast to earlier releases of the Zoom SpecialFunctions package, this release does not imbed the underlying gsl code within the package. Rather, we simply assume that the gsl library exists somewhere on your system and that you will list it among the other required libraries on your link command. In general, it is only necessary for the environment variable $GSL_DIR to be defined a la ups/upd. Note that gsl 1.4 is available from fnkits via upd for all supported flavors.
Note also that the gsl 1.4 in kits was built with gcc v3.2.1 and hence is almost certainly not compatible with user code compiled with any of the gcc 2.x.y.
Relative to previous releases of this package, there is one addition to the user interface that needs to be mentioned. The gsl contains a default error handler and code to report and react to various internal error conditions that may arise. On the other hand, we want to use the standard Zoom Exception handling and reporting mechanism. To allow that to work, it is necessary for the user to tell gsl to report but otherwise not attempt to handle errors. That is done by inserting
and calling SFInitialize::Initialize(); once somewhere early in your code.
/usr/lib as well as in the products area. The two are not compatible, since the one in /usr/lib is from an earlier release of the gsl, before the public interface was finalized. If you inadvertently link against that library, the link will fail with obscure messages about missing functions whose names you won't recognize since the references come from RedHat's gsl rather than than from ours. To avoid this, be sure to put the fields
-L$GSL_DIR/lib -lgsl
$GSL_DIR/lib/liblgsl.a
1.3.4