bug-gnulib
[Top][All Lists]
Advanced

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

Re: uname: build problem on win32


From: Bruno Haible
Subject: Re: uname: build problem on win32
Date: Sat, 8 Aug 2009 09:14:22 +0200
User-agent: KMail/1.9.9

Sam Steingold wrote:
> In file included from 
> /cygdrive/c/sds/dev/current/modules/syscalls/gllib/gethostname.c:83:
> /cygdrive/c/sds/dev/current/modules/syscalls/gllib/w32sock.h: In function 
> `set_winsock_errno':
> /cygdrive/c/sds/dev/current/modules/syscalls/gllib/w32sock.h:34: warning: 
> implicit declaration of function `WSAGetLastError'
> /cygdrive/c/sds/dev/current/modules/syscalls/gllib/w32sock.h:35: warning: 
> implicit declaration of function `WSASetLastError'
> /cygdrive/c/sds/dev/current/modules/syscalls/gllib/w32sock.h:40: error: 
> `WSA_INVALID_HANDLE' undeclared (first use in this function)

For comparison, when I do
  ./gnulib-tool --create-testdir --dir=/tmp/testdir mktime strftime strptime 
uname
and build the resulting testdir on mingw, the compilation of gethostname.c works
fine, because the generated unistd.h contains these lines:

#if 1
/* Get all possible declarations of gethostname().  */
# if 1
#  include <winsock2.h>

It would be worth trying to not --avoid=unistd in the modules subdirectories.
This should lead to a different <unistd.h> being generated for the module
subdirectory than for the clisp core, but a more complete one.

More generally, you want to use --avoid for modules which generate code,
and where duplicate functions in different .o files would lead to linker
errors. But you may want to omit --avoid for modules which only provide
autoconf macros and header files. Among your list

GNULIB_CORE = no-c++ stdint stdbool unistd havelib gettext localcharset \
        uniwidth/width streq uniname/uniname unitypes link-follow \
        nocrash libsigsegv gnu-make gettimeofday getpagesize sys_time
GNULIB_MODULES = alloca-opt alloca extensions include_next verify string \
        mbsinit wchar wctype mbrtowc mbsrtowcs memmove memcmp memchr
GNULIB_COMMON = $(GNULIB_CORE) $(GNULIB_MODULES)

these are:
  stdint stdbool unistd havelib unitypes nocrash gnu-make sys_time
  extensions include_next verify string wchar wctype

I can't give more specific instructions other than "you may want to omit
--avoid" for these modules; you have to try keeping or removing the
corresponding --avoid option one by one.

> when I do "make syscalls" again, I get this:
> 
> make[2]: Entering directory 
> `/cygdrive/c/sds/dev/current/build-mingw-1/syscalls/gllib'
> .deps/close-hook.Po:1: *** multiple target patterns.  Stop.

This is most probably unrelated to gnulib. You need to look at
.deps/close-hook.Po and, if that contents is wrong, complain to the
bug-automake list.

Bruno




reply via email to

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