"brew install python3" non riesce a compilare pyexpat

2

brew install python3 fallisce con un errore pyexpat, il che significa che Python installato non può analizzare XML (rottura pip ecc.). Ecco l'estratto pertinente da ~/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 mostra che questo simbolo è definito lì, ma in base a otool -L il file pyexpat .so non lo menziona; la sua unica dipendenza è:

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

Sempre da 02.make , questo è il modo in cui è stato creato pyexpat .so (ho aggiunto interruzioni di riga per renderlo più leggibile):

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

Sto eseguendo XCode 9.4.1 su mac OS 10.13.6 (17G65). Altri rapporti indicano che il problema potrebbe essere che la mia versione Xcode è più recente della mia versione macOS, ma a causa del criterio di lavoro non posso ancora eseguire l'aggiornamento a Mojave.

Qualche idea su come posso installare Python 3 funzionante?

    
posta Paul Crowley 01.10.2018 - 05:21
fonte

1 risposta

2

Alla fine ho risolto questo problema con

  • disinstallando completamente XCode (e facendo affidamento sugli strumenti da riga di comando xcode-select)
  • cherry-picking questo commit nella mia directory Taps homebrew-core
  • reinstallare python3
risposta data 01.10.2018 - 08:08
fonte

Leggi altre domande sui tag