| Ilya Zakharevich on Tue, 31 Oct 2000 22:00:22 -0500 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| Re: [PARI] about the behavior of install() |
On Sun, Oct 29, 2000 at 03:26:05PM +0100, Gerhard Niklasch wrote:
> So far for explaining why things are as they are; now what could
> be done about changing this? There is a way (1) could be undone --
> gp would have to call dlclose(DLH) and thus promise to the runtime
> loader that neither DLH nor any pointer obtained from it by dlsym()
> will be used any longer. Then IN _will_ be unmapped, and the next
> install and dlopen() would pick up the recompiled IN' under the same
> old name L.so, giving the effect you intended.
Keep in mind that Perl does not unload modules. The reason is that
nobody came with a scheme how one could have done it. Well, with PARI
it is a little bit easier, since no static storage may be referenced,
but in practice it would not help much...
BTW, the current syntax of
install(matexp,Gp,mexp,"~pev/PARI-Dev/pari/examples/libmatexp.so")
is extremely unportable. I would use
install(matexp, Gp, mexp, "matexp", "~pev/PARI-Dev/pari/examples/")
This
a) makes the directory optional;
b) does not hardwire the DLL prefix and postfix (which are
different on different systems...);
Ilya