GoogleCloudPlatform / cloud-profiler-python

Stackdriver Profiler Python agent is a tool that continuously gathers CPU usage information from Python applications
Apache License 2.0
27 stars 23 forks source link

pip install error on pypy3.9 #140

Open ebiebix opened 1 year ago

ebiebix commented 1 year ago

Hello! I'm developing this library for PyPy.

I get the following error when I run the minimal Dockerfile I wrote in the sample.

#Dockerfile
FROM pypy:3.9-7.3.12
RUN pip install --upgrade p
RUN pip install google-cloud-profiler

Do you know of a solution? Or should I contact the PyPy administrator for this error?

~/Desktop/sample 
$ docker build ./
[+] Building 12.0s (6/6) FINISHED                                                                                                docker:desktop-linux
 => [internal] load build definition from Dockerfile                                                                                             0.0s
 => => transferring dockerfile: 123B                                                                                                             0.0s
 => [internal] load .dockerignore                                                                                                                0.0s
 => => transferring context: 2B                                                                                                                  0.0s
 => [internal] load metadata for docker.io/library/pypy:3.9-7.3.12                                                                               0.8s
 => CACHED [1/3] FROM docker.io/library/pypy:3.9-7.3.12@sha256:a4420ce074f1105a586ec77f6c7c2d1a449077144187b423bc7669f527824440                  0.0s
 => [2/3] RUN pip install --upgrade p                                                                                                            3.2s
 => ERROR [3/3] RUN pip install google-cloud-profiler                                                                                            8.0s
------                                                                                                                                                
 > [3/3] RUN pip install google-cloud-profiler:                                                                                                       
0.951 Collecting google-cloud-profiler                                                                                                                
1.035   Downloading google-cloud-profiler-4.1.0.tar.gz (32 kB)                                                                                        
1.057   Preparing metadata (setup.py): started                                                                                                        
1.554   Preparing metadata (setup.py): finished with status 'done'                                                                                    
1.765 Collecting google-api-python-client!=1.12.0,!=2.0.2
1.781   Downloading google_api_python_client-2.97.0-py2.py3-none-any.whl (12.0 MB)
2.244      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.0/12.0 MB 25.9 MB/s eta 0:00:00
2.411 Collecting google-auth>=1.0.0
2.425   Downloading google_auth-2.22.0-py2.py3-none-any.whl (181 kB)
2.435      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 181.8/181.8 kB 34.3 MB/s eta 0:00:00
2.457 Collecting google-auth-httplib2
2.473   Downloading google_auth_httplib2-0.1.0-py2.py3-none-any.whl (9.3 kB)
2.803 Collecting protobuf>=3.20
2.813   Downloading protobuf-4.24.1-py3-none-any.whl (175 kB)
2.823      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 175.7/175.7 kB 33.4 MB/s eta 0:00:00
2.875 Collecting requests
2.895   Downloading requests-2.31.0-py3-none-any.whl (62 kB)
2.903      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.6/62.6 kB 14.7 MB/s eta 0:00:00
2.993 Collecting httplib2<1.dev0,>=0.15.0
3.006   Downloading httplib2-0.22.0-py3-none-any.whl (96 kB)
3.017      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 96.9/96.9 kB 14.5 MB/s eta 0:00:00
3.142 Collecting google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0.dev0,>=1.31.5
3.159   Downloading google_api_core-2.11.1-py3-none-any.whl (120 kB)
3.168      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 120.5/120.5 kB 26.1 MB/s eta 0:00:00
3.190 Collecting uritemplate<5,>=3.0.1
3.203   Downloading uritemplate-4.1.1-py2.py3-none-any.whl (10 kB)
3.257 Collecting cachetools<6.0,>=2.0.0
3.275   Downloading cachetools-5.3.1-py3-none-any.whl (9.3 kB)
3.311 Collecting pyasn1-modules>=0.2.1
3.330   Downloading pyasn1_modules-0.3.0-py2.py3-none-any.whl (181 kB)
3.339      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 181.3/181.3 kB 36.3 MB/s eta 0:00:00
3.375 Collecting rsa<5,>=3.1.4
3.394   Downloading rsa-4.9-py3-none-any.whl (34 kB)
3.422 Collecting six>=1.9.0
3.434   Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
3.477 Collecting urllib3<2.0
3.492   Downloading urllib3-1.26.16-py2.py3-none-any.whl (143 kB)
3.500      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 143.1/143.1 kB 37.1 MB/s eta 0:00:00
3.585 Collecting charset-normalizer<4,>=2
3.596   Downloading charset_normalizer-3.2.0-py3-none-any.whl (46 kB)
3.604      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 46.7/46.7 kB 11.0 MB/s eta 0:00:00
3.626 Collecting idna<4,>=2.5
3.637   Downloading idna-3.4-py3-none-any.whl (61 kB)
3.645      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.5/61.5 kB 15.4 MB/s eta 0:00:00
3.680 Collecting certifi>=2017.4.17
3.698   Downloading certifi-2023.7.22-py3-none-any.whl (158 kB)
3.711      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 158.3/158.3 kB 38.3 MB/s eta 0:00:00
4.006 Collecting googleapis-common-protos<2.0.dev0,>=1.56.2
4.019   Downloading googleapis_common_protos-1.60.0-py2.py3-none-any.whl (227 kB)
4.031      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 227.6/227.6 kB 33.0 MB/s eta 0:00:00
4.140 Collecting pyparsing!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3,<4,>=2.4.2
4.154   Downloading pyparsing-3.1.1-py3-none-any.whl (103 kB)
4.162      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 103.1/103.1 kB 28.3 MB/s eta 0:00:00
4.211 Collecting pyasn1<0.6.0,>=0.4.6
4.220   Downloading pyasn1-0.5.0-py2.py3-none-any.whl (83 kB)
4.227      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 83.9/83.9 kB 24.3 MB/s eta 0:00:00
4.318 Building wheels for collected packages: google-cloud-profiler
4.319   Building wheel for google-cloud-profiler (setup.py): started
4.989   Building wheel for google-cloud-profiler (setup.py): finished with status 'error'
5.005   error: subprocess-exited-with-error
5.005   
5.005   × python setup.py bdist_wheel did not run successfully.
5.005   │ exit code: 1
5.005   ╰─> [32 lines of output]
5.005       running bdist_wheel
5.005       running build
5.005       running build_py
5.005       creating build
5.005       creating build/lib.linux-aarch64-3.9
5.005       creating build/lib.linux-aarch64-3.9/googlecloudprofiler
5.005       copying googlecloudprofiler/backoff.py -> build/lib.linux-aarch64-3.9/googlecloudprofiler
5.005       copying googlecloudprofiler/client.py -> build/lib.linux-aarch64-3.9/googlecloudprofiler
5.005       copying googlecloudprofiler/builder.py -> build/lib.linux-aarch64-3.9/googlecloudprofiler
5.005       copying googlecloudprofiler/pythonprofiler.py -> build/lib.linux-aarch64-3.9/googlecloudprofiler
5.005       copying googlecloudprofiler/profile_pb2.py -> build/lib.linux-aarch64-3.9/googlecloudprofiler
5.005       copying googlecloudprofiler/cpu_profiler.py -> build/lib.linux-aarch64-3.9/googlecloudprofiler
5.005       copying googlecloudprofiler/__init__.py -> build/lib.linux-aarch64-3.9/googlecloudprofiler
5.005       copying googlecloudprofiler/__version__.py -> build/lib.linux-aarch64-3.9/googlecloudprofiler
5.005       running build_ext
5.005       building 'googlecloudprofiler._profiler' extension
5.005       creating build/temp.linux-aarch64-3.9
5.005       creating build/temp.linux-aarch64-3.9/googlecloudprofiler
5.005       creating build/temp.linux-aarch64-3.9/googlecloudprofiler/src
5.005       gcc -pthread -DNDEBUG -O2 -fPIC -Igooglecloudprofiler/src -I/opt/pypy/include/pypy3.9 -c googlecloudprofiler/src/_profiler.cc -o build/temp.linux-aarch64-3.9/googlecloudprofiler/src/_profiler.o -std=c++11
5.005       In file included from googlecloudprofiler/src/_profiler.cc:18:
5.005       googlecloudprofiler/src/profiler.h: In constructor ‘CodeDeallocHook::CodeDeallocHook()’:
5.005       googlecloudprofiler/src/profiler.h:59:25: error: ‘PyCode_Type’ was not declared in this scope; did you mean ‘PyCell_Type’?
5.005          59 |     old_code_dealloc_ = PyCode_Type.tp_dealloc;
5.005             |                         ^~~~~~~~~~~
5.005             |                         PyCell_Type
5.005       googlecloudprofiler/src/profiler.h: In destructor ‘CodeDeallocHook::~CodeDeallocHook()’:
5.005       googlecloudprofiler/src/profiler.h:67:24: error: ‘PyCode_Type’ was not declared in this scope; did you mean ‘PyCell_Type’?
5.005          67 |   ~CodeDeallocHook() { PyCode_Type.tp_dealloc = old_code_dealloc_; }
5.005             |                        ^~~~~~~~~~~
5.005             |                        PyCell_Type
5.005       error: command '/usr/bin/gcc' failed with exit code 1
5.005       [end of output]
5.005   
5.005   note: This error originates from a subprocess, and is likely not a problem with pip.
5.006   ERROR: Failed building wheel for google-cloud-profiler
5.007   Running setup.py clean for google-cloud-profiler
5.331 Failed to build google-cloud-profiler
5.612 Installing collected packages: urllib3, uritemplate, six, pyparsing, pyasn1, protobuf, idna, charset-normalizer, certifi, cachetools, rsa, requests, pyasn1-modules, httplib2, googleapis-common-protos, google-auth, google-auth-httplib2, google-api-core, google-api-python-client, google-cloud-profiler
7.269   Running setup.py install for google-cloud-profiler: started
7.837   Running setup.py install for google-cloud-profiler: finished with status 'error'
7.875   error: subprocess-exited-with-error
7.875   
7.875   × Running setup.py install for google-cloud-profiler did not run successfully.
7.875   │ exit code: 1
7.875   ╰─> [32 lines of output]
7.875       running install
7.875       running build
7.875       running build_py
7.875       creating build
7.875       creating build/lib.linux-aarch64-3.9
7.875       creating build/lib.linux-aarch64-3.9/googlecloudprofiler
7.875       copying googlecloudprofiler/backoff.py -> build/lib.linux-aarch64-3.9/googlecloudprofiler
7.875       copying googlecloudprofiler/client.py -> build/lib.linux-aarch64-3.9/googlecloudprofiler
7.875       copying googlecloudprofiler/builder.py -> build/lib.linux-aarch64-3.9/googlecloudprofiler
7.875       copying googlecloudprofiler/pythonprofiler.py -> build/lib.linux-aarch64-3.9/googlecloudprofiler
7.875       copying googlecloudprofiler/profile_pb2.py -> build/lib.linux-aarch64-3.9/googlecloudprofiler
7.875       copying googlecloudprofiler/cpu_profiler.py -> build/lib.linux-aarch64-3.9/googlecloudprofiler
7.875       copying googlecloudprofiler/__init__.py -> build/lib.linux-aarch64-3.9/googlecloudprofiler
7.875       copying googlecloudprofiler/__version__.py -> build/lib.linux-aarch64-3.9/googlecloudprofiler
7.875       running build_ext
7.875       building 'googlecloudprofiler._profiler' extension
7.875       creating build/temp.linux-aarch64-3.9
7.875       creating build/temp.linux-aarch64-3.9/googlecloudprofiler
7.875       creating build/temp.linux-aarch64-3.9/googlecloudprofiler/src
7.875       gcc -pthread -DNDEBUG -O2 -fPIC -Igooglecloudprofiler/src -I/opt/pypy/include/pypy3.9 -c googlecloudprofiler/src/_profiler.cc -o build/temp.linux-aarch64-3.9/googlecloudprofiler/src/_profiler.o -std=c++11
7.875       In file included from googlecloudprofiler/src/_profiler.cc:18:
7.875       googlecloudprofiler/src/profiler.h: In constructor ‘CodeDeallocHook::CodeDeallocHook()’:
7.875       googlecloudprofiler/src/profiler.h:59:25: error: ‘PyCode_Type’ was not declared in this scope; did you mean ‘PyCell_Type’?
7.875          59 |     old_code_dealloc_ = PyCode_Type.tp_dealloc;
7.875             |                         ^~~~~~~~~~~
7.875             |                         PyCell_Type
7.875       googlecloudprofiler/src/profiler.h: In destructor ‘CodeDeallocHook::~CodeDeallocHook()’:
7.875       googlecloudprofiler/src/profiler.h:67:24: error: ‘PyCode_Type’ was not declared in this scope; did you mean ‘PyCell_Type’?
7.875          67 |   ~CodeDeallocHook() { PyCode_Type.tp_dealloc = old_code_dealloc_; }
7.875             |                        ^~~~~~~~~~~
7.875             |                        PyCell_Type
7.875       error: command '/usr/bin/gcc' failed with exit code 1
7.875       [end of output]
7.875   
7.875   note: This error originates from a subprocess, and is likely not a problem with pip.
7.881 error: legacy-install-failure
7.881 
7.881 × Encountered error while trying to install package.
7.881 ╰─> google-cloud-profiler
7.881 
7.881 note: This is an issue with the package mentioned above, not pip.
7.881 hint: See above for output from the failure.
7.893 
7.893 [notice] A new release of pip is available: 23.0.1 -> 23.2.1
7.893 [notice] To update, run: pip install --upgrade pip
------
Dockerfile:3
--------------------
   1 |     FROM pypy:3.9-7.3.12
   2 |     RUN pip install --upgrade p
   3 | >>> RUN pip install google-cloud-profiler
--------------------
ERROR: failed to solve: process "/bin/sh -c pip install google-cloud-profiler" did not complete successfully: exit code: 1