unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
* Guile with win32 cross compiling
@ 2011-03-26 22:06 Volker Grabsch
  2011-04-01 10:38 ` Andy Wingo
  0 siblings, 1 reply; 21+ messages in thread
From: Volker Grabsch @ 2011-03-26 22:06 UTC (permalink / raw)
  To: Mike Gran; +Cc: bug-guile, guile-devel

[-- Attachment #1: Type: text/plain, Size: 1169 bytes --]

Hello Mike,

I just tried again to cross compile a win32 version of guile, using
the latest 2.0.0 release. My last attempt in April 2010 failed.

Much has been improved since then, but there are still fatal
errors, so I still can't support guile-2 in mingw-cross-env. [1]


1)

The first issue is the "#include <uniconv.h>" in gen-scmconfig,
which has already been discussed in the past and for which I
already provided a clean, working solution. I forward-ported
my patch to guile-2.0.0 and it seems to work. This patch is
attached to this email, please consider applying it.

Also attached is a build log created by mingw-cross-env showing
how far the cross build gets with this patch.


2)

The other open issue is also a known one: the missing mmap()
function under Windows. After some research, I found a promising
mmap()/munmap() implementation for Windows in a free software
project:

http://code.google.com/p/flvmeta/source/browse/trunk/src/mmap.h?r=74
http://code.google.com/p/flvmeta/source/browse/trunk/src/mmap.c?r=74

Maybe this is worth integrating into guile?



Greets,
Volker


[1] http://mingw-cross-env.nongnu.org/

-- 
Volker Grabsch
---<<(())>>---

[-- Attachment #2: guile-1-fix-gen-scmconfig-for-cross-compiling.patch --]
[-- Type: text/x-diff, Size: 1646 bytes --]

This file is part of mingw-cross-env.
See doc/index.html for further information.

--- a/libguile/Makefile.am
+++ b/libguile/Makefile.am
@@ -57,8 +57,8 @@ gen_scmconfig_SOURCES = gen-scmconfig.c
 gen-scmconfig.$(OBJEXT): gen-scmconfig.c
 	$(AM_V_GEN)							\
 	if [ "$(cross_compiling)" = "yes" ]; then			\
-		$(CC_FOR_BUILD) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES)	\
-		  $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)	\
+		$(CC_FOR_BUILD) $(DEFS) $(DEFAULT_INCLUDES)		\
+	          -DBUILDING_LIBGUILE=1 -I$(top_srcdir) -I$(top_builddir)	\
 	          -c -o $@ $<;						\
 	else								\
 		$(COMPILE) -c -o $@ $<;					\
--- a/libguile/gen-scmconfig.c
+++ b/libguile/gen-scmconfig.c
@@ -123,7 +123,6 @@
 
 #include <stdio.h>
 #include <string.h>
-#include <uniconv.h>
 
 #define pf printf
 
@@ -143,6 +142,7 @@ main (int argc, char *argv[])
     pf ("#include <stdint.h>\n");
   if (SCM_I_GSC_NEEDS_INTTYPES_H)
     pf ("#include <inttypes.h>\n");
+  pf ("#include <uniconv.h>\n");
 
 #ifdef HAVE_LIMITS_H
   pf ("#include <limits.h>\n");
@@ -379,11 +379,9 @@ main (int argc, char *argv[])
 
   pf ("\n");
   pf ("/* Constants from uniconv.h.  */\n");
-  pf ("#define SCM_ICONVEH_ERROR %d\n", (int) iconveh_error);
-  pf ("#define SCM_ICONVEH_QUESTION_MARK %d\n", 
-      (int) iconveh_question_mark);
-  pf ("#define SCM_ICONVEH_ESCAPE_SEQUENCE %d\n",
-      (int) iconveh_escape_sequence);  
+  pf ("#define SCM_ICONVEH_ERROR ((int) iconveh_error)\n");
+  pf ("#define SCM_ICONVEH_QUESTION_MARK ((int) iconveh_question_mark)\n");
+  pf ("#define SCM_ICONVEH_ESCAPE_SEQUENCE ((int) iconveh_escape_sequence)\n");
 
   printf ("#endif\n");
 

[-- Attachment #3: guile.log --]
[-- Type: text/plain, Size: 53309 bytes --]

make[1]: Entering directory `/home/vog/mingw-cross-env'
rm -rf   '/home/vog/mingw-cross-env/tmp-guile'
mkdir -p '/home/vog/mingw-cross-env/tmp-guile'
cd '/home/vog/mingw-cross-env/tmp-guile' &&  tar xzf '/home/vog/mingw-cross-env/pkg/guile-2.0.0.tar.gz'
cd '/home/vog/mingw-cross-env/tmp-guile/guile-2.0.0'
(cd '/home/vog/mingw-cross-env/tmp-guile/guile-2.0.0' && patch -p1 -u) < ./src/guile-1-fix-gen-scmconfig-for-cross-compiling.patch
patching file libguile/Makefile.am
patching file libguile/gen-scmconfig.c
cd '/home/vog/mingw-cross-env/tmp-guile/guile-2.0.0' && autoreconf
autoreconf: configure.ac: AM_GNU_GETTEXT is used, but not AM_GNU_GETTEXT_VERSION
cd '/home/vog/mingw-cross-env/tmp-guile/guile-2.0.0' && libtoolize --force
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `build-aux'.
libtoolize: linking file `build-aux/ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
libtoolize: linking file `m4/libtool.m4'
libtoolize: linking file `m4/ltoptions.m4'
libtoolize: linking file `m4/ltsugar.m4'
libtoolize: linking file `m4/ltversion.m4'
libtoolize: linking file `m4/lt~obsolete.m4'
cd '/home/vog/mingw-cross-env/tmp-guile/guile-2.0.0' && ./configure --host='i686-pc-mingw32' --prefix='/home/vog/mingw-cross-env/usr/i686-pc-mingw32' --disable-shared --without-threads
configure: WARNING: if you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for i686-pc-mingw32-strip... i686-pc-mingw32-strip
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... i686-pc-mingw32
checking for i686-pc-mingw32-as... i686-pc-mingw32-as
checking for i686-pc-mingw32-dlltool... i686-pc-mingw32-dlltool
checking for i686-pc-mingw32-objdump... i686-pc-mingw32-objdump
checking for i686-pc-mingw32-gcc... i686-pc-mingw32-gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.exe
checking for suffix of executables... .exe
checking whether we are cross compiling... yes
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether i686-pc-mingw32-gcc accepts -g... yes
checking for i686-pc-mingw32-gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of i686-pc-mingw32-gcc... gcc3
checking for i686-pc-mingw32-ranlib... i686-pc-mingw32-ranlib
checking whether i686-pc-mingw32-gcc and cc understand -c and -o together... yes
checking how to run the C preprocessor... i686-pc-mingw32-gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for i686-pc-mingw32-gcc option to accept ISO C99... -std=gnu99
checking for i686-pc-mingw32-gcc -std=gnu99 option to accept ISO Standard C... (cached) -std=gnu99
configure: autobuild project... GNU Guile
configure: autobuild revision... 2.0.0
configure: autobuild hostname... dev1
configure: autobuild timestamp... 20110326T211345Z
checking how to run the C preprocessor... i686-pc-mingw32-gcc -E
checking for a sed that does not truncate output... /bin/sed
checking for gawk... (cached) gawk
checking for inline... inline
checking whether the preprocessor supports include_next... yes
checking whether system header files limit the line length... no
checking for sys/socket.h... no
checking for arpa/inet.h... no
checking for features.h... no
checking for sys/param.h... yes
checking for xlocale.h... no
checking for unistd.h... (cached) yes
checking for netdb.h... no
checking for netinet/in.h... no
checking for iconv.h... yes
checking for math.h... yes
checking for sys/mman.h... no
checking for sys/time.h... yes
checking for stdint.h... (cached) yes
checking for wchar.h... yes
checking for strings.h... (cached) yes
checking for sys/file.h... yes
checking for sys/stat.h... (cached) yes
checking whether <sys/socket.h> is self-contained... no
checking ws2tcpip.h usability... yes
checking ws2tcpip.h presence... yes
checking for ws2tcpip.h... yes
checking for struct sockaddr_storage... yes
checking for sa_family_t... no
checking for struct sockaddr_storage.ss_family... yes
checking winsock2.h usability... yes
checking winsock2.h presence... yes
checking for winsock2.h... yes
checking whether socket is declared without a macro... no
checking whether connect is declared without a macro... no
checking whether accept is declared without a macro... no
checking whether bind is declared without a macro... no
checking whether getpeername is declared without a macro... no
checking whether getsockname is declared without a macro... no
checking whether getsockopt is declared without a macro... no
checking whether listen is declared without a macro... no
checking whether recv is declared without a macro... no
checking whether send is declared without a macro... no
checking whether recvfrom is declared without a macro... no
checking whether sendto is declared without a macro... no
checking whether setsockopt is declared without a macro... no
checking whether shutdown is declared without a macro... no
checking whether accept4 is declared without a macro... no
checking for working alloca.h... no
checking for alloca... yes
checking for canonicalize_file_name... no
checking for getcwd... yes
checking for readlink... no
checking for realpath... no
checking for duplocale... no
checking for flock... no
checking for fcntl... no
checking for lstat... no
checking for mprotect... yes
checking for memchr... yes
checking for pathconf... no
checking for tzset... yes
checking for localtime_r... no
checking for vasnprintf... no
checking whether // is distinct from /... unknown, assuming no
checking whether realpath works... guessing no
checking for wchar_t... yes
checking whether NULL can be used in arbitrary expressions... yes
checking whether locale.h conforms to POSIX:2001... no
checking whether setlocale is declared without a macro... yes
checking whether duplocale is declared without a macro... no
checking if environ is properly declared... no
checking for complete errno.h... no
checking for EMULTIHOP value... no
checking for ENOLINK value... no
checking for EOVERFLOW value... no
checking whether getaddrinfo is declared without a macro... no
checking whether freeaddrinfo is declared without a macro... no
checking whether gai_strerror is declared without a macro... no
checking whether getnameinfo is declared without a macro... no
checking for library containing gethostbyname... no
checking for gethostbyname... no
checking for gethostbyname in winsock2.h and -lws2_32... yes
checking for library containing getservbyname... no
checking for getservbyname... no
checking for getservbyname in winsock2.h and -lws2_32... yes
checking for IPv4 sockets... yes
checking for IPv6 sockets... yes
checking for C/C++ restrict keyword... __restrict
checking for library containing inet_ntop... no
checking for inet_ntop... no
checking whether inet_ntop is declared... no
checking for ld used by GCC... /home/vog/mingw-cross-env/usr/i686-pc-mingw32/bin/ld
checking if the linker (/home/vog/mingw-cross-env/usr/i686-pc-mingw32/bin/ld) is GNU ld... yes
checking for shared library run path origin... done
checking for iconv... yes
checking for working iconv... guessing yes
checking how to link with libiconv... /home/vog/mingw-cross-env/usr/i686-pc-mingw32/lib/libiconv.a
checking for iconv declaration... 
         extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
checking whether byte ordering is bigendian... no
checking where to find the exponent in a 'float'... word 0 bit 23
checking whether isnan(float) can be used without linking with libm... yes
checking whether isnan(float) works... guessing yes
checking whether isnan(double) can be used without linking with libm... yes
checking whether isnan(long double) can be used without linking with libm... yes
checking whether isnanl works... guessing no
checking where to find the exponent in a 'long double'... unknown
checking for libunistring... yes
checking how to link with libunistring... /home/vog/mingw-cross-env/usr/i686-pc-mingw32/lib/libunistring.a -L/home/vog/mingw-cross-env/usr/i686-pc-mingw32/lib /home/vog/mingw-cross-env/usr/i686-pc-mingw32/lib/libiconv.a
checking for libunistring version... 0.9.3
checking whether pow can be used without linking with libm... yes
checking whether lstat correctly handles trailing slash... no
checking whether malloc, realloc, calloc are POSIX compliant... no
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... no
checking for long long int... yes
checking for mmap... no
checking whether memchr works... guessing no
checking bp-sym.h usability... no
checking bp-sym.h presence... no
checking for bp-sym.h... no
checking for ssize_t... yes
checking whether snprintf returns a byte count as in C99... guessing no
checking whether snprintf is declared... yes
checking whether system is Windows or MSDOS... yes
checking whether drive letter can start relative path... yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for unsigned long long int... yes
checking whether C symbols are prefixed with underscore at the linker level... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for struct tm.tm_zone... no
checking whether tzname is declared... yes
checking for tzname... yes
checking for struct tm.tm_gmtoff... no
checking whether memmem is declared without a macro... no
checking whether mempcpy is declared without a macro... no
checking whether memrchr is declared without a macro... no
checking whether rawmemchr is declared without a macro... no
checking whether stpcpy is declared without a macro... no
checking whether stpncpy is declared without a macro... no
checking whether strchrnul is declared without a macro... no
checking whether strdup is declared without a macro... yes
checking whether strncat is declared without a macro... yes
checking whether strndup is declared without a macro... no
checking whether strnlen is declared without a macro... no
checking whether strpbrk is declared without a macro... yes
checking whether strsep is declared without a macro... no
checking whether strcasestr is declared without a macro... no
checking whether strtok_r is declared without a macro... no
checking whether strerror_r is declared without a macro... no
checking whether strsignal is declared without a macro... no
checking whether strverscmp is declared without a macro... no
checking whether strcasecmp is declared without a macro... yes
checking whether strncasecmp is declared without a macro... yes
checking whether stat file-mode macros are broken... no
checking for struct timeval... yes
checking whether gettimeofday is declared without a macro... yes
checking for struct timespec in <time.h>... no
checking for struct timespec in <sys/time.h>... no
checking for struct timespec in <pthread.h>... yes
checking whether localtime_r is declared... no
checking for wint_t... yes
checking for size_t... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for intmax_t... yes
checking for snprintf... yes
checking for strnlen... no
checking for wcslen... yes
checking for wcsnlen... no
checking for mbrtowc... yes
checking for wcrtomb... yes
checking whether _snprintf is declared... yes
checking whether vsnprintf is declared... yes
checking whether <wchar.h> uses 'inline' correctly... yes
checking whether inet_ntop is declared without a macro... no
checking whether inet_pton is declared without a macro... no
checking byteswap.h usability... no
checking byteswap.h presence... no
checking for byteswap.h... no
checking for winsock2.h... (cached) yes
checking for struct flock.l_type... no
checking whether __func__ is available... yes
configure: checking how to do getaddrinfo, freeaddrinfo and getnameinfo
checking for library containing getaddrinfo... no
checking for getaddrinfo... no
checking for getaddrinfo in ws2tcpip.h and -lws2_32... no
checking for gai_strerror (possibly via ws2tcpip.h)... yes
checking for struct sockaddr.sa_len... no
checking whether getaddrinfo is declared... no
checking whether freeaddrinfo is declared... no
checking whether gai_strerror is declared... yes
checking whether getnameinfo is declared... no
checking for struct addrinfo... yes
checking for library containing gethostbyname... (cached) no
checking for gethostbyname... (cached) no
checking for gethostbyname in winsock2.h and -lws2_32... (cached) yes
checking whether iconv supports conversion between UTF-8 and UTF-{16,32}{BE,LE}... yes
checking for library containing inet_ntop... (cached) no
checking for inet_ntop... (cached) no
checking whether inet_ntop is declared... (cached) no
checking for library containing inet_pton... no
checking for inet_pton... no
checking whether inet_pton is declared... no
checking whether the compiler generally respects inline... yes
checking whether isinf is declared... yes
checking whether isinf(long double) works... guessing no
checking whether isnan macro works... no
checking where to find the exponent in a 'float'... (cached) word 0 bit 23
checking where to find the exponent in a 'double'... (cached) word 1 bit 20
checking where to find the exponent in a 'long double'... (cached) unknown
checking whether isnan(double) can be used without linking with libm... (cached) yes
checking whether isnan(float) can be used without linking with libm... (cached) yes
checking whether isnan(float) works... (cached) guessing yes
checking whether isnan(long double) can be used without linking with libm... (cached) yes
checking whether isnanl works... (cached) guessing no
checking where to find the exponent in a 'long double'... (cached) unknown
checking if LD -Wl,--version-script works... yes
checking whether the -Werror option is usable... yes
checking for simple visibility declarations... yes
checking whether locale.h conforms to POSIX:2001... (cached) no
checking whether setlocale is declared without a macro... (cached) yes
checking whether duplocale is declared without a macro... (cached) no
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... (cached) no
checking whether NAN macro works... yes
checking whether HUGE_VAL works... yes
checking whether acosl is declared without a macro... yes
checking whether asinl is declared without a macro... yes
checking whether atanl is declared without a macro... yes
checking whether ceilf is declared without a macro... yes
checking whether ceill is declared without a macro... yes
checking whether cosl is declared without a macro... yes
checking whether expl is declared without a macro... yes
checking whether floorf is declared without a macro... yes
checking whether floorl is declared without a macro... yes
checking whether frexpl is declared without a macro... yes
checking whether ldexpl is declared without a macro... yes
checking whether logb is declared without a macro... yes
checking whether logl is declared without a macro... yes
checking whether round is declared without a macro... yes
checking whether roundf is declared without a macro... yes
checking whether roundl is declared without a macro... yes
checking whether sinl is declared without a macro... yes
checking whether sqrtl is declared without a macro... yes
checking whether tanl is declared without a macro... yes
checking whether trunc is declared without a macro... yes
checking whether truncf is declared without a macro... yes
checking whether truncl is declared without a macro... yes
checking whether getaddrinfo is declared without a macro... (cached) no
checking whether freeaddrinfo is declared without a macro... (cached) no
checking whether gai_strerror is declared without a macro... (cached) no
checking whether getnameinfo is declared without a macro... (cached) no
checking whether <netinet/in.h> is self-contained... no
checking for netinet/in.h... (cached) no
checking for sys/pstat.h... no
checking for sys/sysmp.h... no
checking for sys/param.h... (cached) yes
checking for sys/sysctl.h... no
checking for sched_getaffinity... no
checking for sched_getaffinity_np... no
checking for pstat_getdynamic... no
checking for sysmp... no
checking for sysctl... no
checking for putenv compatible with GNU and SVID... no
checking whether round is declared... (cached) yes
checking whether round works... guessing yes
checking for library containing getservbyname... (cached) no
checking for getservbyname... (cached) no
checking for getservbyname in winsock2.h and -lws2_32... (cached) yes
checking for stdint.h... (cached) yes
checking for SIZE_MAX... yes
checking for snprintf... (cached) yes
checking whether snprintf respects a size of 1... guessing yes
checking for winsock2.h... (cached) yes
checking if we need to call WSAStartup in winsock2.h and -lws2_32... yes
checking for socklen_t... yes
checking for ssize_t... (cached) yes
checking whether stat handles trailing slashes on directories... guessing no
checking whether stat handles trailing slashes on files... guessing no
checking for struct stat.st_atim.tv_nsec... no
checking for struct stat.st_atimespec.tv_nsec... no
checking for struct stat.st_atimensec... no
checking for struct stat.st_atim.st__tim.tv_nsec... no
checking for struct stat.st_birthtimespec.tv_nsec... no
checking for struct stat.st_birthtimensec... no
checking for struct stat.st_birthtim.tv_nsec... no
checking for va_copy... yes
checking whether NULL can be used in arbitrary expressions... (cached) yes
checking whether stdint.h conforms to C99... yes
checking whether dprintf is declared without a macro... no
checking whether fpurge is declared without a macro... no
checking whether fseeko is declared without a macro... no
checking whether ftello is declared without a macro... no
checking whether getdelim is declared without a macro... no
checking whether getline is declared without a macro... no
checking whether popen is declared without a macro... yes
checking whether renameat is declared without a macro... no
checking whether snprintf is declared without a macro... yes
checking whether tmpfile is declared without a macro... yes
checking whether vdprintf is declared without a macro... no
checking whether vsnprintf is declared without a macro... yes
checking whether _Exit is declared without a macro... yes
checking whether atoll is declared without a macro... yes
checking whether canonicalize_file_name is declared without a macro... no
checking whether getloadavg is declared without a macro... no
checking whether getsubopt is declared without a macro... no
checking whether grantpt is declared without a macro... no
checking whether mkdtemp is declared without a macro... no
checking whether mkostemp is declared without a macro... no
checking whether mkostemps is declared without a macro... no
checking whether mkstemp is declared without a macro... no
checking whether mkstemps is declared without a macro... no
checking whether ptsname is declared without a macro... no
checking whether random_r is declared without a macro... no
checking whether initstat_r is declared without a macro... no
checking whether srandom_r is declared without a macro... no
checking whether setstate_r is declared without a macro... no
checking whether realpath is declared without a macro... no
checking whether rpmatch is declared without a macro... no
checking whether setenv is declared without a macro... no
checking whether strtod is declared without a macro... yes
checking whether strtoll is declared without a macro... yes
checking whether strtoull is declared without a macro... yes
checking whether unlockpt is declared without a macro... no
checking whether unsetenv is declared without a macro... no
checking for strcasecmp... yes
checking for strncasecmp... yes
checking whether strncasecmp is declared... (cached) yes
checking whether flock is declared without a macro... no
checking whether <sys/socket.h> is self-contained... (cached) no
checking for ws2tcpip.h... (cached) yes
checking for struct sockaddr_storage... (cached) yes
checking for sa_family_t... (cached) no
checking for struct sockaddr_storage.ss_family... (cached) yes
checking for winsock2.h... (cached) yes
checking whether socket is declared without a macro... (cached) no
checking whether connect is declared without a macro... (cached) no
checking whether accept is declared without a macro... (cached) no
checking whether bind is declared without a macro... (cached) no
checking whether getpeername is declared without a macro... (cached) no
checking whether getsockname is declared without a macro... (cached) no
checking whether getsockopt is declared without a macro... (cached) no
checking whether listen is declared without a macro... (cached) no
checking whether recv is declared without a macro... (cached) no
checking whether send is declared without a macro... (cached) no
checking whether recvfrom is declared without a macro... (cached) no
checking whether sendto is declared without a macro... (cached) no
checking whether setsockopt is declared without a macro... (cached) no
checking whether shutdown is declared without a macro... (cached) no
checking whether accept4 is declared without a macro... (cached) no
checking for nlink_t... no
checking whether fchmodat is declared without a macro... no
checking whether fstatat is declared without a macro... no
checking whether futimens is declared without a macro... no
checking whether lchmod is declared without a macro... no
checking whether lstat is declared without a macro... no
checking whether mkdirat is declared without a macro... no
checking whether mkfifo is declared without a macro... no
checking whether mkfifoat is declared without a macro... no
checking whether mknod is declared without a macro... no
checking whether mknodat is declared without a macro... no
checking whether stat is declared without a macro... yes
checking whether utimensat is declared without a macro... no
checking whether trunc is declared... (cached) yes
checking whether chown is declared without a macro... no
checking whether dup2 is declared without a macro... yes
checking whether dup3 is declared without a macro... no
checking whether environ is declared without a macro... no
checking whether euidaccess is declared without a macro... no
checking whether faccessat is declared without a macro... no
checking whether fchdir is declared without a macro... no
checking whether fchownat is declared without a macro... no
checking whether fsync is declared without a macro... no
checking whether ftruncate is declared without a macro... yes
checking whether getcwd is declared without a macro... yes
checking whether getdomainname is declared without a macro... no
checking whether getdtablesize is declared without a macro... no
checking whether getgroups is declared without a macro... no
checking whether gethostname is declared without a macro... no
checking whether getlogin is declared without a macro... no
checking whether getlogin_r is declared without a macro... no
checking whether getpagesize is declared without a macro... no
checking whether getusershell is declared without a macro... no
checking whether setusershell is declared without a macro... no
checking whether endusershell is declared without a macro... no
checking whether lchown is declared without a macro... no
checking whether link is declared without a macro... no
checking whether linkat is declared without a macro... no
checking whether lseek is declared without a macro... yes
checking whether pipe is declared without a macro... no
checking whether pipe2 is declared without a macro... no
checking whether pread is declared without a macro... no
checking whether pwrite is declared without a macro... no
checking whether readlink is declared without a macro... no
checking whether readlinkat is declared without a macro... no
checking whether rmdir is declared without a macro... yes
checking whether sleep is declared without a macro... no
checking whether symlink is declared without a macro... no
checking whether symlinkat is declared without a macro... no
checking whether ttyname_r is declared without a macro... no
checking whether unlink is declared without a macro... yes
checking whether unlinkat is declared without a macro... no
checking whether usleep is declared without a macro... yes
checking for ptrdiff_t... yes
checking for vsnprintf... yes
checking whether snprintf respects a size of 1... (cached) guessing yes
checking whether btowc is declared without a macro... yes
checking whether wctob is declared without a macro... yes
checking whether mbsinit is declared without a macro... yes
checking whether mbrtowc is declared without a macro... yes
checking whether mbrlen is declared without a macro... yes
checking whether mbsrtowcs is declared without a macro... yes
checking whether mbsnrtowcs is declared without a macro... no
checking whether wcrtomb is declared without a macro... yes
checking whether wcsrtombs is declared without a macro... yes
checking whether wcsnrtombs is declared without a macro... no
checking whether wcwidth is declared without a macro... no
checking whether wmemchr is declared without a macro... yes
checking whether wmemcmp is declared without a macro... yes
checking whether wmemcpy is declared without a macro... yes
checking whether wmemmove is declared without a macro... yes
checking whether wmemset is declared without a macro... yes
checking whether wcslen is declared without a macro... yes
checking whether wcsnlen is declared without a macro... no
checking whether wcscpy is declared without a macro... yes
checking whether wcpcpy is declared without a macro... no
checking whether wcsncpy is declared without a macro... yes
checking whether wcpncpy is declared without a macro... no
checking whether wcscat is declared without a macro... yes
checking whether wcsncat is declared without a macro... yes
checking whether wcscmp is declared without a macro... yes
checking whether wcsncmp is declared without a macro... yes
checking whether wcscasecmp is declared without a macro... no
checking whether wcsncasecmp is declared without a macro... no
checking whether wcscoll is declared without a macro... yes
checking whether wcsxfrm is declared without a macro... yes
checking whether wcsdup is declared without a macro... yes
checking whether wcschr is declared without a macro... yes
checking whether wcsrchr is declared without a macro... yes
checking whether wcscspn is declared without a macro... yes
checking whether wcsspn is declared without a macro... yes
checking whether wcspbrk is declared without a macro... yes
checking whether wcsstr is declared without a macro... yes
checking whether wcstok is declared without a macro... yes
checking whether wcswidth is declared without a macro... no
checking for stdint.h... (cached) yes
checking for i686-pc-mingw32-gcc -std=gnu99 option to accept ISO C89... (cached) none needed
checking for a sed that does not truncate output... (cached) /bin/sed
checking for fgrep... /bin/grep -F
checking for ld used by i686-pc-mingw32-gcc -std=gnu99... /home/vog/mingw-cross-env/usr/i686-pc-mingw32/bin/ld
checking if the linker (/home/vog/mingw-cross-env/usr/i686-pc-mingw32/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /home/vog/mingw-cross-env/usr/bin/i686-pc-mingw32-nm -B
checking the name lister (/home/vog/mingw-cross-env/usr/bin/i686-pc-mingw32-nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 3458764513820540925
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /home/vog/mingw-cross-env/usr/i686-pc-mingw32/bin/ld option to reload object files... -r
checking for i686-pc-mingw32-objdump... (cached) i686-pc-mingw32-objdump
checking how to recognize dependent libraries... file_magic ^x86 archive import|^x86 DLL
checking for i686-pc-mingw32-ar... i686-pc-mingw32-ar
checking for i686-pc-mingw32-strip... (cached) i686-pc-mingw32-strip
checking for i686-pc-mingw32-ranlib... (cached) i686-pc-mingw32-ranlib
checking command to parse /home/vog/mingw-cross-env/usr/bin/i686-pc-mingw32-nm -B output from i686-pc-mingw32-gcc -std=gnu99 object... ok
checking for dlfcn.h... no
checking for objdir... .libs
checking if i686-pc-mingw32-gcc -std=gnu99 supports -fno-rtti -fno-exceptions... no
checking for i686-pc-mingw32-gcc -std=gnu99 option to produce PIC... -DDLL_EXPORT -DPIC
checking if i686-pc-mingw32-gcc -std=gnu99 PIC flag -DDLL_EXPORT -DPIC works... yes
checking if i686-pc-mingw32-gcc -std=gnu99 static flag -static works... yes
checking if i686-pc-mingw32-gcc -std=gnu99 supports -c -o file.o... yes
checking if i686-pc-mingw32-gcc -std=gnu99 supports -c -o file.o... (cached) yes
checking whether the i686-pc-mingw32-gcc -std=gnu99 linker (/home/vog/mingw-cross-env/usr/i686-pc-mingw32/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking for libltdl... yes
checking how to link with libltdl... /home/vog/mingw-cross-env/usr/i686-pc-mingw32/lib/libltdl.a
checking for makeinfo... no
checking for emacs... no
checking for xemacs... no
checking where .elc files should go... ${datadir}/emacs/site-lisp
checking whether to use system and library "64" calls... yes
checking for __uc_get_ar_bsp in -luca... no
checking for an ANSI C-conforming const... yes
checking for working volatile... yes
checking for inline... (cached) inline
checking for __uc_get_ar_bsp in -luca... (cached) no
checking whether byte ordering is bigendian... (cached) no
checking labels as values... yes
checking size of char... 1
checking size of unsigned char... 1
checking size of short... 2
checking size of unsigned short... 2
checking size of int... 4
checking size of unsigned int... 4
checking size of long... 4
checking size of unsigned long... 4
checking size of size_t... 4
checking size of long long... 8
checking size of unsigned long long... 8
checking size of __int64... 8
checking size of unsigned __int64... 8
checking size of void *... 4
checking size of intptr_t... 4
checking size of uintptr_t... 4
checking size of ptrdiff_t... 4
checking size of size_t... (cached) 4
checking size of off_t... 4
checking for stdint.h... (cached) yes
checking for inttypes.h... (cached) yes
checking size of intmax_t... 8
checking for int8_t... yes
checking for uint8_t... yes
checking for int16_t... yes
checking for uint16_t... yes
checking for int32_t... yes
checking for uint32_t... yes
checking for int64_t... yes
checking for uint64_t... yes
checking for intmax_t... yes
checking for uintmax_t... yes
checking for intptr_t... yes
checking for uintptr_t... yes
checking for int8_t... yes
checking for uint8_t... yes
checking for int16_t... yes
checking for uint16_t... yes
checking for int32_t... yes
checking for uint32_t... yes
checking for int64_t... yes
checking for uint64_t... yes
checking for intmax_t... yes
checking for uintmax_t... yes
checking for intptr_t... (cached) yes
checking for uintptr_t... (cached) yes
checking for ANSI C header files... (cached) yes
checking whether time.h and sys/time.h may both be included... yes
checking for sys/wait.h that is POSIX.1 compatible... no
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for struct dirent64.d_name... no
checking complex.h usability... yes
checking complex.h presence... yes
checking for complex.h... yes
checking fenv.h usability... yes
checking fenv.h presence... yes
checking for fenv.h... yes
checking io.h usability... yes
checking io.h presence... yes
checking for io.h... yes
checking libc.h usability... no
checking libc.h presence... no
checking for libc.h... no
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking malloc.h usability... yes
checking malloc.h presence... yes
checking for malloc.h... yes
checking for memory.h... (cached) yes
checking process.h usability... yes
checking process.h presence... yes
checking for process.h... yes
checking for string.h... (cached) yes
checking regex.h usability... no
checking regex.h presence... no
checking for regex.h... no
checking rxposix.h usability... no
checking rxposix.h presence... no
checking for rxposix.h... no
checking rx/rxposix.h usability... no
checking rx/rxposix.h presence... no
checking for rx/rxposix.h... no
checking sys/dir.h usability... no
checking sys/dir.h presence... no
checking for sys/dir.h... no
checking sys/ioctl.h usability... no
checking sys/ioctl.h presence... no
checking for sys/ioctl.h... no
checking sys/select.h usability... no
checking sys/select.h presence... no
checking for sys/select.h... no
checking for sys/time.h... (cached) yes
checking sys/timeb.h usability... yes
checking sys/timeb.h presence... yes
checking for sys/timeb.h... yes
checking sys/times.h usability... no
checking sys/times.h presence... no
checking for sys/times.h... no
checking sys/stdtypes.h usability... no
checking sys/stdtypes.h presence... no
checking for sys/stdtypes.h... no
checking for sys/types.h... (cached) yes
checking sys/utime.h usability... yes
checking sys/utime.h presence... yes
checking for sys/utime.h... yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking for unistd.h... (cached) yes
checking utime.h usability... yes
checking utime.h presence... yes
checking for utime.h... yes
checking pwd.h usability... no
checking pwd.h presence... no
checking for pwd.h... no
checking grp.h usability... no
checking grp.h presence... no
checking for grp.h... no
checking sys/utsname.h usability... no
checking sys/utsname.h presence... no
checking for sys/utsname.h... no
checking direct.h usability... yes
checking direct.h presence... yes
checking for direct.h... yes
checking langinfo.h usability... no
checking langinfo.h presence... no
checking for langinfo.h... no
checking nl_types.h usability... no
checking nl_types.h presence... no
checking for nl_types.h... no
checking machine/fpu.h usability... no
checking machine/fpu.h presence... no
checking for machine/fpu.h... no
checking poll.h usability... no
checking poll.h presence... no
checking for poll.h... no
checking for nl_item... no
checking for complex double... yes
checking for socklen_t... (cached) yes
checking for struct ip_mreq... no
checking for libc.h... (cached) no
checking for unistd.h... (cached) yes
checking whether libc.h and unistd.h can be included together... no
checking for uid_t in sys/types.h... no
checking type of array argument to getgroups... int
checking return type of signal handlers... void
checking for mode_t... yes
checking for cos in -lm... yes
checking for gethostbyname... (cached) no
checking for gethostbyname in -lnsl... no
checking for connect... no
checking for connect in -lsocket... no
checking for winsock2.h... (cached) yes
checking for main in -lws2_32... yes
checking assert.h usability... yes
checking assert.h presence... yes
checking for assert.h... yes
checking crt_externs.h usability... no
checking crt_externs.h presence... no
checking for crt_externs.h... no
checking for DINFINITY... no
checking for DQNAN... no
checking for cexp... yes
checking for chsize... yes
checking for clog... yes
checking for clog10... no
checking for ctermid... no
checking for fesetround... yes
checking for ftime... yes
checking for ftruncate... yes
checking for fchown... no
checking for getcwd... (cached) yes
checking for geteuid... no
checking for getsid... no
checking for gettimeofday... yes
checking for gmtime_r... no
checking for ioctl... no
checking for lstat... (cached) no
checking for mkdir... yes
checking for mknod... no
checking for nice... no
checking for pipe... no
checking for _pipe... yes
checking for poll... no
checking for readdir_r... no
checking for readdir64_r... no
checking for readlink... (cached) no
checking for rename... yes
checking for rmdir... yes
checking for select... no
checking for setegid... no
checking for seteuid... no
checking for setlocale... yes
checking for setpgid... no
checking for setsid... no
checking for sigaction... no
checking for siginterrupt... no
checking for stat64... no
checking for strftime... yes
checking for strptime... no
checking for symlink... no
checking for sync... no
checking for sysconf... no
checking for tcgetpgrp... no
checking for tcsetpgrp... no
checking for times... no
checking for uname... no
checking for waitpid... no
checking for strdup... yes
checking for system... yes
checking for usleep... yes
checking for atexit... yes
checking for on_exit... no
checking for chown... no
checking for link... no
checking for fcntl... (cached) no
checking for ttyname... no
checking for getpwent... no
checking for getgrent... no
checking for kill... no
checking for getppid... no
checking for getpgrp... no
checking for fork... no
checking for setitimer... no
checking for getitimer... no
checking for strchr... yes
checking for strcmp... yes
checking for index... no
checking for bcopy... no
checking for memcpy... yes
checking for rindex... no
checking for truncate... no
checking for unsetenv... no
checking for isblank... yes
checking for _NSGetEnviron... no
checking for strcoll... yes
checking for strcoll_l... no
checking for newlocale... no
checking for nl_langinfo... no
checking for utimensat... no
checking for sched_getaffinity... (cached) no
checking for sched_setaffinity... no
checking crypt.h usability... no
checking crypt.h presence... no
checking for crypt.h... no
checking for netdb.h... (cached) no
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking for sys/param.h... (cached) yes
checking sys/resource.h usability... no
checking sys/resource.h presence... no
checking for sys/resource.h... no
checking for sys/file.h... (cached) yes
checking for chroot... no
checking for flock... (cached) no
checking for getlogin... no
checking for cuserid... no
checking for getpriority... no
checking for setpriority... no
checking for getpass... no
checking for sethostname... no
checking for gethostname... no
checking whether sethostname is declared... no
checking whether hstrerror is declared... no
checking whether cuserid is declared... no
checking for library containing crypt... no
checking for i... _Complex_I
checking whether csqrt is usable... yes, hopefully (cross-compiling)
checking for libgmp... yes
checking how to link with libgmp... /home/vog/mingw-cross-env/usr/i686-pc-mingw32/lib/libgmp.a
checking for i686-pc-mingw32-pkg-config... /home/vog/mingw-cross-env/usr/bin/i686-pc-mingw32-pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for LIBFFI... yes
checking size of size_t... (cached) 4
checking size of ssize_t... 4
checking whether NLS is requested... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for GNU gettext in libc... no
checking for iconv... (cached) yes
checking for working iconv... (cached) guessing yes
checking how to link with libiconv... /home/vog/mingw-cross-env/usr/i686-pc-mingw32/lib/libiconv.a
checking for GNU gettext in libintl... yes
checking whether to use NLS... yes
checking where the gettext function comes from... external libintl
checking how to link with libintl... /home/vog/mingw-cross-env/usr/i686-pc-mingw32/lib/libintl.a -L/home/vog/mingw-cross-env/usr/i686-pc-mingw32/lib /home/vog/mingw-cross-env/usr/i686-pc-mingw32/lib/libiconv.a
checking for sleep declaration... yes
checking for usleep declaration... yes
checking whether strptime is declared... no
checking return type of usleep... int
checking sys/un.h usability... no
checking sys/un.h presence... no
checking for sys/un.h... no
checking for getrlimit... no
checking for setrlimit... no
checking for socketpair... no
checking for getgroups... no
checking for setgroups... no
checking for setpwent... no
checking for pause... no
checking for tzset... (cached) yes
checking for sethostent... no
checking for gethostent... no
checking for endhostent... no
checking for setnetent... no
checking for getnetent... no
checking for endnetent... no
checking for setprotoent... no
checking for getprotoent... no
checking for endprotoent... no
checking for setservent... no
checking for getservent... no
checking for endservent... no
checking for getnetbyaddr... no
checking for getnetbyname... no
checking for inet_lnaof... no
checking for inet_makeaddr... no
checking for inet_netof... no
checking for hstrerror... no
checking for struct sockaddr_in.sin_len... no
checking for __libc_stack_end... no
checking whether netdb.h declares h_errno... no
checking whether uint32_t is defined... no
checking for working IPv6 support... no
checking whether sockaddr_in6 has sin6_scope_id... no
checking for struct sockaddr_in6.sin6_len... no
checking whether localtime caches TZ... yes
checking for strerror... yes
checking for memmove... yes
checking for mkstemp... no
checking for asinh... yes
checking for acosh... yes
checking for atanh... yes
checking for copysign... yes
checking for finite... yes
checking for sincos... no
checking for trunc... yes
checking for isinf... yes
checking for isnan... yes
checking for struct stat.st_rdev... yes
checking for struct stat.st_blksize... no
checking for struct stat.st_blocks... no
checking for struct stat.st_atim... no
checking for struct stat.st_mtim... no
checking for struct stat.st_ctim... no
checking for struct tm.tm_zone... (cached) no
checking whether tzname is declared... (cached) yes
checking for tzname... (cached) yes
checking for struct tm.tm_gmtoff... (cached) no
checking whether we need POSIX to get struct utimbuf... no
configure: WARNING: Guessing that stack grows down -- see scmconfig.h
checking for BDW_GC... yes
checking for GC_do_blocking... no
checking for GC_call_with_gc_active... no
checking whether GC_do_blocking is declared... no
checking for GC_fn_type... yes
checking size of float... 4
checking for struct linger... no
checking for struct timespec... yes
checking what kind of threads to support... null-threads
checking cc for build... PATH=/usr/bin:/home/vog/mingw-cross-env/usr/bin:/home/vog/mingw-cross-env/usr/bin:/home/vog/rentapacs/Linux/RapPorts/usr/bin:/home/vog/rentapacs/MinGW/RapPorts/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/games:/home/vog/mingw-cross-env/usr/bin cc
checking guile for build... guile
checking whether compiler handles -Wall... yes
checking whether compiler handles -Wmissing-prototypes... yes
checking whether compiler handles -Wdeclaration-after-statement... yes
checking whether compiler handles -Wundef... yes
checking whether compiler handles -Wswitch-enum... yes
checking whether the linker understands `-z relro'... no
checking for tgoto in -lncurses... no
checking for tgoto in -lcurses... no
checking for tgoto in -ltermcap... no
checking for tgoto in -lterminfo... no
checking for tgoto in -ltermlib... no
checking for tgoto in -lpdcurses... yes
checking how to link with libreadline... /home/vog/mingw-cross-env/usr/i686-pc-mingw32/lib/libreadline.a
checking for siginterrupt... (cached) no
checking for rl_clear_signals... yes
checking for rl_cleanup_after_signal... yes
checking for rl_filename_completion_function... yes
checking whether rl_catch_signals is declared... yes
checking whether rl_catch_sigwinch is declared... yes
checking for rl_get_keymap... yes
checking for rl_getc_function pointer in readline... yes
checking for strdup... (cached) yes
configure: creating ./config.status
config.status: creating libguile/gen-scmconfig.h
config.status: creating Makefile
config.status: creating am/Makefile
config.status: creating lib/Makefile
config.status: creating benchmark-suite/Makefile
config.status: creating doc/Makefile
config.status: creating doc/r5rs/Makefile
config.status: creating doc/ref/Makefile
config.status: creating emacs/Makefile
config.status: creating examples/Makefile
config.status: creating libguile/Makefile
config.status: creating libguile/version.h
config.status: creating guile-readline/Makefile
config.status: creating test-suite/Makefile
config.status: creating test-suite/standalone/Makefile
config.status: creating test-suite/vm/Makefile
config.status: creating meta/Makefile
config.status: creating module/Makefile
config.status: creating meta/guile-2.0.pc
config.status: creating meta/guile-2.0-uninstalled.pc
config.status: creating doc/ref/effective-version.texi
config.status: creating check-guile
config.status: creating benchmark-guile
config.status: creating meta/guile
config.status: creating meta/uninstalled-env
config.status: creating meta/gdb-uninstalled-guile
config.status: creating meta/guile-tools
config.status: creating libguile/guile-snarf
config.status: creating libguile/guile-snarf-docs
config.status: creating test-suite/standalone/test-use-srfi
config.status: creating test-suite/standalone/test-fast-slot-ref
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing po-directories commands
make -C '/home/vog/mingw-cross-env/tmp-guile/guile-2.0.0' -j '1'
make[2]: Entering directory `/home/vog/mingw-cross-env/tmp-guile/guile-2.0.0'
(CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/bash /home/vog/mingw-cross-env/tmp-guile/guile-2.0.0/build-aux/missing --run autoheader)
rm -f stamp-h1
touch config.h.in
cd . && /bin/bash ./config.status config.h
config.status: creating config.h
config.status: config.h is unchanged
make  all-recursive
make[3]: Entering directory `/home/vog/mingw-cross-env/tmp-guile/guile-2.0.0'
Making all in lib
make[4]: Entering directory `/home/vog/mingw-cross-env/tmp-guile/guile-2.0.0/lib'
  GEN    alloca.h
  GEN    arg-nonnull.h
  GEN    c++defs.h
  GEN    warn-on-use.h
  GEN    arpa/inet.h
  GEN    byteswap.h
  GEN    errno.h
  GEN    iconv.h
  GEN    locale.h
  GEN    math.h
  GEN    netdb.h
  GEN    netinet/in.h
  GEN    stdio.h
  GEN    stdlib.h
  GEN    string.h
  GEN    strings.h
  GEN    sys/file.h
  GEN    sys/socket.h
  GEN    sys/stat.h
  GEN    sys/time.h
  GEN    time.h
  GEN    unistd.h
  GEN    unused-parameter.h
  GEN    wchar.h
make  all-recursive
make[5]: Entering directory `/home/vog/mingw-cross-env/tmp-guile/guile-2.0.0/lib'
make[6]: Entering directory `/home/vog/mingw-cross-env/tmp-guile/guile-2.0.0/lib'
  CC     c-ctype.lo
  CC     c-strcasecmp.lo
  CC     c-strncasecmp.lo
  CC     close-hook.lo
  CC     full-read.lo
  CC     full-write.lo
  CC     malloca.lo
  CC     nproc.lo
  CC     sockets.lo
  CC     striconveh.lo
  CC     unistr/u8-mbtouc.lo
  CC     unistr/u8-mbtouc-aux.lo
  CC     unistr/u8-mbtouc-unsafe.lo
  CC     unistr/u8-mbtouc-unsafe-aux.lo
  CC     version-etc.lo
  CC     version-etc-fsf.lo
  CC     accept.lo
  CC     asnprintf.lo
  CC     bind.lo
  CC     canonicalize-lgpl.lo
  CC     close.lo
  CC     connect.lo
  CC     fclose.lo
  CC     flock.lo
  CC     getaddrinfo.lo
  CC     getpeername.lo
  CC     getsockname.lo
  CC     getsockopt.lo
getsockopt.c: In function 'rpl_getsockopt':
getsockopt.c:49:7: warning: passing argument 4 of 'getsockopt' from incompatible pointer type [enabled by default]
/home/vog/mingw-cross-env/usr/lib/gcc/i686-pc-mingw32/4.6.0/../../../../i686-pc-mingw32/include/winsock2.h:543:32: note: expected 'char *' but argument is of type 'int *'
  CC     inet_ntop.lo
  CC     inet_pton.lo
  CC     isinf.lo
  CC     isnand.lo
  CC     isnanf.lo
  CC     isnanl.lo
  CC     listen.lo
  CC     lstat.lo
  CC     malloc.lo
  CC     memchr.lo
  CC     printf-args.lo
  CC     printf-parse.lo
  CC     putenv.lo
  CC     readlink.lo
  CC     recv.lo
  CC     recvfrom.lo
  CC     safe-read.lo
  CC     safe-write.lo
  CC     send.lo
  CC     sendto.lo
  CC     setsockopt.lo
  CC     shutdown.lo
  CC     snprintf.lo
  CC     socket.lo
  CC     stat.lo
  CC     strftime.lo
  CC     time_r.lo
  CC     vasnprintf.lo
  CC     vsnprintf.lo
  CCLD   libgnu.la
make[6]: Leaving directory `/home/vog/mingw-cross-env/tmp-guile/guile-2.0.0/lib'
make[5]: Leaving directory `/home/vog/mingw-cross-env/tmp-guile/guile-2.0.0/lib'
make[4]: Leaving directory `/home/vog/mingw-cross-env/tmp-guile/guile-2.0.0/lib'
Making all in meta
make[4]: Entering directory `/home/vog/mingw-cross-env/tmp-guile/guile-2.0.0/meta'
guile="/home/vog/mingw-cross-env/usr/i686-pc-mingw32/bin/`echo guile | /bin/sed -e 's,x,x,'`" ;	\
	cat ./guile-config.in							\
	| /bin/sed -e "s,@pkgconfigdir@,/home/vog/mingw-cross-env/usr/i686-pc-mingw32/lib/pkgconfig,g ;			\
		     s,@""PKG_CONFIG@,/home/vog/mingw-cross-env/usr/bin/i686-pc-mingw32-pkg-config,g ;				\
		     s,@installed_guile@,$guile,g"				\
	> guile-config.out
mv guile-config.out guile-config
chmod +x guile-config
make[4]: Leaving directory `/home/vog/mingw-cross-env/tmp-guile/guile-2.0.0/meta'
Making all in libguile
make[4]: Entering directory `/home/vog/mingw-cross-env/tmp-guile/guile-2.0.0/libguile'
  GEN    libpath.h
  GEN    gen-scmconfig.o
  GEN    gen-scmconfig.exe
  GEN    scmconfig.h
  GEN    vm-i-system.i
  GEN    vm-i-scheme.i
  GEN    vm-i-loader.i
  SNARF  alist.x
  SNARF  arbiters.x
  SNARF  array-handle.x
  SNARF  array-map.x
  SNARF  arrays.x
  SNARF  async.x
  SNARF  backtrace.x
  SNARF  boolean.x
  SNARF  bitvectors.x
  SNARF  bytevectors.x
  SNARF  chars.x
  SNARF  control.x
  SNARF  continuations.x
  SNARF  debug.x
  SNARF  deprecated.x
  SNARF  deprecation.x
deprecation.c:40:0: warning: "vsnprintf" redefined [enabled by default]
../lib/stdio.h:1357:0: note: this is the location of the previous definition
  SNARF  dynl.x
  SNARF  dynwind.x
  SNARF  eq.x
  SNARF  error.x
  SNARF  eval.x
  SNARF  evalext.x
  SNARF  expand.x
expand.c:52:0: warning: "VOID" redefined [enabled by default]
/home/vog/mingw-cross-env/usr/lib/gcc/i686-pc-mingw32/4.6.0/../../../../i686-pc-mingw32/include/winnt.h:75:0: note: this is the location of the previous definition
expand.c:54:0: warning: "CONST" redefined [enabled by default]
/home/vog/mingw-cross-env/usr/lib/gcc/i686-pc-mingw32/4.6.0/../../../../i686-pc-mingw32/include/windef.h:39:0: note: this is the location of the previous definition
  SNARF  extensions.x
  SNARF  feature.x
  SNARF  fluids.x
  SNARF  foreign.x
  SNARF  fports.x
  SNARF  gc-malloc.x
  SNARF  gc.x
  SNARF  gettext.x
  SNARF  generalized-arrays.x
  SNARF  generalized-vectors.x
  SNARF  goops.x
  SNARF  gsubr.x
  SNARF  guardians.x
  SNARF  hash.x
  SNARF  hashtab.x
  SNARF  hooks.x
  SNARF  i18n.x
  SNARF  init.x
  SNARF  ioext.x
  SNARF  keywords.x
  SNARF  list.x
  SNARF  load.x
  SNARF  macros.x
  SNARF  mallocs.x
  SNARF  memoize.x
  SNARF  modules.x
  SNARF  numbers.x
  SNARF  objprop.x
  SNARF  options.x
  SNARF  pairs.x
  SNARF  ports.x
  SNARF  print.x
  SNARF  procprop.x
  SNARF  procs.x
  SNARF  promises.x
  SNARF  r6rs-ports.x
  SNARF  random.x
  SNARF  rdelim.x
  SNARF  read.x
  SNARF  root.x
  SNARF  rw.x
  SNARF  scmsigs.x
  SNARF  script.x
  SNARF  simpos.x
  SNARF  smob.x
  SNARF  sort.x
  SNARF  srcprop.x
  SNARF  srfi-1.x
  SNARF  srfi-4.x
  SNARF  srfi-13.x
  SNARF  srfi-14.x
  SNARF  srfi-60.x
  SNARF  stackchk.x
  SNARF  stacks.x
  SNARF  stime.x
  SNARF  strings.x
  SNARF  strorder.x
  SNARF  strports.x
  SNARF  struct.x
  SNARF  symbols.x
  SNARF  threads.x
  SNARF  throw.x
  SNARF  trees.x
  SNARF  uniform.x
  SNARF  values.x
  SNARF  variable.x
  SNARF  vectors.x
  SNARF  version.x
  SNARF  vports.x
  SNARF  weaks.x
  SNARF  frames.x
  SNARF  instructions.x
  SNARF  objcodes.x
objcodes.c:26:22: fatal error: sys/mman.h: No such file or directory
compilation terminated.
make[4]: *** [objcodes.x] Error 1
make[4]: Leaving directory `/home/vog/mingw-cross-env/tmp-guile/guile-2.0.0/libguile'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/vog/mingw-cross-env/tmp-guile/guile-2.0.0'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/vog/mingw-cross-env/tmp-guile/guile-2.0.0'
make[1]: *** [build-only-guile] Error 2
make[1]: Leaving directory `/home/vog/mingw-cross-env'

real	1m48.655s
user	1m10.740s
sys	0m35.730s

^ permalink raw reply	[flat|nested] 21+ messages in thread
* Re: Guile with win32 cross compiling
@ 2011-04-05 19:43 Mike Gran
  2011-04-06  1:38 ` Volker Grabsch
  0 siblings, 1 reply; 21+ messages in thread
From: Mike Gran @ 2011-04-05 19:43 UTC (permalink / raw)
  To: Volker Grabsch, Andy Wingo; +Cc: bug-guile@gnu.org, guile-devel@gnu.org

>     "Portability fixes for win32 cross compiling"
>     http://www.mail-archive.com/guile-devel@gnu.org/msg05308.html
> 
> > In any case, I don't understand the mechanism here, but I believe the
> > point was to make it so that #include <libguile.h> would not pull in
> > iconv headers.  gen-scmconfig looks up the value of the constants for
> > iconv conversion handlers, and writes them into scmconfig.h.  Your patch
> > undoes that.
> > 
> > What problem are you working around here?
> 
> The problem is that this mechanism works completely against the
> nature of cross compiling.
> 
> The issue exists in all attempts to cross compile guile, but they
> become extreme when cross compiling on a Unix system for MinGW,
> as those systems are very different.
> 
> Gen-scmconfig is a code generator, so it has to be built using
> the native toolchain. However, it is supposed to write take its
> values from the <uniconv.h> of the cross tool chain. Thus, the
> "/usr/include" equivalent of the cross tool chain is added to
> the include path when compiling gen-scmconfig. And here the
> trouble starts, because mixing headers of various toolchains
> is never a good idea. Among others, basic headers like <stdio.h>
> are now taken from the cross toolchain, referring to objects that
> don't even exist in the native toolchain, causing the build to
> fail with all kinds of strange error messages.

There was a recent discussion about these sorts of builds at
http://lists.gnu.org/archive/html/automake/2011-04/msg00014.html
 
> 
> > > The other open issue is also a known one: the missing mmap()
> > > function under Windows. After some research, I found a promising
> > > mmap()/munmap() implementation for Windows in a free software
> > > project:
> > >
> > > http://code.google.com/p/flvmeta/source/browse/trunk/src/mmap.h?r=74
> > > http://code.google.com/p/flvmeta/source/browse/trunk/src/mmap.c?r=74
> > >
> > > Maybe this is worth integrating into guile?
> > 
> > You know, not only do we not rely on MAP_SHARED -- I switched it to use
> > PRIVATE, just now -- we didn't actually need mmap at all.  I just
> > changed it to use read(2) if mmap is not available, and it seems to work
> > fine, just a little (5-10%) slower to start up.  That should help our
> > unfortunate friends working on Windows :)
> 
> That's good news. Maybe this will enable me to include the next guile
> release in mingw-cross-env - a project dedicated to all those unfortunate
> friends. :-)  Using mingw-cross-env and Wine, they at least don't have
> to actually run Windows just to build and test their project's Windows
> port. ;-)
> 
> 
> Greets,
> Volker
> 
> -- 
> Volker Grabsch
> ---<<(())>>---




^ permalink raw reply	[flat|nested] 21+ messages in thread
* Guile with win32 cross compiling
@ 2011-03-26 22:04 Volker Grabsch
  0 siblings, 0 replies; 21+ messages in thread
From: Volker Grabsch @ 2011-03-26 22:04 UTC (permalink / raw)
  To: Mike Gran; +Cc: bug-guile, guile-devel

Hello Mike,

I just tried again to cross compile a win32 version of guile, using
the latest 2.0.0 release. My last attempt in April 2010 failed.

Much has been improved since then, but there are still fatal
errors, so I still can't support guile-2 in mingw-cross-env. [1]


1)

The first issue is the "#include <uniconv.h>" in gen-scmconfig,
which has already been discussed in the past and for which I
already provided a clean, working solution. I forward-ported
my patch to guile-2.0.0 and it seems to work. This patch is
attached to this email, please consider applying it.

Also attached is a build log created by mingw-cross-env showing
how far the cross build gets with this patch.


2)

The other open issue is also a known one: the missing mmap()
function under Windows. After some research, I found a promising
mmap()/munmap() implementation for Windows in a free software
project:

http://code.google.com/p/flvmeta/source/browse/trunk/src/mmap.h?r=74
http://code.google.com/p/flvmeta/source/browse/trunk/src/mmap.c?r=74

Maybe this is worth integrating into guile?



Greets,
Volker


[1] http://mingw-cross-env.nongnu.org/

-- 
Volker Grabsch
---<<(())>>---



^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2011-07-01 13:52 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-26 22:06 Guile with win32 cross compiling Volker Grabsch
2011-04-01 10:38 ` Andy Wingo
2011-04-01 18:50   ` Volker Grabsch
2011-04-12 11:14     ` Andy Wingo
2011-04-23 16:10       ` Volker Grabsch
2011-04-24 10:42         ` Andy Wingo
2011-05-16 23:01           ` Volker Grabsch
2011-05-20 10:32             ` Andy Wingo
2011-05-20 12:25               ` Volker Grabsch
2011-05-20 12:48                 ` Jan Nieuwenhuizen
2011-05-20 13:25                   ` Andy Wingo
2011-05-20 22:19                   ` Volker Grabsch
2011-06-17  9:03                     ` Andy Wingo
2011-07-01 13:52                       ` Andy Wingo
2011-04-24 20:22       ` Ludovic Courtès
2011-04-28 21:03         ` Andy Wingo
2011-06-19 14:42           ` Ludovic Courtès
  -- strict thread matches above, loose matches on Subject: below --
2011-04-05 19:43 Mike Gran
2011-04-06  1:38 ` Volker Grabsch
2011-04-06 12:46   ` Ludovic Courtès
2011-03-26 22:04 Volker Grabsch

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).