"brew install python3" no compila pyexpat

2

brew install python3 falla con un error de pyexpat, lo que significa que el Python instalado no puede analizar XML (rompiendo pip , etc.). Aquí está el extracto relevante de ~/Library/Logs/Homebrew/python/02.make :

*** WARNING: renaming "pyexpat" since importing it failed: dlopen(build/lib.macosx-10.13-x86_64-3.7/pyexpat.cpython-37m-darwin.so, 2): Symbol not found: _XML_ErrorString
  Referenced from: build/lib.macosx-10.13-x86_64-3.7/pyexpat.cpython-37m-darwin.so
  Expected in: flat namespace
 in build/lib.macosx-10.13-x86_64-3.7/pyexpat.cpython-37m-darwin.so

nm -gU /usr/lib/libexpat.1.dylib muestra que este símbolo está definido allí, pero según otool -L el archivo pyexpat .so no lo menciona; Su única dependencia es:

/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.50.4)

De nuevo, desde 02.make , así es como se construyó el pyexpat .so (he agregado saltos de línea para hacerlo más legible):

clang \
-bundle \
-undefined dynamic_lookup \
-isysroot \
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk \
build/temp.macosx-10.13-x86_64-3.7/private/tmp/python-20180929-40812-11ki5rr/Python-3.7.0/Modules/pyexpat.o \
build/temp.macosx-10.13-x86_64-3.7/private/tmp/python-20180929-40812-11ki5rr/Python-3.7.0/Modules/expat/xmlparse.o \
build/temp.macosx-10.13-x86_64-3.7/private/tmp/python-20180929-40812-11ki5rr/Python-3.7.0/Modules/expat/xmlrole.o \
build/temp.macosx-10.13-x86_64-3.7/private/tmp/python-20180929-40812-11ki5rr/Python-3.7.0/Modules/expat/xmltok.o \
-L/usr/local/lib \
-o build/lib.macosx-10.13-x86_64-3.7/pyexpat.cpython-37m-darwin.so

Estoy ejecutando XCode 9.4.1 en mac OS 10.13.6 (17G65). Otros informes indican que el problema podría ser que mi versión de Xcode es más nueva que mi versión macOS, pero debido a la política de trabajo no puedo actualizar a Mojave por el momento.

¿Alguna idea de cómo puedo obtener una instalación de Python 3 en funcionamiento?

    
pregunta Paul Crowley 01.10.2018 - 05:21

1 respuesta

2

Eventualmente lo arreglé por

  • desinstalar XCode por completo (y confiar en las herramientas de línea de comandos de selección de código)
  • cherry-picking este commit en mi directorio de Taps de homebrew-core
  • reinstalando python3
respondido por el Paul Crowley 01.10.2018 - 08:08

Lea otras preguntas en las etiquetas