{"action":"closed","issue":{"url":"https://api.github.com/repos/pyca/pynacl/issues/476","repository_url":"https://api.github.com/repos/pyca/pynacl","labels_url":"https://api.github.com/repos/pyca/pynacl/issues/476/labels{/name}","comments_url":"https://api.github.com/repos/pyca/pynacl/issues/476/comments","events_url":"https://api.github.com/repos/pyca/pynacl/issues/476/events","html_url":"https://github.com/pyca/pynacl/issues/476","id":364249659,"node_id":"MDU6SXNzdWUzNjQyNDk2NTk=","number":476,"title":"pynacl install fails ERROR: The 'make' utility is missing from PATH","user":{"login":"ricardovm91","id":13007080,"node_id":"MDQ6VXNlcjEzMDA3MDgw","avatar_url":"https://avatars2.githubusercontent.com/u/13007080?v=4","gravatar_id":"","url":"https://api.github.com/users/ricardovm91","html_url":"https://github.com/ricardovm91","followers_url":"https://api.github.com/users/ricardovm91/followers","following_url":"https://api.github.com/users/ricardovm91/following{/other_user}","gists_url":"https://api.github.com/users/ricardovm91/gists{/gist_id}","starred_url":"https://api.github.com/users/ricardovm91/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ricardovm91/subscriptions","organizations_url":"https://api.github.com/users/ricardovm91/orgs","repos_url":"https://api.github.com/users/ricardovm91/repos","events_url":"https://api.github.com/users/ricardovm91/events{/privacy}","received_events_url":"https://api.github.com/users/ricardovm91/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2018-09-26T23:25:30Z","updated_at":"2018-09-28T01:27:39Z","closed_at":"2018-09-28T01:27:39Z","author_association":"NONE","body":"Hello, when installing pynacl v 1.3.0 building a Dockerfile I get the next error:\r\n\r\n```\r\nCollecting pynacl\r\n  Downloading https://files.pythonhosted.org/packages/61/ab/2ac6dea8489fa713e2b4c6c5b549cc962dd4a842b5998d9e80cf8440b7cd/PyNaCl-1.3.0.tar.gz (3.4MB)\r\n  Installing build dependencies: started\r\n  Installing build dependencies: finished with status 'done'\r\nCollecting six (from pynacl)\r\n  Downloading https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl\r\nCollecting cffi>=1.4.1 (from pynacl)\r\n  Using cached https://files.pythonhosted.org/packages/6d/c0/47db8f624f3e4e2f3f27be03a93379d1ba16a1450a7b1aacfa0366e2c0dd/cffi-1.11.5-cp36-cp36m-manylinux1_x86_64.whl\r\nCollecting pycparser (from cffi>=1.4.1->pynacl)\r\nBuilding wheels for collected packages: pynacl\r\n  Running setup.py bdist_wheel for pynacl: started\r\n  Running setup.py bdist_wheel for pynacl: finished with status 'error'\r\n  Complete output from command /usr/local/bin/python -u -c \"import setuptools, tokenize;__file__='/tmp/pip-install-3djfemi7/pynacl/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\\r\\n', '\\n');f.close();exec(compile(code, __file__, 'exec'))\" bdist_wheel -d /tmp/pip-wheel-9lu2e4sj --python-tag cp36:\r\n  running bdist_wheel\r\n  running build\r\n  running build_py\r\n  creating build\r\n  creating build/lib.linux-x86_64-3.6\r\n  creating build/lib.linux-x86_64-3.6/nacl\r\n  copying src/nacl/exceptions.py -> build/lib.linux-x86_64-3.6/nacl\r\n  copying src/nacl/__init__.py -> build/lib.linux-x86_64-3.6/nacl\r\n  copying src/nacl/secret.py -> build/lib.linux-x86_64-3.6/nacl\r\n  copying src/nacl/hash.py -> build/lib.linux-x86_64-3.6/nacl\r\n  copying src/nacl/hashlib.py -> build/lib.linux-x86_64-3.6/nacl\r\n  copying src/nacl/encoding.py -> build/lib.linux-x86_64-3.6/nacl\r\n  copying src/nacl/utils.py -> build/lib.linux-x86_64-3.6/nacl\r\n  copying src/nacl/signing.py -> build/lib.linux-x86_64-3.6/nacl\r\n  copying src/nacl/public.py -> build/lib.linux-x86_64-3.6/nacl\r\n  creating build/lib.linux-x86_64-3.6/nacl/pwhash\r\n  copying src/nacl/pwhash/__init__.py -> build/lib.linux-x86_64-3.6/nacl/pwhash\r\n  copying src/nacl/pwhash/argon2i.py -> build/lib.linux-x86_64-3.6/nacl/pwhash\r\n  copying src/nacl/pwhash/argon2id.py -> build/lib.linux-x86_64-3.6/nacl/pwhash\r\n  copying src/nacl/pwhash/_argon2.py -> build/lib.linux-x86_64-3.6/nacl/pwhash\r\n  copying src/nacl/pwhash/scrypt.py -> build/lib.linux-x86_64-3.6/nacl/pwhash\r\n  creating build/lib.linux-x86_64-3.6/nacl/bindings\r\n  copying src/nacl/bindings/crypto_shorthash.py -> build/lib.linux-x86_64-3.6/nacl/bindings\r\n  copying src/nacl/bindings/__init__.py -> build/lib.linux-x86_64-3.6/nacl/bindings\r\n  copying src/nacl/bindings/sodium_core.py -> build/lib.linux-x86_64-3.6/nacl/bindings\r\n  copying src/nacl/bindings/crypto_secretbox.py -> build/lib.linux-x86_64-3.6/nacl/bindings\r\n  copying src/nacl/bindings/crypto_scalarmult.py -> build/lib.linux-x86_64-3.6/nacl/bindings\r\n  copying src/nacl/bindings/crypto_aead.py -> build/lib.linux-x86_64-3.6/nacl/bindings\r\n  copying src/nacl/bindings/crypto_generichash.py -> build/lib.linux-x86_64-3.6/nacl/bindings\r\n  copying src/nacl/bindings/crypto_kx.py -> build/lib.linux-x86_64-3.6/nacl/bindings\r\n  copying src/nacl/bindings/randombytes.py -> build/lib.linux-x86_64-3.6/nacl/bindings\r\n  copying src/nacl/bindings/utils.py -> build/lib.linux-x86_64-3.6/nacl/bindings\r\n  copying src/nacl/bindings/crypto_secretstream.py -> build/lib.linux-x86_64-3.6/nacl/bindings\r\n  copying src/nacl/bindings/crypto_hash.py -> build/lib.linux-x86_64-3.6/nacl/bindings\r\n  copying src/nacl/bindings/crypto_box.py -> build/lib.linux-x86_64-3.6/nacl/bindings\r\n  copying src/nacl/bindings/crypto_sign.py -> build/lib.linux-x86_64-3.6/nacl/bindings\r\n  copying src/nacl/bindings/crypto_pwhash.py -> build/lib.linux-x86_64-3.6/nacl/bindings\r\n  running build_clib\r\n  Traceback (most recent call last):\r\n    File \"<string>\", line 1, in <module>\r\n    File \"/tmp/pip-install-3djfemi7/pynacl/setup.py\", line 255, in <module>\r\n      \"Programming Language :: Python :: 3.7\",\r\n    File \"/tmp/pip-build-env-gfd40y3_/lib/python3.6/site-packages/setuptools/__init__.py\", line 140, in setup\r\n      return distutils.core.setup(**attrs)\r\n    File \"/usr/local/lib/python3.6/distutils/core.py\", line 148, in setup\r\n      dist.run_commands()\r\n    File \"/usr/local/lib/python3.6/distutils/dist.py\", line 955, in run_commands\r\n      self.run_command(cmd)\r\n    File \"/usr/local/lib/python3.6/distutils/dist.py\", line 974, in run_command\r\n      cmd_obj.run()\r\n    File \"/tmp/pip-build-env-gfd40y3_/lib/python3.6/site-packages/wheel/bdist_wheel.py\", line 202, in run\r\n      self.run_command('build')\r\n    File \"/usr/local/lib/python3.6/distutils/cmd.py\", line 313, in run_command\r\n      self.distribution.run_command(command)\r\n    File \"/usr/local/lib/python3.6/distutils/dist.py\", line 974, in run_command\r\n      cmd_obj.run()\r\n    File \"/usr/local/lib/python3.6/distutils/command/build.py\", line 135, in run\r\n      self.run_command(cmd_name)\r\n    File \"/usr/local/lib/python3.6/distutils/cmd.py\", line 313, in run_command\r\n      self.distribution.run_command(command)\r\n    File \"/usr/local/lib/python3.6/distutils/dist.py\", line 974, in run_command\r\n      cmd_obj.run()\r\n    File \"/tmp/pip-install-3djfemi7/pynacl/setup.py\", line 159, in run\r\n      raise Exception(\"ERROR: The 'make' utility is missing from PATH\")\r\n  Exception: ERROR: The 'make' utility is missing from PATH\r\n  \r\n  ----------------------------------------\r\n  Failed building wheel for pynacl\r\n  Running setup.py clean for pynacl\r\nFailed to build pynacl\r\nInstalling collected packages: six, pycparser, cffi, pynacl\r\n  Running setup.py install for pynacl: started\r\n    Running setup.py install for pynacl: finished with status 'error'\r\n    Complete output from command /usr/local/bin/python -u -c \"import setuptools, tokenize;__file__='/tmp/pip-install-3djfemi7/pynacl/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\\r\\n', '\\n');f.close();exec(compile(code, __file__, 'exec'))\" install --record /tmp/pip-record-ksyt9tor/install-record.txt --single-version-externally-managed --compile:\r\n    running install\r\n    running build\r\n    running build_py\r\n    creating build\r\n    creating build/lib.linux-x86_64-3.6\r\n    creating build/lib.linux-x86_64-3.6/nacl\r\n    copying src/nacl/exceptions.py -> build/lib.linux-x86_64-3.6/nacl\r\n    copying src/nacl/__init__.py -> build/lib.linux-x86_64-3.6/nacl\r\n    copying src/nacl/secret.py -> build/lib.linux-x86_64-3.6/nacl\r\n    copying src/nacl/hash.py -> build/lib.linux-x86_64-3.6/nacl\r\n    copying src/nacl/hashlib.py -> build/lib.linux-x86_64-3.6/nacl\r\n    copying src/nacl/encoding.py -> build/lib.linux-x86_64-3.6/nacl\r\n    copying src/nacl/utils.py -> build/lib.linux-x86_64-3.6/nacl\r\n    copying src/nacl/signing.py -> build/lib.linux-x86_64-3.6/nacl\r\n    copying src/nacl/public.py -> build/lib.linux-x86_64-3.6/nacl\r\n    creating build/lib.linux-x86_64-3.6/nacl/pwhash\r\n    copying src/nacl/pwhash/__init__.py -> build/lib.linux-x86_64-3.6/nacl/pwhash\r\n    copying src/nacl/pwhash/argon2i.py -> build/lib.linux-x86_64-3.6/nacl/pwhash\r\n    copying src/nacl/pwhash/argon2id.py -> build/lib.linux-x86_64-3.6/nacl/pwhash\r\n    copying src/nacl/pwhash/_argon2.py -> build/lib.linux-x86_64-3.6/nacl/pwhash\r\n    copying src/nacl/pwhash/scrypt.py -> build/lib.linux-x86_64-3.6/nacl/pwhash\r\n    creating build/lib.linux-x86_64-3.6/nacl/bindings\r\n    copying src/nacl/bindings/crypto_shorthash.py -> build/lib.linux-x86_64-3.6/nacl/bindings\r\n    copying src/nacl/bindings/__init__.py -> build/lib.linux-x86_64-3.6/nacl/bindings\r\n    copying src/nacl/bindings/sodium_core.py -> build/lib.linux-x86_64-3.6/nacl/bindings\r\n    copying src/nacl/bindings/crypto_secretbox.py -> build/lib.linux-x86_64-3.6/nacl/bindings\r\n    copying src/nacl/bindings/crypto_scalarmult.py -> build/lib.linux-x86_64-3.6/nacl/bindings\r\n    copying src/nacl/bindings/crypto_aead.py -> build/lib.linux-x86_64-3.6/nacl/bindings\r\n    copying src/nacl/bindings/crypto_generichash.py -> build/lib.linux-x86_64-3.6/nacl/bindings\r\n    copying src/nacl/bindings/crypto_kx.py -> build/lib.linux-x86_64-3.6/nacl/bindings\r\n    copying src/nacl/bindings/randombytes.py -> build/lib.linux-x86_64-3.6/nacl/bindings\r\n    copying src/nacl/bindings/utils.py -> build/lib.linux-x86_64-3.6/nacl/bindings\r\n    copying src/nacl/bindings/crypto_secretstream.py -> build/lib.linux-x86_64-3.6/nacl/bindings\r\n    copying src/nacl/bindings/crypto_hash.py -> build/lib.linux-x86_64-3.6/nacl/bindings\r\n    copying src/nacl/bindings/crypto_box.py -> build/lib.linux-x86_64-3.6/nacl/bindings\r\n    copying src/nacl/bindings/crypto_sign.py -> build/lib.linux-x86_64-3.6/nacl/bindings\r\n    copying src/nacl/bindings/crypto_pwhash.py -> build/lib.linux-x86_64-3.6/nacl/bindings\r\n    running build_clib\r\n    Traceback (most recent call last):\r\n      File \"<string>\", line 1, in <module>\r\n      File \"/tmp/pip-install-3djfemi7/pynacl/setup.py\", line 255, in <module>\r\n        \"Programming Language :: Python :: 3.7\",\r\n      File \"/tmp/pip-build-env-gfd40y3_/lib/python3.6/site-packages/setuptools/__init__.py\", line 140, in setup\r\n        return distutils.core.setup(**attrs)\r\n      File \"/usr/local/lib/python3.6/distutils/core.py\", line 148, in setup\r\n        dist.run_commands()\r\n      File \"/usr/local/lib/python3.6/distutils/dist.py\", line 955, in run_commands\r\n        self.run_command(cmd)\r\n      File \"/usr/local/lib/python3.6/distutils/dist.py\", line 974, in run_command\r\n        cmd_obj.run()\r\n      File \"/tmp/pip-build-env-gfd40y3_/lib/python3.6/site-packages/setuptools/command/install.py\", line 61, in run\r\n        return orig.install.run(self)\r\n      File \"/usr/local/lib/python3.6/distutils/command/install.py\", line 545, in run\r\n        self.run_command('build')\r\n      File \"/usr/local/lib/python3.6/distutils/cmd.py\", line 313, in run_command\r\n        self.distribution.run_command(command)\r\n      File \"/usr/local/lib/python3.6/distutils/dist.py\", line 974, in run_command\r\n        cmd_obj.run()\r\n      File \"/usr/local/lib/python3.6/distutils/command/build.py\", line 135, in run\r\n        self.run_command(cmd_name)\r\n      File \"/usr/local/lib/python3.6/distutils/cmd.py\", line 313, in run_command\r\n        self.distribution.run_command(command)\r\n      File \"/usr/local/lib/python3.6/distutils/dist.py\", line 974, in run_command\r\n        cmd_obj.run()\r\n      File \"/tmp/pip-install-3djfemi7/pynacl/setup.py\", line 159, in run\r\n        raise Exception(\"ERROR: The 'make' utility is missing from PATH\")\r\n    Exception: ERROR: The 'make' utility is missing from PATH\r\n    \r\n    ----------------------------------------\r\nCommand \"/usr/local/bin/python -u -c \"import setuptools, tokenize;__file__='/tmp/pip-install-3djfemi7/pynacl/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\\r\\n', '\\n');f.close();exec(compile(code, __file__, 'exec'))\" install --record /tmp/pip-record-ksyt9tor/install-record.txt --single-version-externally-managed --compile\" failed with error code 1 in /tmp/pip-install-3djfemi7/pynacl/\r\nThe command '/bin/sh -c pip install pynacl' returned a non-zero code: 1\r\n```\r\n\r\nMy Dockerfile looks like this:\r\n\r\n```\r\nFROM python:3.6-slim\r\n\r\nRUN pip install --upgrade pip\r\n\r\nRUN mkdir /app\r\nWORKDIR /app\r\nCOPY ./app /app\r\n\r\nRUN pip install Flask\r\nRUN pip install gunicorn\r\nRUN pip install pynacl\r\n\r\nCMD gunicorn app:app --bind 0.0.0.0:$PORT --reload\r\n```\r\n\r\nI ended up fixing it by running `RUN pip install pynacl==1.2.1`.\r\n\r\nAny ideas why is this happening?\r\n\r\n"}}
{"actor":{"display_login":"reaperhulk"}}