[CLN-list] mingw-w64

Alexei Sheplyakov alexei.sheplyakov at gmail.com
Fri Feb 4 21:32:25 CET 2011


Hi, Jan!

> I tried to compile CLN with MinGW 64-bit (compilation for 32bit works fine).

> libtool: compile:  x86_64-w64-mingw32-g++ -DHAVE_CONFIG_H -I. -I../autoconf -I../include -I../src -I../include -I../src -g -O2 -MT cl_alloca.lo -MD -MP -MF .deps/cl_alloca.Tpo -c base/cl_alloca.cc -o cl_alloca.o
> In file included from ./base/cl_sysdep.h:10:0,
>                 from base/cl_alloca.cc:4:
> ../include/cln/intparam.h:26:2: error: #error "Type char * does not fit into a long!!"
> In file included from ../include/cln/types.h:10:0,
>                 from ./base/cl_macros.h:6,
>                 from ./base/cl_sysdep.h:56,
>                 from base/cl_alloca.cc:4:
> ../include/cln/intparam.h:26:2: error: #error "Type char * does not fit into a long!!"
> base/cl_alloca.cc: In function 'cln::cl_alloca_header* cln::cl_alloc_alloca_header(size_t)':
> base/cl_alloca.cc:20:40: error: cast from 'long int*' to 'long int' loses precision
> make[1]: *** [cl_alloca.lo] Error 1
> make[1]: Leaving directory `/home/jan/mingw/cln/src'
> make: *** [all-recursive] Error 1

CLN (and in fact many other software packages) assumes that
sizeof(void*) == sizeof(long).
This assumption worked since ever, on every hardware and software
platform... until win64
designers decided to break it.

If someone wants to port CLN to such a weird platform -- well, good
luck. Patches are always
welcome.

Best regards,
        Alexei


More information about the CLN-list mailing list