X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-0.5 required=5.0 tests=AWL,BAYES_20,DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM,TW_SV,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org MIME-Version: 1.0 Date: Tue, 6 Jul 2010 22:49:14 +0200 Message-ID: Subject: Re: rebaseall failure/perlrebase conflict? [+ perlrebase PATCH] From: Reini Urban To: cygwin AT cygwin DOT com Content-Type: text/plain; charset=ISO-8859-1 X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com 2010/7/5 Matthias Andree: > Trying to run rebase fails for me. It rebases a truckload full of dlls, > then: > > /usr/lib/parrot/2.3.0/dynext/rational.dll: new base = 5f640000, new size = > 20000 > /usr/lib/parrot/2.3.0/dynext/subproxy.dll: new base = 5f620000, new size = > 20000 > ReBaseImage > (/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Image/Magick/Magick.dll) > failed with last error = 6 > > And sure enough, no write permission on the file (I had previously run) > > $ ls -l > /usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Image/Magick/Magick.dll > -r-xr-xr-x 1 mandree root 284686 2010-05-03 16:14 > /usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Image/Magick/Magick.dll > > #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 AT 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 @@ #!/bin/sh suff=$1 suff=${suff:=5.10.1} -baseaddr=0x5400000 +baseaddr=0x54000000 perl=/usr/local/bin/perl$suff.exe if [ ! -f $perl ]; then perl=/usr/bin/perl$suff.exe -- Reini Urban http://phpwiki.org/ http://murbreak.at/ -- 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