This is the mail archive of the
mailing list for the Cygwin project.
Re: rebaseall failure/perlrebase conflict? [+ perlrebase PATCH]
- From: Reini Urban <rurban at x-ray dot at>
- To: cygwin at cygwin dot com
- Date: Tue, 6 Jul 2010 22:49:14 +0200
- Subject: Re: rebaseall failure/perlrebase conflict? [+ perlrebase PATCH]
2010/7/5 Matthias Andree:
> Trying to run rebase fails for me. It rebases a truckload full of dlls,
> /usr/lib/parrot/2.3.0/dynext/rational.dll: new base = 5f640000, new size =
> /usr/lib/parrot/2.3.0/dynext/subproxy.dll: new base = 5f620000, new size =
> failed with last error = 6
> And sure enough, no write permission on the file (I had previously run)
> $ ls -l
> -r-xr-xr-x 1 mandree root 284686 2010-05-03 16:14
> #1 why would rebaseall fail here? perlrebase succeeds, and peflags either
> doesn't touch this, or doesn't fail either.
Because rebaseall doesn't know about special read-only permissions,
and so doesn't try to fix it. For perl dll's I do know, so perlrebase
does a chmod +w before and chmod -w after.
>> #2 I'm a bit worried that I am the owner rather than "Administrator", I
> guess this is an artifact of the Win7 UAC.
I don't think so.
> I had started a CMD.EXE as administrator and launched ash there.
You can try to use the sudo trick, i.e ssh Administrator@localhost
> $ uname -a
> CYGWIN_NT-6.1 COMPUTER 1.7.5(0.225/5/3) 2010-04-12 19:07 i686 Cygwin
> (The whole story started when - again - after an upgrade "git svn rebase"
> would fail loading Perl DLLs to the same address. This is a nuisance.)
Yes, it is.
BTW: I found a stupid mistake in /usr/bin/perlrebase, missing a zero
in the base address.
0x540 0000 is way too low.
--- bin/perlrebase~ 2010-02-28 14:25:23.000000000 +0100
+++ bin/perlrebase 2010-06-07 18:49:49.203125000 +0200
@@ -1,7 +1,7 @@
if [ ! -f $perl ]; then
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple