[Top][All Lists]
[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
- [avr-gcc-list] avrdude on cygwin,
Ruud Vlaming <=