Il manque zlib qui casse Haxe et pip sous Mac OS X 10.11 (El Capitan)

2

Je suis passé à El Capitan (version 10.11 Beta 7, build 15A263e) il y a quelques jours. Mis à part les problèmes liés aux autorisations, tout semblait bien fonctionner. Cependant, lorsque j'essaie d'exécuter des bibliothèques Haxe ou d'utiliser le pip du gestionnaire de packages Python, des erreurs me sont associées zlib, que je ne sais pas comment résoudre.

L'erreur Haxe se produit lorsque j'essaie de courir haxelib run lime setupet j'obtiens ceci:

Called from /usr/lib/haxe/std/neko/_std/haxe/zip/Compress.hx line 60
Uncaught exception - load.c(237) : Failed to load library : zlib.ndll (dlopen(zlib.ndll, 1): image not found)

Lorsque j'essaie d'exécuter pip, que j'ai installé via Homebrew, je reçois ceci:

Traceback (most recent call last):
File "/usr/local/bin/pip", line 9, in <module>
load_entry_point('pip==7.1.2', 'console_scripts', 'pip')()
File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 558, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2682, in load_entry_point
return ep.load()
File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2355, in load
return self.resolve()
File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2361, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/Library/Python/2.7/site-packages/pip/__init__.py", line 15, in <module>
from pip.vcs import git, mercurial, subversion, bazaar  # noqa
File "/Library/Python/2.7/site-packages/pip/vcs/mercurial.py", line 10, in <module>
from pip.download import path_to_url
File "/Library/Python/2.7/site-packages/pip/download.py", line 38, in <module>
from pip._vendor import requests, six
File "/Library/Python/2.7/site-packages/pip/_vendor/requests/__init__.py", line 58, in <module>
from . import utils
File "/Library/Python/2.7/site-packages/pip/_vendor/requests/utils.py", line 26, in <module>
from .compat import parse_http_list as _parse_list_header
File "/Library/Python/2.7/site-packages/pip/_vendor/requests/compat.py", line 7, in <module>
from .packages import chardet
File "/Library/Python/2.7/site-packages/pip/_vendor/requests/packages/__init__.py", line 3, in <module>
from . import urllib3
File "/Library/Python/2.7/site-packages/pip/_vendor/requests/packages/urllib3/__init__.py", line 10, in <module>
from .connectionpool import (
File "/Library/Python/2.7/site-packages/pip/_vendor/requests/packages/urllib3/connectionpool.py", line 38, in <module>
from .response import HTTPResponse
File "/Library/Python/2.7/site-packages/pip/_vendor/requests/packages/urllib3/response.py", line 5, in <module>
import zlib
ImportError: No module named zlib

Ceci est en plus des erreurs d'autorisations avec pip; Je ne peux pas exécuter pip sans utiliser sudo, mais je pense que ce n'est probablement pas lié.

Des pensées? Je pense que le fait de le faire disparaître zlib.ndllpourrait résoudre le problème, mais je ne sais pas quelle est la "bonne" façon de le faire.

Steve Richey
la source
J'ai pu résoudre les problèmes de pip avec ça , mais Haxe est toujours aussi funky.
Steve Richey

Réponses:

2

Haxe nécessite que Neko soit configuré correctement pour exécuter des outils tels que haxelib. Vous pouvez installer neko via Homebrew en procédant comme suit. Premièrement, vous avez besoin de zlib et de sqlite, car neko requiert les deux.

brew install zlib sqlite3

Vous devrez maintenant forcer Homebrew à les lier car il s’agit de bibliothèques composées uniquement de fûts et que neko a besoin des fichiers d’inclusion dans / usr / local / include.

brew link zlib --force
brew link sqlite3 --force

Enfin, installez neko via Homebrew. Assurez-vous de définir également NEKOPATH sur le répertoire homebrew créé.

brew install neko --HEAD
Matt Tuttle
la source
Ceci explique comment installer nekovia Homebrew mais comment cela est-il lié à la question posée? En outre, Homebrew n'est pas «quelques étapes» si l'on ne dispose pas de Xcode, ce qui peut représenter un téléchargement et une configuration de 4 Go +.
JakeGould
L'erreur que Steve reçoit est liée au fait que neko n'est pas configuré correctement pour Haxe. J'ai mis à jour ma réponse.
Matt Tuttle
+1 Merci d'avoir ajouté le contexte. Mon opinion sur le fait que Homebrew soit présenté tel quel est toujours la même, mais je pense toujours que c'est une bonne réponse.
JakeGould