MacMacOS

Обновление до macOS Catalina

Настала пора обновиться до macOS Catalina. Уже как пару месяцев доступна новая ОС. Само обновление прошло легко и просто. Пару часов на то, чтобы скачать и установить новую ОС. Но после обновления обнаружил что не работает Python — вылетает с какими-то ошибками.

Первое что пришло в голову — обновить пакеты в homebrew.

$ brew update && brew upgrade

Обновиться не получилось, получил такую ошибку:

Error: The following directories are not writable by your user:
/usr/local/share/aclocal
/usr/local/share/doc
/usr/local/share/info
/usr/local/share/locale
/usr/local/share/man/man3
/usr/local/share/man/man4
/usr/local/share/man/man5
/usr/local/share/man/man7
/usr/local/share/man/man8
/usr/local/share/zsh
/usr/local/share/zsh/site-functions

You should change the ownership of these directories to your user.
  sudo chown -R $(whoami) /usr/local/share/aclocal /usr/local/share/doc /usr/local/share/info /usr/local/share/locale /usr/local/share/man/man3 /usr/local/share/man/man4 /usr/local/share/man/man5 /usr/local/share/man/man7 /usr/local/share/man/man8 /usr/local/share/zsh /usr/local/share/zsh/site-functions

And make sure that your user has write permission.
  chmod u+w /usr/local/share/aclocal /usr/local/share/doc /usr/local/share/info /usr/local/share/locale /usr/local/share/man/man3 /usr/local/share/man/man4 /usr/local/share/man/man5 /usr/local/share/man/man7 /usr/local/share/man/man8 /usr/local/share/zsh /usr/local/share/zsh/site-functions

Выполнил что просят, запустил обновление повторно. Опять ошибка:

Error: An exception occurred within a child process:
  CompilerSelectionError: interactive/devkit/idk-core cannot be built with any available compilers.
Install GNU's GCC:
  brew install gcc

При попытке установить gcc опять ошибка:

Warning: Building gcc from source:
  The bottle needs the Xcode CLT to be installed.
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
Error: An exception occurred within a child process:
  CompilerSelectionError: gcc cannot be built with any available compilers.
Install GNU's GCC:
  brew install gcc

С Xcode решилось вот так:

$ xcode-select --install

После gcc установился без проблем. Повторяю brew upgrade, опять проблемы:

Error: Cannot link glib
Another version is already linked: /usr/local/Cellar/glib/2.62.3

Попытался сделать вот так:

$ brew unlink glib && brew link glib

Опять ошибка

"Error: Permission denied @ apply2files - /usr/local/share/gettext/its/gschema.its".

Помогло поменять права на /usr/local/share/:

$ sudo chown -R $(whoami) /usr/local/share/

После обновление homebrew прошло успешно. Маленькая победа!

Но на этом проблемы с Python не закончились — вылетает, ругаясь на libcrypto.dylib.

Application Specific Information:  
/usr/lib/libcrypto.dylib  
abort() called  
Invalid dylib load. Clients should not load the unversioned libcrypto dylib as it does not have a stable ABI. 

Решение оказалось достаточно простым. Нужно установить/обновить openssl.

$ brew install openssl

И скопировать файлики в /usr/local/lib/.

$ cd /usr/local/Cellar/openssl/1.0.2t/lib/
$ sudo cp libssl.1.0.0.dylib libcrypto.1.0.0.dylib /usr/local/lib/
$ sudo ln -s libssl.1.0.0.dylib libssl.dylib
$ sudo ln -s libcrypto.1.0.0.dylib libcrypto.dylib

Python заработал!

Статья может обновляться по мере нахождения проблем :-)

Loading...