[Nut-upsdev] problem with compiling on Cygwin64

Charles Lepple clepple at gmail.com
Sun Nov 1 14:36:30 UTC 2015

On Oct 24, 2015, at 12:11 PM, Walter Literowich <wliterow at gmail.com> wrote:
> Making all in drivers
> make[1]: Entering directory '/cygdrive/c/nut/drivers'
> gcc -g -O2 -Wall -Wsign-compare    usbhid-ups.c   -o usbhid-ups
> In file included from usbhid-ups.c:32:0:
> main.h:4:20: fatal error: common.h: No such file or directory
> #include "common.h"

How are you invoking "make"? It is almost like some of the Makefile variables and rules are being ignored. The usbhid-ups binary gets built from many different source files, so the default make rule for "%: %.c" will not work.

As you have probably gathered, we don't regularly build NUT against Cygwin. If there is an easy way to cross-compile, I am open to that idea, but until then, we will need your help debugging this.

To figure out what settings might be causing this difference, you might want to compare your config.log and build log against the NUT Buildbot on various Linux systems:



The "stdio" links show a transcript of the commands, with the actual commands in blue at the top. "make distcheck-light" stages the build into a subdirectory, which is why the source paths all have "../" components.

If Cygwin64 is not compatible with the versions of auto* that were used to generate the ./configure script and the Makefile.am/.in files, might also be necessary for you to install automake, autoconf, and libtool to regenerate them. After installing, you can run "./autogen.sh" in the top level of the NUT directory. Details: http://www.networkupstools.org/docs/developer-guide.chunked/ar01s03.html#building

Charles Lepple
clepple at gmail

More information about the Nut-upsdev mailing list