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