[Python-Dev] Can 3.1 still be built without complex? (original) (raw)

Mark Dickinson dickinsm at gmail.com
Thu Oct 15 16:46:55 CEST 2009


[I originally sent this reply to Skip instead of to the list; apologies.]

On Thu, Oct 15, 2009 at 12:39 PM, <skip at pobox.com> wrote:

I notice that WITHOUTCOMPLEX still appears in Python.h and several .c files but nowhere else in the 2.6, 2.7 or 3.1 source, most particularly not in configure or pyconfig.h.in. Are builds --without-complex still supported? Has it been tested at any time in the recent past?

Apparently not. :)

I just tried the following with an svn checkout of trunk (r75433), on OS X 10.6:

dickinsm$ CC='gcc -DWITHOUT_COMPLEX' ./configure && make

The build fails with:

gcc -DWITHOUT_COMPLEX -c -fno-strict-aliasing -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -I. -IInclude -I./Include -DPy_BUILD_CORE -o Python/compile.o Python/compile.c Python/compile.c: In function ‘compiler_add_o’: Python/compile.c:914: error: ‘Py_complex’ undeclared (first use in this function) Python/compile.c:914: error: (Each undeclared identifier is reported only once Python/compile.c:914: error: for each function it appears in.) Python/compile.c:914: error: expected ‘;’ before ‘z’ Python/compile.c:931: warning: implicit declaration of function ‘PyComplex_Check’ Python/compile.c:937: error: ‘z’ undeclared (first use in this function) Python/compile.c:937: warning: implicit declaration of function ‘PyComplex_AsCComplex’ make: *** [Python/compile.o] Error 1

Mark

Postscript: the above compilation failure is easily fixed. The next failure is:

gcc -DWITHOUT_COMPLEX -u _PyMac_Error -o python.exe
Modules/python.o
libpython2.7.a -ldl Undefined symbols: "_PyComplex_RealAsDouble", referenced from: __PyComplex_FormatAdvanced in libpython2.7.a(formatter_string.o) "_PyComplex_ImagAsDouble", referenced from: __PyComplex_FormatAdvanced in libpython2.7.a(formatter_string.o) ld: symbol(s) not found collect2: ld returned 1 exit status make: *** [python.exe] Error 1



More information about the Python-Dev mailing list