delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2011/01/11/07:47:51

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-1.2 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE
X-Spam-Check-By: sourceware.org
Message-ID: <4D2C5167.3030805@x-ray.at>
Date: Tue, 11 Jan 2011 13:47:35 +0100
From: Reini Urban <rurban AT x-ray DOT at>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.16) Gecko/20101123 SeaMonkey/2.0.11
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Re: perl module .dll rebasing issues
References: <4D2C42B1 DOT 4070708 AT cpan DOT org>
In-Reply-To: <4D2C42B1.4070708@cpan.org>
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

Rafael Kitover schrieb:
> Hello, it seems the 'perlrebase' script does not fix my DLL mapping
> errors that I see when trying to install modules from the CPAN shell.
>
> This is what I see:
>
> CPAN.pm: Going to build A/AR/ARCANEZ/DBIx-Class-0.08126.tar.gz
>
> 3 [main] perl 3164 C:\cygwin\bin\perl.exe: *** fatal error - unable to
> remap \\?\C:\cygwin\lib\perl5\5.10
> \i686-cygwin\auto\Cwd\Cwd.dll to same address as parent: 0x9C0000 !=
> 0x5780000
> Stack trace:
> Frame Function Args
> 0088B0F8 6102749B (0088B0F8, 00000000, 00000000, 00000000)
> 0088B3E8 6102749B (61177B80, 00008000, 00000000, 61179977)
> 0088C418 61004AFB (611A136C, 6123EC6C, 009C0000, 05780000)
> End of stack trace
>
> After running perlrebase, I get the same exact result.

You probably are using the old perlrebase.
I think I'll have to update the package now.

> I also tried closing all cygwin processes, going into cmd.exe and then:
>
> cd \cygwin\bin
> ash
> ./find /usr/lib/perl5 -name '*.dll' > perl_dlls.txt
> ./rebaseall -T ./perl-dlls.txt
>
> but this doesn't help either.

This is not so good.
Either use rebaseall or perlrebase.
perlrebase only in case of perl dll's.

perlrebase rebases itself upwards from 0x5700 0000, and
rebaseall rebases all official dlls downwards from 0x7000 0000,
so that there is no clash.
You forgot to rebase the most important /bin/cygperl5_10.dll

Please check your /bin/perlrebase if the peflags -D0 is already enabled.
On Vista and Win7 esp. with 64 bit we need to disable ASLR (address 
space layout randomization) for all perl dlls as it is too fragile.

See http://sourceware.org/ml/cygwin/2010-12/msg00091.html

> I am running the latest cygwin (installed today) on Windows 7 64 bit on
> an eeebox eb1012 (nvidia ION chipset.)
-- 
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