delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2004/02/18/15:46:37

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/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
X-Originating-IP: [208.54.143.1]
X-Originating-Email: [rkitover AT hotmail DOT com]
X-Sender: rkitover AT hotmail DOT com
From: "Rafael Kitover" <caelum AT debian DOT org>
To: "'cygwin-list'" <cygwin AT cygwin DOT com>
Cc: "'Tino Lange'" <tino DOT lange AT isg DOT de>
Subject: RE: problem extending perl-5.8.2-1 via CPAN: Storable.dll
Date: Wed, 18 Feb 2004 12:42:48 -0800
MIME-Version: 1.0
In-Reply-To: <403258CF.8030804@isg.de>
Message-ID: <BAY12-DAV14x7DUWpcO0000b25d@hotmail.com>
X-OriginalArrivalTime: 18 Feb 2004 20:42:52.0524 (UTC) FILETIME=[C77622C0:01C3F65F]
Note-from-DJ: This may be spam

------=_NextPart_000_0014_01C3F61C.B70967F0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit

This is an issue related to rebasing DLLs.

There's a "rebaseall" utility in Cygwin to fix this, unfortunately it does not
pick up non-package DLLs, including Perl extensions installed from CPAN shell.
I've made some changes to that script so that it does...which reminds me I need
to send out a patch, or something. Anyway, my "rebaseall" script is attached.
To run it, close any all Cygwin processes, open a bash shell, and run it.

HTH

-- 
Rafael

>-----Original Message-----
>From: Tino Lange
>Sent: Tuesday, February 17, 2004 10:09 AM
>To: The Cygwin Mailing List
>Subject: problem extending perl-5.8.2-1 via CPAN: Storable.dll
>
>Gerrit P. Haase wrote:
>> perl-5.8.2-1 release has been uploaded to sourceware
>>                    -- it should be on the mirrors soon.
>
>Hi Gerrit, hi List!
>
>I have a problem updating modules within the CPAN Shell. Perl itself
>crashes due to problems with Storable.dll?
>
>> cpan> install Mail::SpamAssassin
>> Running install for module Mail::SpamAssassin
>> Running make for F/FE/FELICITY/Mail-SpamAssassin-2.63.tar.gz
>> CPAN: Digest::MD5 loaded ok
>> CPAN: Compress::Zlib loaded ok
>> Checksum for /home/Tino/.cpan/sources/authors/id/F/FE/FELICITY/Mail-
>SpamAssassin-2.63.tar.gz ok
>> Scanning cache /home/Tino/.cpan/build for sizes
>> C:\cygwin\bin\perl.exe (3080): *** unable to remap
>C:\cygwin\lib\perl5\5.8.2\cygwin-thread-multi-64int\auto\Storable\Storable.dll
>to same address as parent(0xCE0000) != 0x1200000
>>       4 [main] perl 3168 sync_with_child: child 3080(0x6B0) died before
>initialization with status code 0x1
>>    6993 [main] perl 3168 sync_with_child: *** child state child loading dlls
>
>Can you give me a hint?
>I have searched the mailing list and the web for appropiate keywords,
>but I couldn't find a solution there.
>
>Attaches is a cygcheck.out. Please let me know if you need more information.
>
>Please always CC to me, since I'm not on the list.
>
>Thanks for your help!
>
>Tino

------=_NextPart_000_0014_01C3F61C.B70967F0
Content-Type: application/octet-stream;
	name="rebaseall"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="rebaseall"

#!/bin/bash

#
# Copyright (c) 2003 Jason Tishler
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# A copy of the GNU General Public License can be found at
# http://www.gnu.org/
#
# Written by Jason Tishler <jason AT tishler DOT net>
#
# $Id: rebaseall,v 1.3 2003/02/07 19:39:33 jt Exp $
#

# Define constants
ProgramName=3D$(basename $0)
ProgramOptions=3D'b:o:v'
DefaultBaseAddress=3D0x70000000
DefaultOffset=3D0x10000
DefaultVerbose=3D

# Define functions
usage()
{
    echo "usage: $ProgramName [-b BaseAddress] [-o Offset] [-v]"
    exit 1
}

cleanup()
{
    rm -f $TmpFile
    exit 0
}

# Set traps
trap cleanup HUP INT TERM

# Set defaults
BaseAddress=3D$DefaultBaseAddress
Offset=3D$DefaultOffset
Verbose=3D$DefaultVerbose

# Parse command line arguments
while getopts $ProgramOptions Option $*
do
    case $Option in
    b)
	BaseAddress=3D$OPTARG;;
    o)
	Offset=3D$OPTARG;;
    v)
	Verbose=3D-v;;
    \?)
	usage;;
    esac
done

# Set temp directory
TmpDir=3D${TMP:-${TEMP:-/tmp}}

# Validate temp directory
if [ ! -d $TmpDir ]
then
    echo "$ProgramName: $TmpDir is not a directory"
    exit 2
fi
if [ ! -w $TmpDir ]
then
    echo "$ProgramName: $TmpDir is not writable"
    exit 2
fi

# Set temp file
TmpFile=3D$TmpDir/rebase.lst

# Create rebase list
# FIXME: Remove ugly Apache hack ASAP
zcat /etc/setup/*.lst.gz | grep 'dll$' |
    sed -e '/cygwin1.dll$/d' -e 's/^/\//' -e 's/apache\/new/apache/' >$TmpF=
ile

# Try to find a good chunk of any non-package .dlls
find /usr/local /usr/lib/perl5/site_perl /lib/python*/site-packages /instal=
l \
     /home /opt \
	-name '*.dll' 2>/dev/null >>$TmpFile

# Get rid of duplicates
sort -o ${TmpFile}.$$ -u $TmpFile
mv ${TmpFile}.$$ $TmpFile

# Set perl libs writable for rebase
grep perl5 $TmpFile | xargs -i chmod u+w {}

# Rebase files
rebase $Verbose -d -b $BaseAddress -o $Offset -T $TmpFile

# Reset perl libs to read-only
grep perl5 $TmpFile | xargs -i chmod u-w {}

# Clean up
cleanup


------=_NextPart_000_0014_01C3F61C.B70967F0
Content-Type: text/plain; charset=us-ascii

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/
------=_NextPart_000_0014_01C3F61C.B70967F0--

- Raw text -


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