durusmail: quixote-users: problem building 0.6b5 on windows using mingw32 (gcc 3.2): initializer element is not constant
problem building 0.6b5 on windows using mingw32 (gcc 3.2): initializer element is not constant
problem building 0.6b5 on windows using mingw32 (gcc 3.2): initializer element is not constant
problem building 0.6b5 on windows using mingw32 (gcc 3.2): initializer element is not constant
GerhardHäring
2003-03-31
* gian paolo ciceri  [2003-03-30 23:19 +0200]:
> Hello all,
> I'm trying to build quixote on WinXP H.E.
> using mingw32. I've build libpython22.a as required,
> but now I take...
> ------------------------------------------------------------
>  python setup.py build --compiler=mingw32
>
> running build_ext
> building 'quixote._c_htmltext' extension
> src/_c_htmltext.c:738: initializer element is not constant
> src/_c_htmltext.c:738: (near initialization for `htmltext_Type.tp_getattro')
> src/_c_htmltext.c:759: initializer element is not constant
> src/_c_htmltext.c:759: (near initialization for `htmltext_Type.tp_alloc')
> src/_c_htmltext.c:761: initializer element is not constant
> src/_c_htmltext.c:761: (near initialization for `htmltext_Type.tp_free')
> src/_c_htmltext.c:846: initializer element is not constant
> src/_c_htmltext.c:846: (near initialization for
> `TemplateIO_Type.tp_getattro')
> src/_c_htmltext.c:866: initializer element is not constant
> src/_c_htmltext.c:866: (near initialization for `TemplateIO_Type.tp_alloc')
> src/_c_htmltext.c:868: initializer element is not constant
> src/_c_htmltext.c:868: (near initialization for `TemplateIO_Type.tp_free')
> c:/mingw/bin\gcc.exe -mno-cygwin -mdll -O -Wall -Ic:\Python22\include -c
> src/_c_htmltext.c -o build\temp.win32-2.2\Release\_c_htmltext.o
> error: command 'gcc' failed with exit status 1
> --------------------------------------------------------------------------
>
> My compiler specs:
> $ gcc -v

You'll get the same errors with MSVC, btw.

> Anyone out there able to do successfully what I'm trying ???
> Any help will be appreciated.

>From what I've read, you don't need the C module to run Quixote (it's
not used anyway from what I've read). So you could just disable it in
the setup.py.

If you really want to build the C module, you'll need some
"Windows-porting" - I've only done this a a few dozen times myself :-/

struct initializers must be constant with C compilers on Windows, so you
put a "NULL" in the struct instead, then initialize the field (tp_alloc,
tp_free, etc.) in the init function of the module.

Gerhard
--
mail:   gh@ghaering.de
web:    http://ghaering.de/

reply