Hi,
To quote the bug report at http://rt.cpan.org/Ticket/Display.html?id=29326 :
"I wrote some simple Inline::C code in a script and compiled it with 5.8.8,
this generated an _Inline directory. I then ran the script with perl 5.9.5
which caused a segfault. It seems that Inline::C (and probably Inline in
general) does not check whether the version that's loading the .so is the
version that compiled it. Obviously this is a big problem."
I've just replied to that report, pointing out that you wouldn't even have
to switch to a different version number of perl to strike the same problem -
eg you'd also get a segfault if you ran the script using a multi-threaded
5.8.8, having first run that script using an unthreaded 5.8.8.
However, instead of generating/using a directory named "_Inline", I expect
Inline could instead be modified to generate/use, by default, a directory
named "$Config{archname}-$]". Then we could run our Inline script from the
same location, using whatever version/configuration of perl that takes our
fancy.
Should this be implemented ?
It's to be noted that the "DIRECTORY" Inline config option already provides
the means for the user to attend to this problem himself, without any need
to alter Inline at all. (I've detailed how that can be done in my reply to
the bug report.)
Cheers,
Rob