collect2: ld returned 1 exit status when building from source

Steve D'Aprano steve+python at pearwood.info
Sat Sep 10 20:08:52 EDT 2016


On Sun, 11 Sep 2016 03:34 am, Zachary Ware wrote:

> Try make distclean, then configure and build again.  If that fails, try
> another make distclean, then configure, do 'make touch', then build again.

I worked around the failed hg touch by running it manually:

python2.7 /usr/bin/hg --config extensions.touch=Tools/hg/hgtouch.py touch -v


which printed a few warnings and then (apparently) succeeded:

/usr/lib/python2.4/site-packages/mercurial/demandimport.py:58:
RuntimeWarning: Python C API version mismatch for module osutil: This
Python has API version 1013, module osutil has version 1012.
  mod = _origimport(head, globals, locals)
/usr/lib/python2.4/site-packages/mercurial/demandimport.py:58:
RuntimeWarning: Python C API version mismatch for module parsers: This
Python has API version 1013, module parsers has version 1012.
  mod = _origimport(head, globals, locals)
Touching Python/Python-ast.c


but the build still fails, with the same errors:


Python/dtrace_stubs.o: In function `PyDTrace_LINE':
/home/steve/python/python-dev/cpython/Include/pydtrace.h:25: multiple
definition of `PyDTrace_LINE'
Python/ceval.o:/home/steve/python/python-dev/cpython/Include/pydtrace.h:25:
first defined here
  [ ... many, many, many more similar errors ... ]

collect2: ld returned 1 exit status
make: *** [Programs/_freeze_importlib] Error 1




-- 
Steve
“Cheer up,” they said, “things could be worse.” So I cheered up, and sure
enough, things got worse.




More information about the Python-list mailing list