GNU bug report logs -
#22406
Cannot compile for Windows x64 due to LLP64 model
Previous Next
Full log
View this message in rfc822 format
It is not currently possible to compile Guile 2.0.11 for Windows x64 (in
particular 64-bit Windows running on the x86-64 arch).
Most operating systems' C libraries for x86-64 use an "LP64" model,
where sizeof(long int) == sizeof(void *) == 8.
However, for backwards-compatibility reasons, Windows uses an "LLP64"
model, where sizeof(long long int) == sizeof(void *) == 8 and
sizeof(long int) == 4.
Guile 2.0.11 can't cope with this; the libguile build fails due to this
code:
> static SCM
> scm_i_inum2big (scm_t_inum x)
> {
> /* Return a newly created bignum initialized to X. */
> SCM z = make_bignum ();
> #if SIZEOF_VOID_P == SIZEOF_LONG
> mpz_init_set_si (SCM_I_BIG_MPZ (z), x);
> #else
> /* Note that in this case, you'll also have to check all mpz_*_ui and
> mpz_*_si invocations in Guile. */
> #error creation of mpz not implemented for this inum size
> #endif
> return z;
> }
http://git.savannah.gnu.org/cgit/guile.git/tree/libguile/numbers.c?id=v2.0.11#n272
Some work appears to be required before using 64-bit Guile on Windows
x64 is possible.
--
Dr Peter Brett <peter <at> peter-b.co.uk>
This bug report was last modified 4 years and 28 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.