This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: rebase, perl


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.
http://cygwin.com/ml/cygwin/2010-07/msg00146.html

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:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]