[Python-Dev] Can 3.1 still be built without complex?

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 WITHOUT_COMPLEX 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