unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
* bug#10474: Building guile 2.x under mingw + msys
@ 2012-01-10 21:58 Andy Wingo
  0 siblings, 0 replies; 44+ messages in thread
From: Andy Wingo @ 2012-01-10 21:58 UTC (permalink / raw)
  To: 10474; +Cc: commander.sirow

[-- Attachment #1: Type: message/rfc822, Size: 14834 bytes --]

[-- Attachment #1.1.1: Type: text/plain, Size: 4403 bytes --]

Hi there,

so I've been trying to build guile 2.0.3 from source with mingw (gcc 4.6.2)
+ msys.

So far I've been making progress by going with
./configure --without-threads --disable-shared

Add:
- - - - - - - -
#ifndef HAVE_STRUCT_TIMESPEC
#define HAVE_STRUCT_TIMESPEC 1
struct timespec {
        long tv_sec;
        long tv_nsec;
};
#endif /* HAVE_STRUCT_TIMESPEC */
- - - - - - - -
to libguile/threads.c, because pthread.h does not seem to set the timespec
struct. I'm using Pthreads-w32 which does have this struct in its
pthread.h, but for some weird reason id does not define the struct
(dereferencing pointer to imcomplete type).

And add:
- - - - - - - -
#ifdef __MINGW32__
static void
setenv (char const *name, char const *value, int overwrite)
{
  (void) overwrite;
  int len = strlen (value) + strlen (value) + 2;
  char *str = malloc (len);
  sprintf (str, "%s=%s", name, value);
  putenv (str);
}
#endif /* __MINGW32__ */
- - - - - - - -
to libguile/dynl.c because Windows does only have putenv and not setenv.

Commented out:
- - - - - - - -
_GL_FUNCDECL_SYS (getnameinfo, int,
                  (const struct sockaddr *restrict sa, socklen_t salen,
                   char *restrict node, socklen_t nodelen,
                   char *restrict service, socklen_t servicelen,
                   int flags)
                  _GL_ARG_NONNULL ((1)));
- - - - - - - -
and
- - - - - - - -
_GL_FUNCDECL_SYS (getaddrinfo, int,
                  (const char *restrict nodename,
                   const char *restrict servname,
                   const struct addrinfo *restrict hints,
                   struct addrinfo **restrict res)
                  _GL_ARG_NONNULL ((4)));
- - - - - - - -
and
- - - - - - - -
_GL_FUNCDECL_SYS (inet_ntop, const char *,
                  (int af, const void *restrict src,
                   char *restrict dst, socklen_t cnt)
                  _GL_ARG_NONNULL ((2, 3)));
- - - - - - - -
and
- - - - - - - -
_GL_FUNCDECL_SYS (inet_pton, int,
                  (int af, const char *restrict src, void *restrict dst)
                  _GL_ARG_NONNULL ((2, 3)));
- - - - - - - -
in lib/netdb.h and /lib/arpa/inet.h because those are given by winsock2.h
(Was getting compiler errors otherwise).

Added:
- - - - - - - -
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
#include <ws2tcpip.h>
#include <arpa/inet.h>
#include <errno.h>
#include <netinet/in.h>
#include <signal.h>
#include <winsock.h>
#include <winsock2.h>
- - - - - - - -
to libguile/net_db.c because I got missing AI_* and EAI_* defines.
(winsock2.h would probably have been enough, but I wanted to be sure)

After that compilation went fine up until (and past) generating
guile-procedures.texi:
- - - - - - - -
make[3]: Entering directory `/home/Commander/guile-2.0.3/libguile'
  GEN    guile-procedures.texi
Throw without catch before boot:
Throw to key system-error with args ("canonicalize-path" "~A" ("No such
file or
directory") (2))Aborting.

This application has requested the Runtime to terminate it in an unusual
way.
Please contact the application's support team for more information.
make[3]: *** [guile-procedures.texi] Error 1
make[3]: Leaving directory `/home/Commander/guile-2.0.3/libguile'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/Commander/guile-2.0.3/libguile'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/Commander/guile-2.0.3'
make: *** [all] Error 2
- - - - - - - -
When "This application has requested the Runtime to terminate it in an
unusual way.
Please contact the application's support team for more information." occurs
the application crashes.

When calling guile.exe directly I get:
- - - - - - - -
$ guile
Throw without catch before boot:
Throw to key misc-error with args ("primitive-load-path" "Unable to find
file ~S
 in load path" ("ice-9/boot-9") #f)Aborting.

This application has requested the Runtime to terminate it in an unusual
way.
Please contact the application's support team for more information.
- - - - - - - -
and the same crash occures.

I'm currently a bit out of ideas what to do next, eg. if the
error/exception throw is causing guile to crash or if there is something
wrong with what I modified inside the source causing this.


PS: I get the same behavior when configuring with:
./configure --without-threads --disable-shared scm_cv_struct_timespec=no
ac_cv_type_struct_addrinfo=no

[-- Attachment #1.1.2: Type: text/html, Size: 4992 bytes --]

[-- Attachment #2: Type: text/plain, Size: 27 bytes --]



-- 
http://wingolog.org/

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

end of thread, other threads:[~2016-06-24  9:51 UTC | newest]

Thread overview: 44+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <CAL+StqnixLW+QwOP2BpZrjnz1wAQjnio9H6P=VM=9Cnn-B2-ng@mail.gmail.com>
2012-01-10 22:00 ` bug#10474: Building guile 2.x under mingw + msys Andy Wingo
     [not found] ` <87pqerdxq4.fsf@pobox.com>
2012-01-17  8:09   ` Eli Zaretskii
2012-01-17 18:14     ` Eli Zaretskii
2012-01-18 23:55       ` Ludovic Courtès
2012-01-19  4:04         ` Eli Zaretskii
2012-02-02  0:59           ` Andy Wingo
2012-02-02  3:53             ` Eli Zaretskii
2012-02-02 16:39             ` Ludovic Courtès
2012-02-02 17:14               ` Eli Zaretskii
2012-02-02 17:34             ` Eli Zaretskii
2013-02-18 18:10               ` Andy Wingo
2013-02-18 19:56                 ` Eli Zaretskii
2013-02-19 10:44               ` Andy Wingo
2013-02-19 12:55                 ` Ludovic Courtès
2013-02-19 13:39                   ` Andy Wingo
2013-02-19 17:53                 ` Eli Zaretskii
2013-02-19 21:44                   ` Andy Wingo
2013-02-20 19:16                     ` Eli Zaretskii
2013-02-24 12:08                   ` Andy Wingo
2013-02-19 15:47               ` Andy Wingo
2013-02-19 18:00                 ` Eli Zaretskii
2013-02-24 13:25                   ` Andy Wingo
2013-02-24 15:43                     ` Eli Zaretskii
2013-05-07 17:18                     ` bug#14361: Building guile 2.0.9 " Eli Zaretskii
2016-06-20 21:19                       ` Andy Wingo
2016-06-21 12:46                         ` Eli Zaretskii
2016-06-21 15:06                           ` Andy Wingo
2016-06-21 15:42                             ` Eli Zaretskii
2016-06-21 20:52                               ` Andy Wingo
2016-06-24  9:51                                 ` Eli Zaretskii
2013-02-19 21:39               ` bug#10474: Building guile 2.x " Andy Wingo
2013-02-20 19:14                 ` Eli Zaretskii
2013-02-20 21:57                   ` Andy Wingo
2013-02-21  3:49                     ` Eli Zaretskii
2013-02-21  8:18                       ` Andy Wingo
2012-01-19 17:35         ` Eli Zaretskii
2012-01-21 11:09           ` Eli Zaretskii
2012-01-24 12:27             ` Eli Zaretskii
2012-01-25 21:12             ` Ludovic Courtès
2012-01-26  5:37               ` Eli Zaretskii
2012-01-29 18:30                 ` Ludovic Courtès
2012-01-29 19:17                   ` Eli Zaretskii
2012-01-29 22:56                     ` Ludovic Courtès
2012-01-10 21:58 Andy Wingo

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).