delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2003/02/17/17:36:45

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-Injected-Via-Gmane: http://gmane.org/
To: cygwin AT cygwin DOT com
From: John Williams <jwilliams AT itee DOT uq DOT edu DOT au>
Subject: Re: Obtaining a pervious version
Date: Tue, 18 Feb 2003 08:36:19 +1000
Lines: 101
Message-ID: <3E5163E3.7000605@itee.uq.edu.au>
References: <3E5024EE DOT 400 AT itee DOT uq DOT edu DOT au> <20030217145707 DOT GA3647 AT redhat DOT com> <3E51599B DOT 5090301 AT itee DOT uq DOT edu DOT au> <001401c2d6d0$6102a4a0$78d96f83 AT pomello>
Mime-Version: 1.0
X-Complaints-To: usenet AT main DOT gmane DOT org
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:0.9.9) Gecko/20020311
X-Accept-Language: en-us, en

Max Bowsher wrote:
> John Williams wrote:
> 
>>They have a cross compiler that uses the cygwin compatability layer.
>>They have modified and distribute a version of this layer, which is
>>built upon cygwin1.dll version 1.3.13.  However, they distribute with
>>their tools only a minimal subset of cygwin necessary for their tools
>>to run.  However, in the project I am doing I need not only the 3rd
>>party cross compiler, but also native gcc and binutils etc.
>>
>>However, simply running the 3rd party tools under the current cygwin
>>release does not work (versioning errors),

> Details?

OK, here it goes.  EDK is the 3rd part tool set.  They distribute 
(binary and source) a modified version of cygwin they call Xygwin (with 
xygwin1.dll and so on).  I suspect this is part of the problem.

Starting point
? 
Fresh install of Cygwin 1.3.20 into c:/cygwin
? 
Fresh install of EDK SP3 into c:/EDK

At this stage, the EDK toolchain is in the path for both Xygwin and 
Cygwin (i.e. c:/EDK/gnu/powerpc/bin/nt and c:/EDK/gnu/microblaze/bin/nt).

Initial testing
? 
EDK/Xygwin works fine
o 
Binaries executing from /usr/bin, which maps to c:/EDK/xygwin/bin

? 
Cygwin works fine
o 
make, gcc, etc
o 
Executing from /usr/bin, which is mapped to c:/cygwin/ bin

Running Cygwin binaries from within Xygwin:
? 
gcc ? not found
? 
Add cygwin bin to the path
o 
export PATH=${PATH}:/xygdrive/c/cygwin/bin
? 
running gcc results in
o 
c:\cygwin\bin\gcc.exe: *** proc version mismatch detected - 
xB3836013/0x8E0899FA.
You have multiple copies of cygwin1.dll on your system.
Search for cygwin1.dll using the Windows Start->Find/Search facility and 
delete all but the most recent version.  The most recent version 
*should* reside in x:\cygwin\bin, where 'x' is the drive on which you 
have installed the cygwin distribution.

Running EDK binaries from within Cygwin:
? 
Running mb-gcc results in a Windows dialog box stating
o 
This application has failed to start because xygwin1.dll was not found. 
  Re-installing the application may fix this problem.
? 
Adding xygwin/bin to the path, and re-running gives
o 
c:\EDK\gnu\microblaze\nt\bin\mb-gcc.exe: *** proc version mismatch 
detected - 0x8E0899FA/0xB3836013.
You have multiple copies of cygwin1.dll on your system.
Search for cygwin1.dll using the Windows Start->Find/Search facility and 
delete all but the most recent version.  The most recent version 
*should* reside in x:\cygwin\bin, where 'x' is the drive on which you 
have installed the cygwin distribution.

Clearly, there is a version mismatch between Xygwin and Cygwin 1.3.20. 
Checking version info on Xygwin1.dll reveals that Xygwin is built upon 
Cygwin v1.3.13.  This is the source of the versioning error.

New strategy ? accept the versioning differences, and try to fool 
Cygwin/Xygwin into finding the right DLLs.  Approach:
? 
Copy c:/cywgin/bin/cygwin1.dll ? c:/cygwin/bin/xygwin1.dll, and
? 
c:/EDK/xywgin/bin/xygwin1.dll ? c:/EDK/xygwin/bin/cygwin1.dll

(Note that ?cross-copying? cygwin1.dll from cygwin to Xygwin, and 
xygwin1.dll to Cygwin, won?t work because of the versioning differences 
described above)

After duplicating the DLLs, running mb-gcc inside Cygwin no longer gives 
an error message, but instead it fails silently.  For example, ?mb-gcc 
?c system.c? runs without error, but does not produce system.o.

You asked for details!!  If anyone read this far they are a champion.

Thanks,

John



--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


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