Mail Archives: cygwin/2003/02/17/17:36:45
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 -