New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Setup tools error on Raspberry Pi #419

Closed
jongio opened this Issue Nov 16, 2017 · 7 comments

Comments

Projects
None yet
6 participants
@jongio
Contributor

jongio commented Nov 16, 2017

Get the following error when install the runtime pip on Raspbian/Stretch.

Failed cleaning build dir for cryptography

Failed building wheel for cffi
 c/_cffi_backend.c:15:17: fatal error: ffi.h: No such file or directory
     #include <ffi.h>
                     ^
    compilation terminated.
    error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1

    ----------------------------------------
Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-14Rowp/cffi/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-kaIjHU-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-14Rowp/cffi/

The workaround is to run the following commands:

sudo pip install --upgrade setuptools pip
sudo apt-get install python2.7-dev libffi-dev libssl-dev

Request: Update the Linux install instructions to include these steps:
https://docs.microsoft.com/en-us/azure/iot-edge/tutorial-simulate-device-linux

I understand they are here, but they are buried: https://pypi.python.org/pypi/azure-iot-edge-runtime-ctl

@mrohera

This comment has been minimized.

Show comment
Hide comment
@mrohera

mrohera Nov 17, 2017

Member

Thank you for your suggestion. @chipalost can help update the relevant sections in the documentations.

Member

mrohera commented Nov 17, 2017

Thank you for your suggestion. @chipalost can help update the relevant sections in the documentations.

@thegunshow

This comment has been minimized.

Show comment
Hide comment
@thegunshow

thegunshow Dec 5, 2017

Similar problem, everything is working until I install the edge runtime.

pi@raspberrypi:~ $ sudo pip install azure-iot-edge-runtime-ctl
Collecting azure-iot-edge-runtime-ctl
Exception:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 353, in run
wb.build(autobuilding=True)
File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 749, in build
self.requirement_set.prepare_files(self.finder)
File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 380, in prepare_files
ignore_dependencies=self.ignore_dependencies))
File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 554, in _prepare_file
require_hashes
File "/usr/lib/python2.7/dist-packages/pip/req/req_install.py", line 278, in populate_link
self.link = finder.find_requirement(self, upgrade)
File "/usr/lib/python2.7/dist-packages/pip/index.py", line 465, in find_requirement
all_candidates = self.find_all_candidates(req.name)
File "/usr/lib/python2.7/dist-packages/pip/index.py", line 423, in find_all_candidates
for page in self._get_pages(url_locations, project_name):
File "/usr/lib/python2.7/dist-packages/pip/index.py", line 568, in _get_pages
page = self._get_page(location)
File "/usr/lib/python2.7/dist-packages/pip/index.py", line 683, in _get_page
return HTMLPage.get_page(link, session=self.session)
File "/usr/lib/python2.7/dist-packages/pip/index.py", line 792, in get_page
"Cache-Control": "max-age=600",
File "/usr/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/sessions.py", line 501, in get
return self.request('GET', url, **kwargs)
File "/usr/lib/python2.7/dist-packages/pip/download.py", line 386, in request
return super(PipSession, self).request(method, url, *args, **kwargs)
File "/usr/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/sessions.py", line 488, in request
resp = self.send(prep, **send_kwargs)
File "/usr/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/sessions.py", line 609, in send
r = adapter.send(request, **kwargs)
File "/usr/share/python-wheels/CacheControl-0.11.7-py2.py3-none-any.whl/cachecontrol/adapter.py", line 47, in send
resp = super(CacheControlAdapter, self).send(request, **kw)
File "/usr/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/adapters.py", line 423, in send
timeout=timeout
File "/usr/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/connectionpool.py", line 643, in urlopen
_stacktrace=sys.exc_info()[2])
File "/usr/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/util/retry.py", line 315, in increment
total -= 1
TypeError: unsupported operand type(s) for -=: 'Retry' and 'int'

thegunshow commented Dec 5, 2017

Similar problem, everything is working until I install the edge runtime.

pi@raspberrypi:~ $ sudo pip install azure-iot-edge-runtime-ctl
Collecting azure-iot-edge-runtime-ctl
Exception:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 353, in run
wb.build(autobuilding=True)
File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 749, in build
self.requirement_set.prepare_files(self.finder)
File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 380, in prepare_files
ignore_dependencies=self.ignore_dependencies))
File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 554, in _prepare_file
require_hashes
File "/usr/lib/python2.7/dist-packages/pip/req/req_install.py", line 278, in populate_link
self.link = finder.find_requirement(self, upgrade)
File "/usr/lib/python2.7/dist-packages/pip/index.py", line 465, in find_requirement
all_candidates = self.find_all_candidates(req.name)
File "/usr/lib/python2.7/dist-packages/pip/index.py", line 423, in find_all_candidates
for page in self._get_pages(url_locations, project_name):
File "/usr/lib/python2.7/dist-packages/pip/index.py", line 568, in _get_pages
page = self._get_page(location)
File "/usr/lib/python2.7/dist-packages/pip/index.py", line 683, in _get_page
return HTMLPage.get_page(link, session=self.session)
File "/usr/lib/python2.7/dist-packages/pip/index.py", line 792, in get_page
"Cache-Control": "max-age=600",
File "/usr/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/sessions.py", line 501, in get
return self.request('GET', url, **kwargs)
File "/usr/lib/python2.7/dist-packages/pip/download.py", line 386, in request
return super(PipSession, self).request(method, url, *args, **kwargs)
File "/usr/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/sessions.py", line 488, in request
resp = self.send(prep, **send_kwargs)
File "/usr/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/sessions.py", line 609, in send
r = adapter.send(request, **kwargs)
File "/usr/share/python-wheels/CacheControl-0.11.7-py2.py3-none-any.whl/cachecontrol/adapter.py", line 47, in send
resp = super(CacheControlAdapter, self).send(request, **kw)
File "/usr/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/adapters.py", line 423, in send
timeout=timeout
File "/usr/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/connectionpool.py", line 643, in urlopen
_stacktrace=sys.exc_info()[2])
File "/usr/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/util/retry.py", line 315, in increment
total -= 1
TypeError: unsupported operand type(s) for -=: 'Retry' and 'int'

@jongio

This comment has been minimized.

Show comment
Hide comment
@jongio

jongio Dec 5, 2017

Contributor

@thegunshow Are you getting that consistently? Did you try to rerun install? Did you run the pre-reqs listed here? http://blog.jongallant.com/azure-iot-edge-raspberrypi

Contributor

jongio commented Dec 5, 2017

@thegunshow Are you getting that consistently? Did you try to rerun install? Did you run the pre-reqs listed here? http://blog.jongallant.com/azure-iot-edge-raspberrypi

@thegunshow

This comment has been minimized.

Show comment
Hide comment
@thegunshow

thegunshow Dec 6, 2017

thegunshow commented Dec 6, 2017

@damonbarry

This comment has been minimized.

Show comment
Hide comment
@damonbarry

damonbarry Mar 23, 2018

Member

I made a pull request on the Azure Docs repo, MicrosoftDocs/azure-docs#6208. Closing this issue.

Member

damonbarry commented Mar 23, 2018

I made a pull request on the Azure Docs repo, MicrosoftDocs/azure-docs#6208. Closing this issue.

@damonbarry damonbarry closed this Mar 23, 2018

@rwifall

This comment has been minimized.

Show comment
Hide comment
@rwifall

rwifall May 9, 2018

This same problem occurs if you follow the directions on this page:
https://docs.microsoft.com/en-us/azure/iot-edge/quickstart-linux

That documentation should probably be updated in the same way.

rwifall commented May 9, 2018

This same problem occurs if you follow the directions on this page:
https://docs.microsoft.com/en-us/azure/iot-edge/quickstart-linux

That documentation should probably be updated in the same way.

@damonbarry

This comment has been minimized.

Show comment
Hide comment
@damonbarry

damonbarry May 9, 2018

Member

@rwifall I created a PR on Azure Docs per your request: MicrosoftDocs/azure-docs#8363.

Member

damonbarry commented May 9, 2018

@rwifall I created a PR on Azure Docs per your request: MicrosoftDocs/azure-docs#8363.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment