Skip to content
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

Slow Installation of Firebase admin on Raspberry Pi Zero #18820

Open
Maplepro opened this issue Apr 20, 2019 · 16 comments
Open

Slow Installation of Firebase admin on Raspberry Pi Zero #18820

Maplepro opened this issue Apr 20, 2019 · 16 comments
Assignees
Labels
disposition/help wanted Maintainers do not have enough resources to allocate to this at the moment. Help is appreciated! disposition/never stale kind/bug lang/Python priority/P2

Comments

@Maplepro
Copy link

What version of gRPC and what language are you using?

What operating system (Linux, Windows,...) and version?

What runtime / compiler are you using (e.g. python version or version of gcc)

What did you do?

If possible, provide a recipe for reproducing the error. Try being specific and include code snippets if helpful.

What did you expect to see?

What did you see instead?

Make sure you include information that can help us debug (full error message, exception listing, stack trace, logs).

See TROUBLESHOOTING.md for how to diagnose problems better.

Anything else we should know about your project / environment?

@Maplepro
Copy link
Author

Maplepro commented Apr 20, 2019

_{Running setup.py bdist_wheel for grpcio ... /}
I've run [sudo pip install firebase_admin] after updating pip to latest version. But the setup is not getting installed and stopping at the above mentioned statement. Waited for far too long, but it doesn't get installed_**

Collecting firebase_admin
Using cached https://files.pythonhosted.org/packages/a9/89/c85e7ffbebda6df99080be8180d6e37f0db2b5c6857af5e608078b8374c2/firebase_admin-2.16.0-py2.py3-none-any.whl
Collecting google-api-core[grpc]<2.0.0dev,>=1.7.0; platform_python_implementation != "PyPy" (from firebase_admin)
Using cached https://files.pythonhosted.org/packages/bf/e4/b22222bb714947eb459dc91ebf95131812126a0b29d62e444be3f76dad64/google_api_core-1.9.0-py2.py3-none-any.whl
Requirement already satisfied: six>=1.6.1 in /usr/lib/python2.7/dist-packages (from firebase_admin)
Collecting cachecontrol>=0.12.4 (from firebase_admin)
Collecting google-cloud-firestore>=0.31.0; platform_python_implementation != "PyPy" (from firebase_admin)
Using cached https://files.pythonhosted.org/packages/a2/c5/f1b50977cd8798b9455d8afa81ed23f0485212966e1365a35e3cddb089fb/google_cloud_firestore-0.32.1-py2.py3-none-any.whl
Collecting google-cloud-storage>=1.13.0 (from firebase_admin)
Using cached https://files.pythonhosted.org/packages/9c/aa/048f5b3950f78c9e6afdb05e3667abb7a7ca4463bfde002257acd1874c3f/google_cloud_storage-1.15.0-py2.py3-none-any.whl
Collecting protobuf>=3.4.0 (from google-api-core[grpc]<2.0.0dev,>=1.7.0; platform_python_implementation != "PyPy"->firebase_admin)
Using cached https://files.pythonhosted.org/packages/f5/e4/7c86c9c9b4bad7632e107064fb07d0812b9858a49830d0b2477081bf1267/protobuf-3.7.1-py2.py3-none-any.whl
Collecting futures>=3.2.0; python_version < "3.2" (from google-api-core[grpc]<2.0.0dev,>=1.7.0; platform_python_implementation != "PyPy"->firebase_admin)
Using cached https://files.pythonhosted.org/packages/2d/99/b2c4e9d5a30f6471e410a146232b4118e697fa3ffc06d6a65efde84debd0/futures-3.2.0-py2-none-any.whl
Collecting pytz (from google-api-core[grpc]<2.0.0dev,>=1.7.0; platform_python_implementation != "PyPy"->firebase_admin)
Using cached https://files.pythonhosted.org/packages/3d/73/fe30c2daaaa0713420d0382b16fbb761409f532c56bdcc514bf7b6262bb6/pytz-2019.1-py2.py3-none-any.whl
Collecting googleapis-common-protos!=1.5.4,<2.0dev,>=1.5.3 (from google-api-core[grpc]<2.0.0dev,>=1.7.0; platform_python_implementation != "PyPy"->firebase_admin)
Requirement already satisfied: requests<3.0.0dev,>=2.18.0 in /usr/local/lib/python2.7/dist-packages (from google-api-core[grpc]<2.0.0dev,>=1.7.0; platform_python_implementation != "PyPy"->firebase_admin)
Collecting setuptools>=34.0.0 (from google-api-core[grpc]<2.0.0dev,>=1.7.0; platform_python_implementation != "PyPy"->firebase_admin)
Using cached https://files.pythonhosted.org/packages/c8/b0/cc6b7ba28d5fb790cf0d5946df849233e32b8872b6baca10c9e002ff5b41/setuptools-41.0.0-py2.py3-none-any.whl
Collecting google-auth<2.0dev,>=0.4.0 (from google-api-core[grpc]<2.0.0dev,>=1.7.0; platform_python_implementation != "PyPy"->firebase_admin)
Using cached https://files.pythonhosted.org/packages/c5/9b/ed0516cc1f7609fb0217e3057ff4f0f9f3e3ce79a369c6af4a6c5ca25664/google_auth-1.6.3-py2.py3-none-any.whl
Collecting grpcio>=1.8.2; extra == "grpc" (from google-api-core[grpc]<2.0.0dev,>=1.7.0; platform_python_implementation != "PyPy"->firebase_admin)
Using cached https://files.pythonhosted.org/packages/ae/b6/f58654d005ef714922ec75a3b208df31b27310cdafacc1f5d952e1a3ed30/grpcio-1.20.0.tar.gz
Collecting msgpack (from cachecontrol>=0.12.4->firebase_admin)
Using cached https://files.pythonhosted.org/packages/81/9c/0036c66234482044070836cc622266839e2412f8108849ab0bfdeaab8578/msgpack-0.6.1.tar.gz
Collecting google-cloud-core<0.30dev,>=0.29.0 (from google-cloud-firestore>=0.31.0; platform_python_implementation != "PyPy"->firebase_admin)
Using cached https://files.pythonhosted.org/packages/0c/f2/3c225e7a69cb27d283b68bff867722bd066bc1858611180197f711815ea5/google_cloud_core-0.29.1-py2.py3-none-any.whl
Collecting google-resumable-media>=0.3.1 (from google-cloud-storage>=1.13.0->firebase_admin)
Using cached https://files.pythonhosted.org/packages/e2/5d/4bc5c28c252a62efe69ed1a1561da92bd5af8eca0cdcdf8e60354fae9b29/google_resumable_media-0.3.2-py2.py3-none-any.whl
Requirement already satisfied: urllib3<1.25,>=1.21.1 in /usr/local/lib/python2.7/dist-packages (from requests<3.0.0dev,>=2.18.0->google-api-core[grpc]<2.0.0dev,>=1.7.0; platform_python_implementation != "PyPy"->firebase_admin)
Requirement already satisfied: idna<2.9,>=2.5 in /usr/local/lib/python2.7/dist-packages (from requests<3.0.0dev,>=2.18.0->google-api-core[grpc]<2.0.0dev,>=1.7.0; platform_python_implementation != "PyPy"->firebase_admin)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/local/lib/python2.7/dist-packages (from requests<3.0.0dev,>=2.18.0->google-api-core[grpc]<2.0.0dev,>=1.7.0; platform_python_implementation != "PyPy"->firebase_admin)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python2.7/dist-packages (from requests<3.0.0dev,>=2.18.0->google-api-core[grpc]<2.0.0dev,>=1.7.0; platform_python_implementation != "PyPy"->firebase_admin)
Collecting pyasn1-modules>=0.2.1 (from google-auth<2.0dev,>=0.4.0->google-api-core[grpc]<2.0.0dev,>=1.7.0; platform_python_implementation != "PyPy"->firebase_admin)
Using cached https://files.pythonhosted.org/packages/da/98/8ddd9fa4d84065926832bcf2255a2b69f1d03330aa4d1c49cc7317ac888e/pyasn1_modules-0.2.4-py2.py3-none-any.whl
Collecting rsa>=3.1.4 (from google-auth<2.0dev,>=0.4.0->google-api-core[grpc]<2.0.0dev,>=1.7.0; platform_python_implementation != "PyPy"->firebase_admin)
Using cached https://files.pythonhosted.org/packages/02/e5/38518af393f7c214357079ce67a317307936896e961e35450b70fad2a9cf/rsa-4.0-py2.py3-none-any.whl
Collecting cachetools>=2.0.0 (from google-auth<2.0dev,>=0.4.0->google-api-core[grpc]<2.0.0dev,>=1.7.0; platform_python_implementation != "PyPy"->firebase_admin)
Using cached https://files.pythonhosted.org/packages/39/2b/d87fc2369242bd743883232c463f28205902b8579cb68dcf5b11eee1652f/cachetools-3.1.0-py2.py3-none-any.whl
Requirement already satisfied: enum34>=1.0.4; python_version < "3.4" in /usr/lib/python2.7/dist-packages (from grpcio>=1.8.2; extra == "grpc"->google-api-core[grpc]<2.0.0dev,>=1.7.0; platform_python_implementation != "PyPy"->firebase_admin)
Collecting pyasn1<0.5.0,>=0.4.1 (from pyasn1-modules>=0.2.1->google-auth<2.0dev,>=0.4.0->google-api-core[grpc]<2.0.0dev,>=1.7.0; platform_python_implementation != "PyPy"->firebase_admin)
Using cached https://files.pythonhosted.org/packages/7b/7c/c9386b82a25115cccf1903441bba3cbadcfae7b678a20167347fa8ded34c/pyasn1-0.4.5-py2.py3-none-any.whl
Building wheels for collected packages: grpcio, msgpack
Running setup.py bdist_wheel for grpcio ... /

@gnossen
Copy link
Contributor

gnossen commented Apr 22, 2019

Potentially related: #13258.

We do not have access to a Raspberry Pi Zero at the moment. I'll try to track one down in the next couple of days so I can reproduce. In the meantime, it would be useful if you could track down exactly what process is hanging during the install. Perhaps ps axf would be enlightening?

@mehrdada
Copy link
Member

@Maplepro Seems like it is compiling from source which is expected to take a long time (necessary since grpcio does not publish ARM packages to PyPI). Is it just taking a very very long time or does install fail?

@nicolasnoble
Copy link
Member

@gnossen I can bring a zero at the office if you want, but @mehrdada is most likely right :) We can't publish arm binaries, so it'll fallback to compiling, and compiling on the zero takes about a day.

@mehrdada
Copy link
Member

mehrdada commented May 1, 2019

@nicolasnoble Why can't we publish ARM binaries? We should be able to if we build on actual devices. The QEMU build process seems to be failing for ARMv6, but PyPI already lets us upload ARMv6 packages. I suspect someone can build those packages manually and publish separately, but it's difficult to integrate with Kokoro.

@nicolasnoble
Copy link
Member

And you just described the why.

@mehrdada
Copy link
Member

mehrdada commented May 2, 2019

@nicolasnoble A rotation in gRPC Python team could potentially fix this for the time being ;)

@nicolasnoble
Copy link
Member

Yeah, no. We're pushing hundreds of binaries for each release of gRPC. If it's not buildable automatically, it doesn't exist. I'm not going to introduce manual package builds in the process, that's a slippery slope.

I'm more than fine having something that cross compile for example, as we did with grpc-node. But I'm veto-ing any suggestion that involves manual package builds.

@mehrdada
Copy link
Member

mehrdada commented May 3, 2019

We're pushing hundreds of binaries for each release of gRPC

@nicolasnoble haha tell me about it :)

@nicolasnoble
Copy link
Member

I know, which is why I am surprised you of all people would suggest extra manual steps :P

@mehrdada
Copy link
Member

@nicolasnoble Google Assistant SDK users commonly have this use case. That's why I was more open than usual, since it's unclear when Kokoro is going to enable that use case.

@nicolasnoble
Copy link
Member

That's a fair point. I'll bring it to the kokoro team.

@CesarTS21
Copy link

Install the Firebase admin library from a Raspberry Pi 3, and then run the system from the Pi Zero.
That worked for me.

@gnossen gnossen changed the title Error while installing Firebase admin on Raspberry Pi Zero Slow Installation Firebase admin on Raspberry Pi Zero Sep 3, 2019
@gnossen gnossen changed the title Slow Installation Firebase admin on Raspberry Pi Zero Slow Installation of Firebase admin on Raspberry Pi Zero Sep 3, 2019
@gnossen gnossen self-assigned this Sep 3, 2019
@Fox5150
Copy link

Fox5150 commented Feb 7, 2020

Same problem for me on a RPi Zero running the latest software :
Running setup.py bdist_wheel for grpcio ... /
Installation frozen forever ...
EDIT : The installation just finished and took 3 hours !

@Fox5150
Copy link

Fox5150 commented Feb 8, 2020

I tried to install it again on another Raspberry Pi Zero. The installation was frozen and I got the message :
cc1plus: warning: command line option ‘-std=gnu99’ is valid for C/ObjC but not for C++

@stale
Copy link

stale bot commented May 6, 2020

This issue/PR has been automatically marked as stale because it has not had any update (including commits, comments, labels, milestones, etc) for 30 days. It will be closed automatically if no further update occurs in 7 day. Thank you for your contributions!

@gnossen gnossen added disposition/help wanted Maintainers do not have enough resources to allocate to this at the moment. Help is appreciated! disposition/never stale and removed disposition/stale labels May 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
disposition/help wanted Maintainers do not have enough resources to allocate to this at the moment. Help is appreciated! disposition/never stale kind/bug lang/Python priority/P2
Projects
None yet
Development

No branches or pull requests

6 participants