[Python-checkins] Failed compilation on ia64 Debian buildbot slave

Thomas Heller theller at python.net
Tue Apr 4 22:13:04 CEST 2006


Martin v. Löwis wrote:
> Thomas Heller wrote:
>> http://www.python.org/dev/buildbot/trunk/ia64%20Debian%20unstable%20trunk/builds/6/step-compile/0
>>
>> Could it be that this compilation failure is caused by a previous failed build/test attempt,
>> where the 'clean' step has not been run?
>>
>> Python's setup.py, in detect_ctypes(), detects that ctypes/libffi must be configured
>> if a certain file is not present in the build directory.
> 
> It's certainly the case that the clean step wasn't run previously
> (because somehow, the connection to the slave was lost). However, this
> shouldn't cause the build to fail: it should be possible to invoke make
> over and over again, without invoking "make clean" in-between.
> 
> The real problem seems to be that something (what?) is looking for
> 
> /home/packages/python/buildarea/trunk.klose-debian-ia64/build/Modules/_ctypes/libffi/src/prep_cif.c

It's distutils newer_group function.  And distutils does a good job at hiding the error. 
For a test I've removed prep_cif.c in my own sandbox, and started setup.py with DISTUTILS_DEBUG
env var set. The result is appended to this email.

> This file ought to be present, it is under subversion control.

The error on the buildbot could be a different one.  Strange.

> I "fixed" it by forcing a build for that builder on a different branch;
> this causes a complete cleanup of the build directory, and a fresh checkout.

Seems that this has helped, the compilation did succeed now.

> If this happens again, we will have to investigate what happened.
> 
> Regards,
> Martin

thomas at tubu:~/devel/trunk$ make
case $MAKEFLAGS in \
*-s*)  CC='gcc -pthread' LDSHARED='gcc -pthread -shared' OPT='-DNDEBUG -g -O3 -Wall -Wstrict-prototypes' ./python -E ./setup.py -q build;; \
*)  CC='gcc -pthread' LDSHARED='gcc -pthread -shared' OPT='-DNDEBUG -g -O3 -Wall -Wstrict-prototypes' ./python -E ./setup.py build;; \
esac
Distribution.parse_config_files():
options (after parsing config files):
no commands known yet
options (after parsing command line):
option dict for 'build' command:
  {}
running build
Distribution.get_command_obj(): creating 'build' command object
running build_ext
Distribution.get_command_obj(): creating 'build_ext' command object
INFO: Can't locate Tcl/Tk libs and/or headers
building '_ctypes' extension
error: /home/thomas/devel/trunk/Modules/_ctypes/libffi/src/prep_cif.c: No such file or directory
Traceback (most recent call last):
  File "./setup.py", line 92, in <module>
    class PyBuildExt(build_ext):
  File "./setup.py", line 1422, in main
    'Lib/smtpd.py']
  File "/home/thomas/devel/trunk/Lib/distutils/core.py", line 151, in setup
    dist.run_commands()
  File "/home/thomas/devel/trunk/Lib/distutils/dist.py", line 974, in run_commands
    self.run_command(cmd)
  File "/home/thomas/devel/trunk/Lib/distutils/dist.py", line 994, in run_command
    cmd_obj.run()
  File "/home/thomas/devel/trunk/Lib/distutils/command/build.py", line 112, in run
    self.run_command(cmd_name)
  File "/home/thomas/devel/trunk/Lib/distutils/cmd.py", line 333, in run_command
    self.distribution.run_command(command)
  File "/home/thomas/devel/trunk/Lib/distutils/dist.py", line 994, in run_command
    cmd_obj.run()
  File "/home/thomas/devel/trunk/Lib/distutils/command/build_ext.py", line 279, in run
    self.build_extensions()
  File "./setup.py", line 179, in build_extensions
    build_ext.build_extensions(self)
  File "/home/thomas/devel/trunk/Lib/distutils/command/build_ext.py", line 405, in build_extensions
    self.build_extension(ext)
  File "./setup.py", line 184, in build_extension
    build_ext.build_extension(self, ext)
  File "/home/thomas/devel/trunk/Lib/distutils/command/build_ext.py", line 470, in build_extension
    depends=ext.depends)
  File "/home/thomas/devel/trunk/Lib/distutils/ccompiler.py", line 691, in compile
    depends, extra_postargs)
  File "/home/thomas/devel/trunk/Lib/distutils/ccompiler.py", line 405, in _setup_compile
    if newer_group(L, objects[i]):
  File "/home/thomas/devel/trunk/Lib/distutils/dep_util.py", line 89, in newer_group
    source_mtime = os.stat(source)[ST_MTIME]
OSError: [Errno 2] No such file or directory: '/home/thomas/devel/trunk/Modules/_ctypes/libffi/src/prep_cif.c'
make: *** [sharedmods] Fehler 1
thomas at tubu:~/devel/trunk$



More information about the Python-checkins mailing list