Hi Bob,
Modules can't be unloaded in the current versions of PixInsight; they can be scheduled for uninstallation, but effective uninstallation requires a core application restart. Shared objects (or
dynamic load libraries on Windows) can indeed be unloaded, but this has been disabled in the PixInsight Core application for the sake of stability. PixInsight modules can integrate in quite complex and subtle ways with the whole platform, and unloading them can leave unrooted living objects that in turn can cause many problems.
I am aware that this limitation can turn debugging a PixInsight module into a tedious task sometimes. Perhaps in a future version I'll implement a special module unloading feature for developers.
I will also be curious to hear Juan's opinion on the GPL in this context
As Georg has said, we can't release a module as part of the official PixInsight distribution if it contains any GPLed code. This means that we can't include it in PixInsight Core installation packages for any supported platform, and we can't release it through the update system either. Note also that this includes both static and dynamic linking. On the other hand, our
PCL license is a BSD-like open source license, which is by nature incompatible with GPL.
I just need to solve a linear system
In this case, we have a few PCL classes that perhaps can help you to replace the GPL code you're using:
pcl::GenericGaussJordanpcl::GenericSVDpcl::GenericInPlaceSVDProbably not as fancy as the libraries you're using, but usually more than sufficient in many practical cases.