[ 
https://issues.apache.org/jira/browse/TINKERPOP-2810?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17624763#comment-17624763
 ] 

ASF GitHub Bot commented on TINKERPOP-2810:
-------------------------------------------

jared-schreibman-cdisc commented on PR #1839:
URL: https://github.com/apache/tinkerpop/pull/1839#issuecomment-1292662839

   I came here to support this change. There is a bug currently when attempting 
to build gremlin within a docker image.
   
   **Describe the bug**
   Using docker, when installing latest gremlin, downstream dependency 
`aiohttp` when building wheel due to bug in earlier version: 
https://github.com/aio-libs/aiohttp/issues/6600
   
   **To Reproduce**
   Create docker image with:
   ```
   FROM python:3
   
   RUN pip install gremlinpython
   ```
   It's also seen with:
   ```
   FROM python:3
   
   RUN pip install aiohttp==3.8.1
   ```
   
   **Expected behavior**
   Wheel builds successfully
   
   **Logs/tracebacks**
   ```
   [2/2] RUN pip install gremlinpython:                                         
                                                      
   #4 1.115 Collecting gremlinpython                                            
                                                         
   #4 1.196   Downloading gremlinpython-3.6.1-py2.py3-none-any.whl (73 kB)      
                                                         
   #4 1.222      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 73.3/73.3 kB 2.6 MB/s 
eta 0:00:00                                              
   #4 1.285 Collecting nest-asyncio                                             
                                                         
   #4 1.301   Downloading nest_asyncio-1.5.6-py3-none-any.whl (5.2 kB)
   #4 1.488 Collecting aiohttp<=3.8.1,>=3.8.0
   #4 1.509   Downloading aiohttp-3.8.1.tar.gz (7.3 MB)
   #4 2.187      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.3/7.3 MB 10.8 MB/s 
eta 0:00:00
   #4 2.340   Installing build dependencies: started
   #4 3.451   Installing build dependencies: finished with status 'done'
   #4 3.452   Getting requirements to build wheel: started
   #4 3.604   Getting requirements to build wheel: finished with status 'done'
   #4 3.605   Installing backend dependencies: started
   #4 3.994   Installing backend dependencies: finished with status 'done'
   #4 3.994   Preparing metadata (pyproject.toml): started
   #4 4.142   Preparing metadata (pyproject.toml): finished with status 'done'
   #4 4.178 Collecting aenum<4.0.0,>=1.4.5
   #4 4.192   Downloading aenum-3.1.11-py3-none-any.whl (131 kB)
   #4 4.211      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 131.5/131.5 kB 8.4 
MB/s eta 0:00:00
   #4 4.232 Collecting isodate<1.0.0,>=0.6.0
   #4 4.246   Downloading isodate-0.6.1-py2.py3-none-any.whl (41 kB)
   #4 4.252      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 41.7/41.7 kB 8.9 MB/s 
eta 0:00:00
   #4 4.282 Collecting attrs>=17.3.0
   #4 4.298   Downloading attrs-22.1.0-py2.py3-none-any.whl (58 kB)
   #4 4.307      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 58.8/58.8 kB 7.5 MB/s 
eta 0:00:00
   #4 4.358 Collecting charset-normalizer<3.0,>=2.0
   #4 4.375   Downloading charset_normalizer-2.1.1-py3-none-any.whl (39 kB)
   #4 4.519 Collecting multidict<7.0,>=4.5
   #4 4.536   Downloading multidict-6.0.2.tar.gz (50 kB)
   #4 4.545      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 50.3/50.3 kB 5.3 MB/s 
eta 0:00:00
   #4 4.556   Installing build dependencies: started
   #4 5.277   Installing build dependencies: finished with status 'done'
   #4 5.279   Getting requirements to build wheel: started
   #4 5.403   Getting requirements to build wheel: finished with status 'done'
   #4 5.404   Preparing metadata (pyproject.toml): started
   #4 5.535   Preparing metadata (pyproject.toml): finished with status 'done'
   #4 5.557 Collecting async-timeout<5.0,>=4.0.0a3
   #4 5.573   Downloading async_timeout-4.0.2-py3-none-any.whl (5.8 kB)
   #4 5.660 Collecting yarl<2.0,>=1.0
   #4 5.686   Downloading yarl-1.8.1.tar.gz (172 kB)
   #4 5.702      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 172.3/172.3 kB 11.5 
MB/s eta 0:00:00
   #4 5.716   Installing build dependencies: started
   #4 6.445   Installing build dependencies: finished with status 'done'
   #4 6.448   Getting requirements to build wheel: started
   #4 6.571   Getting requirements to build wheel: finished with status 'done'
   #4 6.572   Preparing metadata (pyproject.toml): started
   #4 6.699   Preparing metadata (pyproject.toml): finished with status 'done'
   #4 6.750 Collecting frozenlist>=1.1.1
   #4 6.768   Downloading frozenlist-1.3.1.tar.gz (66 kB)
   #4 6.774      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 66.4/66.4 kB 10.8 
MB/s eta 0:00:00
   #4 6.782   Installing build dependencies: started
   #4 7.512   Installing build dependencies: finished with status 'done'
   #4 7.512   Getting requirements to build wheel: started
   #4 7.641   Getting requirements to build wheel: finished with status 'done'
   #4 7.643   Preparing metadata (pyproject.toml): started
   #4 7.770   Preparing metadata (pyproject.toml): finished with status 'done'
   #4 7.794 Collecting aiosignal>=1.1.2
   #4 7.809   Downloading aiosignal-1.2.0-py3-none-any.whl (8.2 kB)
   #4 7.836 Collecting six
   #4 7.852   Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
   #4 7.907 Collecting idna>=2.0
   #4 7.925   Downloading idna-3.4-py3-none-any.whl (61 kB)
   #4 7.930      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.5/61.5 kB 15.0 
MB/s eta 0:00:00
   #4 7.934 Building wheels for collected packages: aiohttp, frozenlist, 
multidict, yarl
   #4 7.934   Building wheel for aiohttp (pyproject.toml): started
   #4 8.131   Building wheel for aiohttp (pyproject.toml): finished with status 
'error'
   #4 8.135   error: subprocess-exited-with-error
   #4 8.135   
   #4 8.135   × Building wheel for aiohttp (pyproject.toml) did not run 
successfully.
   #4 8.135   │ exit code: 1
   #4 8.135   ╰─> [107 lines of output]
   #4 8.135       *********************
   #4 8.135       * Accelerated build *
   #4 8.135       *********************
   #4 8.135       running bdist_wheel
   #4 8.135       running build
   #4 8.135       running build_py
   #4 8.135       creating build
   #4 8.135       creating build/lib.linux-aarch64-cpython-311
   #4 8.135       creating build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/web_routedef.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/client_ws.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/payload.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/web_request.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/web_ws.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/helpers.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/cookiejar.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/http.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/worker.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/client_exceptions.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/http_websocket.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/abc.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/tcp_helpers.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/hdrs.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/client_proto.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/web_exceptions.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/http_writer.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/web_protocol.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/formdata.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/tracing.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/web.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/locks.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/web_server.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/client.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/web_urldispatcher.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/connector.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/resolver.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/streams.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/web_response.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/typedefs.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/log.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/test_utils.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/pytest_plugin.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/http_parser.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/__init__.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/web_fileresponse.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/payload_streamer.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/web_app.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/client_reqrep.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/base_protocol.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/web_log.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/web_middlewares.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/multipart.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/web_runner.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/http_exceptions.py -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       running egg_info
   #4 8.135       writing aiohttp.egg-info/PKG-INFO
   #4 8.135       writing dependency_links to 
aiohttp.egg-info/dependency_links.txt
   #4 8.135       writing requirements to aiohttp.egg-info/requires.txt
   #4 8.135       writing top-level names to aiohttp.egg-info/top_level.txt
   #4 8.135       reading manifest file 'aiohttp.egg-info/SOURCES.txt'
   #4 8.135       reading manifest template 'MANIFEST.in'
   #4 8.135       warning: no files found matching 'aiohttp' anywhere in 
distribution
   #4 8.135       warning: no previously-included files matching '*.pyc' found 
anywhere in distribution
   #4 8.135       warning: no previously-included files matching '*.pyd' found 
anywhere in distribution
   #4 8.135       warning: no previously-included files matching '*.so' found 
anywhere in distribution
   #4 8.135       warning: no previously-included files matching '*.lib' found 
anywhere in distribution
   #4 8.135       warning: no previously-included files matching '*.dll' found 
anywhere in distribution
   #4 8.135       warning: no previously-included files matching '*.a' found 
anywhere in distribution
   #4 8.135       warning: no previously-included files matching '*.obj' found 
anywhere in distribution
   #4 8.135       warning: no previously-included files found matching 
'aiohttp/*.html'
   #4 8.135       no previously-included directories found matching 
'docs/_build'
   #4 8.135       adding license file 'LICENSE.txt'
   #4 8.135       writing manifest file 'aiohttp.egg-info/SOURCES.txt'
   #4 8.135       copying aiohttp/_cparser.pxd -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/_find_header.c -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/_find_header.h -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/_find_header.pxd -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/_headers.pxi -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/_helpers.c -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/_helpers.pyi -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/_helpers.pyx -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/_http_parser.c -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/_http_parser.pyx -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/_http_writer.c -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/_http_writer.pyx -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/_websocket.c -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/_websocket.pyx -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       copying aiohttp/py.typed -> 
build/lib.linux-aarch64-cpython-311/aiohttp
   #4 8.135       creating build/lib.linux-aarch64-cpython-311/aiohttp/.hash
   #4 8.135       copying aiohttp/.hash/_cparser.pxd.hash -> 
build/lib.linux-aarch64-cpython-311/aiohttp/.hash
   #4 8.135       copying aiohttp/.hash/_find_header.pxd.hash -> 
build/lib.linux-aarch64-cpython-311/aiohttp/.hash
   #4 8.135       copying aiohttp/.hash/_helpers.pyi.hash -> 
build/lib.linux-aarch64-cpython-311/aiohttp/.hash
   #4 8.135       copying aiohttp/.hash/_helpers.pyx.hash -> 
build/lib.linux-aarch64-cpython-311/aiohttp/.hash
   #4 8.135       copying aiohttp/.hash/_http_parser.pyx.hash -> 
build/lib.linux-aarch64-cpython-311/aiohttp/.hash
   #4 8.135       copying aiohttp/.hash/_http_writer.pyx.hash -> 
build/lib.linux-aarch64-cpython-311/aiohttp/.hash
   #4 8.135       copying aiohttp/.hash/_websocket.pyx.hash -> 
build/lib.linux-aarch64-cpython-311/aiohttp/.hash
   #4 8.135       copying aiohttp/.hash/hdrs.py.hash -> 
build/lib.linux-aarch64-cpython-311/aiohttp/.hash
   #4 8.135       running build_ext
   #4 8.135       building 'aiohttp._websocket' extension
   #4 8.135       creating build/temp.linux-aarch64-cpython-311
   #4 8.135       creating build/temp.linux-aarch64-cpython-311/aiohttp
   #4 8.135       gcc -pthread -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall 
-fPIC -I/usr/local/include/python3.11 -c aiohttp/_websocket.c -o 
build/temp.linux-aarch64-cpython-311/aiohttp/_websocket.o
   #4 8.135       aiohttp/_websocket.c:198:12: fatal error: longintrepr.h: No 
such file or directory
   #4 8.135         198 |   #include "longintrepr.h"
   #4 8.135             |            ^~~~~~~~~~~~~~~
   #4 8.135       compilation terminated.
   #4 8.135       error: command '/usr/bin/gcc' failed with exit code 1
   #4 8.135       [end of output]
   #4 8.135   
   #4 8.135   note: This error originates from a subprocess, and is likely not 
a problem with pip.
   #4 8.136   ERROR: Failed building wheel for aiohttp
   #4 8.137   Building wheel for frozenlist (pyproject.toml): started
   #4 9.115   Building wheel for frozenlist (pyproject.toml): finished with 
status 'done'
   #4 9.115   Created wheel for frozenlist: 
filename=frozenlist-1.3.1-cp311-cp311-linux_aarch64.whl size=152878 
sha256=144c31f2c56a53b9dd755f12869d37bc383b235ea704c3d101bd7173d352a030
   #4 9.115   Stored in directory: 
/root/.cache/pip/wheels/dd/ff/59/33d53277b012a9778a407f112dde27d418298fee9114052e91
   #4 9.117   Building wheel for multidict (pyproject.toml): started
   #4 9.877   Building wheel for multidict (pyproject.toml): finished with 
status 'done'
   #4 9.878   Created wheel for multidict: 
filename=multidict-6.0.2-cp311-cp311-linux_aarch64.whl size=119089 
sha256=f3fcfd50f695cf1aaadbbd04ef8b03abfe181fd28339827863e12be85a77f98d
   #4 9.879   Stored in directory: 
/root/.cache/pip/wheels/bb/18/4e/b073a52aef8b5c6f46950894ee61b705f922cbc5ee1331771c
   #4 9.881   Building wheel for yarl (pyproject.toml): started
   #4 11.61   Building wheel for yarl (pyproject.toml): finished with status 
'done'
   #4 11.61   Created wheel for yarl: 
filename=yarl-1.8.1-cp311-cp311-linux_aarch64.whl size=273833 
sha256=b51db15a08a64dbf4b2480a06a586a5cae3b413a2129a51f57dd8dd4a8a9fedc
   #4 11.61   Stored in directory: 
/root/.cache/pip/wheels/bc/b0/1c/df8ff385943c6989a1bf3ec78cbbe295bf14c35db10aaa0e3d
   #4 11.61 Successfully built frozenlist multidict yarl
   #4 11.61 Failed to build aiohttp
   #4 11.61 ERROR: Could not build wheels for aiohttp, which is required to 
install pyproject.toml-based projects
   ```
   **Python Version**
   3
   
   **aiohttp Version**
   <3.8.2
   
   **Additional context**
   When updating the version to at least 3.8.2, this error goes away.




> gremlinpython aiohttp dependency requirement too strict
> -------------------------------------------------------
>
>                 Key: TINKERPOP-2810
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-2810
>             Project: TinkerPop
>          Issue Type: Bug
>          Components: python
>    Affects Versions: 3.6.1
>            Reporter: Gunther Vogel
>            Priority: Major
>
> Currently, the requirements specify aiohttp >= 3.8.0, <= 3.8.1, disallowing 
> newer bugfix releases of aiohttp (current version is 3.8.3). Following the 
> general semantic versioning rules, the upper bound should be <4.0.0 (disallow 
> breaking changes).
> The current requirements are the result of TINKERPOP-2668 which only had the 
> goal of avoiding the bug contained in versions <= 3.7.4.
> Fixing aiohttp at a non-current bugfix release step increases the maintenance 
> effort needed to get an error-free overall library setup; in my case, 
> gremlinpython is not even used directly, but just pulled in by awswrangler.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to