rebase, perl

Marco Moreno
Fri Dec 17 19:31:00 GMT 2010

On Dec 4, 2010, at 11:48 AM, Reini Urban wrote:

> 2010/12/1 Reini Urban:
>> 2010/11/30 Maurice Mengel:
>>> Don't know where to look anymore. perl keeps complaining about
>>> whenever I try to install a module in CPAN. The usual fatal error -
>>> unable to remap.
>>> Then I try perlrebase from bash. It finishes successfully, but cpan
>>> continues to show the same error. So I terminate all cygwin and run
>>> rebaseall -v from ash which gives me an error:
>>> ReBaseImage (/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Graphics/Magick/Magick.dll)
>>> failed with last error = 6
>> That is easy. Make Graphics/Magick/Magick.dll writable before you do a
>> rebaseall.
>> But rebaseall will most likely not help you.
>>> The only way I can change that error message seems to be to reinstall
>>> that package using setup, but then another dll in complains and then
>>> another one etc. Will it ever stop?
>> rebaseall will not rebase your own new cpan modules. Only perlrebase will.
>> And there might be conflicts.
>> I experience the same problem daily, on Win7 and ASLR only. WinXP is
>> fine for me.
>> You can try different perlrebase baseaddresses.
>> I'm trying now to turn off ASLR: peflags -d0 for all perl dll's.
> Yes. Adding a -d0 solved so far the problems on Win7 for me.
> diff -u /usr/bin/perlrebase~ /usr/bin/perlrebase
> --- /usr/bin/perlrebase~        2010-11-27 10:13:07.806866000 +0100
> +++ /usr/bin/perlrebase 2010-12-01 07:50:13.843953700 +0100
> @@ -39,5 +39,5 @@
> /usr/bin/rebase -v -b $baseaddr -T rebase$suff.lst
> -[ -e /usr/bin/peflags.exe ] && /usr/bin/grep .dll rebase$suff.lst |
> /usr/bin/peflags -d -T - >/dev/null
> +[ -e /usr/bin/peflags.exe ] && /usr/bin/grep .dll rebase$suff.lst |
> /usr/bin/peflags -d0 -T - >/dev/null
> /usr/bin/cat rebase$suff.lst | /usr/bin/xargs chmod g-w

Reini, this diff implies that the version of perlrebase I have is out of date since it doesn't use peflags anywhere.  I also found an old post from back in July where you stated that its "baseaddr=0x5400000" is missing a 0, suggesting it is at least that old.

Where do I get an updated perlrebase?  I've tried performing updates from the latest released cygwin installer (no snapshots), but I still have what appears to be an outdated version.

Perhaps this is part of my current cpan/rebase hell....

Marco Moreno

Problem reports:
Unsubscribe info:

More information about the Cygwin mailing list