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 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> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 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 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