delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2010/07/06/16:49:31

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: <AANLkTinRaj3IhgrE9a0LPFeFM1Sv6vl5RRTqg8GPmRXf@mail.gmail.com>
Subject: Re: rebaseall failure/perlrebase conflict? [+ perlrebase PATCH]
From: Reini Urban <rurban AT x-ray DOT at>
To: cygwin AT cygwin DOT com
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019