Построение Python 3 на OS X: [Python / importlib.h] ошибка 133

Я пытаюсь построить Python (3.5.2) на OS X El Capitan (10.11.5). Тем не менее, я сталкиваюсь с ошибкой, когда пытаюсь make его. Ошибка, похоже, связана с _freeze_importlib.

/usr/local/src/Python-3.5.2 $ make
if test "no" != "yes"; then 
        ./Programs/_freeze_importlib 
            ./Lib/importlib/_bootstrap.py Python/importlib.h; 
    fi
dyld: lazy symbol binding failed: Symbol not found: _getentropy
  Referenced from: /usr/local/src/Python-3.5.2/./Programs/_freeze_importlib
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _getentropy
  Referenced from: /usr/local/src/Python-3.5.2/./Programs/_freeze_importlib
  Expected in: /usr/lib/libSystem.B.dylib

/bin/sh: line 1: 56666 Trace/BPT trap: 5       ./Programs/_freeze_importlib ./Lib/importlib/_bootstrap.py Python/importlib.h
make: *** [Python/importlib.h] Error 133
/usr/local/src/Python-3.5.2 $ 

вы можете видеть мои шаги на GitHub.

полный вывод терминала до make fail находится в суть.


я полностью признаю, что это академическое упражнение, так как El Capitan поставляется с Python 2.7.10, и вы можете легко установите Python 3.5.2 с официальным пакетом установщика OS X или через Homebrew.

документация использование Python на платформах Unix предоставляет инструкции по сборке. Документация для использование Python на Macintosh специально говорит, чтобы использовать пакет установщика OS X.

однако, должно быть возможно построить на Mac.

Python на Macintosh под управлением Mac OS X в принципе очень похож на Python на любой другой платформе Unix, но есть ряд дополнительных функций, таких как IDE и менеджер пакетов, которые стоит отметить.

на данный момент я не беспокоюсь об этих дополнительных функциях. Просто любопытно, почему я получаю make ошибка.

2 ответов


исправлено.

производства ./configure, Я заметил ссылку на /Applications/Xcode-beta.app/Contents/Developer/. Я установил Xcode 8 (beta) несколько дней назад. После переключения на обычные инструменты командной строки (с Xcode 7.3.1)

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

make удалось. Не совсем.

Python build finished successfully!
The necessary bits to build these optional modules were not found:
_dbm                  _gdbm                 _sqlite3           
_ssl                  nis                   ossaudiodev        
spwd                  zlib                                     
To find the necessary bits, look in setup.py in detect_modules() for the module's name.

Failed to build these modules:
_lzma                 _tkinter 

надеюсь, мне не нужны эти модули.

Я поставил полный выход ./configure и make в этой суть. Я не включил вывод make install как это было слишком долго и, казалось, только повторял предупреждения и ошибки make.

Примечания

  • я не использую --enable-framework или --enable-universalsdk.

Я думаю, что лучшим решением является xcode-select --install.

Если вы обновите Xcode до 8 (бета-версия), вы должны запустить xcode-select --install снова, чтобы установить все инструменты сборки с ним.

я столкнулся с той же проблемой, что и ваш, и я могу успешно установить python через brew с Xcode8 после запуска xcode-select --install.

Я надеюсь, что это поможет другим с той же проблемой здесь.