avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[avr-gcc-list] avrdude on cygwin


From: Ruud Vlaming
Subject: [avr-gcc-list] avrdude on cygwin
Date: Wed, 19 Nov 2008 00:08:19 +0100
User-agent: KMail/1.9.1

I have a problem compiling the avrdude 5.5 on the
latest cygwin. With
  ../avr-libc-$LIBC_VERSIE/configure --prefix=$PREFIX 
--build=`../avr-libc-$LIBC_VERSIE/config.guess` --host=avr
  make && make install

it returns (after some work) with:

In file included from lexer.c:990:
/usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../i686-pc-mingw32/include/unistd.h:37:
 error: conflicting types for 'usleep'
../avrdude-5.5/avrdude.h:50: error: previous declaration of 'usleep' was here

make[2]: *** [libavrdude_a-lexer.o] Error 1

The reason is pretty obvious, the unistd.h file is included which
contains the definition:
  int __cdecl __MINGW_NOTHROW usleep(useconds_t useconds);

whereas avrdude.h contains
  void usleep(unsigned long us);

As does btw, the file ppiwin.c:
  void usleep(unsigned long us)
  {  int has_highperf;
      LARGE_INTEGER freq,start,stop,loopend;
      // workaround: although usleep is very precise if using 
     ...

Although it is not hard to fix (just temporarily alter the file unistd.h 
to a suitable definition, [tested]) it is not a very nice way for an 
install script.  How could avrdude be patched so that is compiles 
under cygwin?  Or should it be patched at all? Like to hear your 
comments.

Ruud





reply via email to

[Prev in Thread] Current Thread [Next in Thread]