> On approximately 12/11/2005 3:21 AM, came the following characters from > the keyboard of Steffen Mueller: > > So I took the low-tech way of downloading from CPAN, and adding the > par_unsetenv line per the above suggestion. > > So then I recompiled the world, including several PAR-using > applications, and all the ones that also use Image::Magick from the > Bribes repository (which was set up to work with PAR, and worked well > with PAR 0.85), now fail to find the CORE_RL_magick_.dll which used to > get stuck in inc/lib/auto/Image/Magick/ but no longer is!
The failure dialog box is a Windows report indicating the Magick.dll couldn't load the CORE_RL_magick_.dll. > I wonder if > the following chenga described in PAR 0.86 release notes is responsible: > > - Don't extract shared libraries to inc/, since they were extracted > in $PAR_TEMP already. > > A possibly related comment may be that not all library searching for XS > modules is done by the standard Perl library search code, and this may > be an example of that. > Unless Magick.dll goes out of it's way to locate CORE_RL_magick.dll, Windows should look in the same directory where Magick.dll resides and that is $PAR_TEMP. Magick.dll is there under it's cache name and PAR's dynaloader patch finds it OK. It's not a a Perl function to load secondary dll's. The problem appears to be that CORE_RL_magick.dll was not extracted to $PAR_TEMP, rather than that it was not extracted to inc/ where Windows has no way to find it. That's why 0.86 didn't bother extracting it to inc/ also. It was redundant/useless. > Further, it seems that in one program, a file explicitly added with > --addfile is not getting extracted to inc/ in time for the program to > find it. It does seem to be in the archive. > All the extracting occurs before your code runs. Not sure what "in time" would be. Do you have a small example? I'm fighting the flu right now and I'm getting lost in a fog in the Magick code. One temporary workaround for you would be to download the source for 0.85 and apply the same par_unsetenv patch to it, if that's all that drove you to 0.90. More later.... Alan