Subject: Re: Cygwin Dlls
From: Brian Dessent <[email-masked]>
To: [email-masked]
Date: Fri, 25 Mar 2005 00:09:56 -0800

Ravi Prasad wrote:

>    I am using cygwin for tinyos. I installed
> Tinyos1.1.0 in directory C:\tinyos\ and later upgraded
> to 1.1.7. I have installed arm-gcc from
> http://www.gnuarm.com/bu-2.15_gcc-3.4.3-c-c++-java_nl-1.12.0_gi-6.1.exe
> 
> to the directory C:\tinyos\cygwin\arm-gcc\GNUARM
> 
> Now the problem starts:
> 1. When I tried to compile a C program by arm-elf-gcc
> it gave error
> "The procedure entry point__argz_count could not be
> located in the dynamic linked library cygwin1.dll"
> 
> 2. I replaced C:\tinyos\cygwin\bin\cygwin1.dll by
> C:\tinyos\cygwin\arm-gcc\GNUARM\bin\cygwin1.dll and
> also deleted
> C:\tinyos\cygwin\arm-gcc\GNUARM\bin\cygwin1.dll . Now
> the program compiled if I compiled it from the
> directory C:\tinyos\cygwin\arm-gcc\GNUARM\bin. From
> other directory it gave error
> "The procedure entry point
> libconv_set_relocation_prefix could not be located in
> the dynamic linked library cygiconv-2.dll".
> 
> **At this point the uisp command to uplaod a program
> started hanging indefinetly.
> 
> 3. Finally I moved all dll in
> C:\tinyos\cygwin\arm-gcc\GNUARM\bin\ to
> C:\tinyos\cygwin\bin\. Now I can compile from any
> place but uisp still hangs.
> 
> Can any one please suggest the exact way of using dlls
> so that I can use the arm-gcc as like avr-gcc in
> tinyos

All of this is off-topic for this list.  Cygwin only has the resources
to support the Cygwin distribution you get when you use the official
setup.exe from cygwin.com.  Many third parties package Cygwin in many
different ways (often very poorly) and there is no way for this list to
be able to support any of them.

The error that you're getting ("The procedure entry point could not be
found...") in indicative of an .exe that was compiled/linked against a
version of that DLL that is newer than the version that's being found. 
It usually happens when you have two copies of the same DLL, one a very
much older revision than the other.  If the old one is found first in
the search order, it will be used first and it will not have the symbols
that the .exe requires.  Whenever you get that message, find all copies
of the named DLL and delete all but the most recent version (you may
have to use some tools to find out what version the DLL is.)  Then make
sure that version is found for all .exes that need it -- usually by
putting it in the path.

But again... if you didn't install it with setup.exe from cygwin.com,
you should be asking elsewhere, such as the place that made whatever
distribution you're using.

Brian

--
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/