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