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

Unable to install the latest(1.5.3) ddtrace using pip on Alpine 3.15 and Alpine 3.16 with Python 3.11 #4436

Closed
debugger22 opened this issue Nov 1, 2022 · 2 comments

Comments

@debugger22
Copy link

debugger22 commented Nov 1, 2022

Summary of problem

Unable to install the latest(1.5.3) ddtrace using pip on Alpine 3.15 and Alpine 3.16 with Python 3.11

Which version of dd-trace-py are you using?

1.5.3

Which version of pip are you using?

22.3

Which libraries and their versions are you using?

     copying ddtrace/vendor/wrapt/importer.py -> build/lib.linux-x86_64-cpython-311/ddtrace/vendor/wrapt
      copying ddtrace/vendor/wrapt/setup.py -> build/lib.linux-x86_64-cpython-311/ddtrace/vendor/wrapt
      copying ddtrace/vendor/wrapt/wrappers.py -> build/lib.linux-x86_64-cpython-311/ddtrace/vendor/wrapt
      copying ddtrace/py.typed -> build/lib.linux-x86_64-cpython-311/ddtrace
      copying ddtrace/appsec/rules.json -> build/lib.linux-x86_64-cpython-311/ddtrace/appsec
      running build_ext
      building 'ddtrace.profiling.collector._memalloc' extension
      creating build/temp.linux-x86_64-cpython-311
      creating build/temp.linux-x86_64-cpython-311/ddtrace
      creating build/temp.linux-x86_64-cpython-311/ddtrace/profiling
      creating build/temp.linux-x86_64-cpython-311/ddtrace/profiling/collector
      gcc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -I/usr/local/include/python3.11 -c ddtrace/profiling/collector/_memalloc.c -o build/temp.linux-x86_64-cpython-311/ddtrace/profiling/collector/_memalloc.o
      gcc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -I/usr/local/include/python3.11 -c ddtrace/profiling/collector/_memalloc_heap.c -o build/temp.linux-x86_64-cpython-311/ddtrace/profiling/collector/_memalloc_heap.o
      gcc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -I/usr/local/include/python3.11 -c ddtrace/profiling/collector/_memalloc_tb.c -o build/temp.linux-x86_64-cpython-311/ddtrace/profiling/collector/_memalloc_tb.o
      gcc -shared -Wl,--strip-all build/temp.linux-x86_64-cpython-311/ddtrace/profiling/collector/_memalloc.o build/temp.linux-x86_64-cpython-311/ddtrace/profiling/collector/_memalloc_heap.o build/temp.linux-x86_64-cpython-311/ddtrace/profiling/collector/_memalloc_tb.o -L/usr/local/lib -o build/lib.linux-x86_64-cpython-311/ddtrace/profiling/collector/_memalloc.cpython-311-x86_64-linux-musl.so
      building 'ddtrace.internal._rand' extension
      creating build/temp.linux-x86_64-cpython-311/ddtrace/internal
      gcc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -Iddtrace/internal -I/usr/local/include/python3.11 -c ddtrace/internal/_rand.c -o build/temp.linux-x86_64-cpython-311/ddtrace/internal/_rand.o
      gcc -shared -Wl,--strip-all build/temp.linux-x86_64-cpython-311/ddtrace/internal/_rand.o -L/usr/local/lib -o build/lib.linux-x86_64-cpython-311/ddtrace/internal/_rand.cpython-311-x86_64-linux-musl.so
      building 'ddtrace.internal._tagset' extension
      gcc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -I/usr/local/include/python3.11 -c ddtrace/internal/_tagset.c -o build/temp.linux-x86_64-cpython-311/ddtrace/internal/_tagset.o
      gcc -shared -Wl,--strip-all build/temp.linux-x86_64-cpython-311/ddtrace/internal/_tagset.o -L/usr/local/lib -o build/lib.linux-x86_64-cpython-311/ddtrace/internal/_tagset.cpython-311-x86_64-linux-musl.so
      building 'ddtrace.internal._encoding' extension
      gcc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -D__LITTLE_ENDIAN__=1 -Iddtrace/internal -I./ddtrace/internal -I. -I/usr/local/include/python3.11 -c ddtrace/internal/_encoding.c -o build/temp.linux-x86_64-cpython-311/ddtrace/internal/_encoding.o
      In file included from ddtrace/internal/pack.h:64,
                       from ddtrace/internal/_encoding.c:776:
      ddtrace/internal/pack_template.h: In function 'msgpack_pack_double':
      ddtrace/internal/pack_template.h:561:5: warning: implicit declaration of function '_PyFloat_Pack8'; did you mean 'PyFloat_Pack8'? [-Wimplicit-function-declaration]
        561 |     _PyFloat_Pack8(d, &buf[1], 0);
            |     ^~~~~~~~~~~~~~
            |     PyFloat_Pack8
      ddtrace/internal/_encoding.c: In function '__pyx_f_7ddtrace_8internal_9_encoding_18MsgpackStringTable_insert':
      ddtrace/internal/_encoding.c:5055:55: warning: comparison of integer expressions of different signedness: 'long unsigned int' and 'int' [-Wsign-compare]
       5055 |   __pyx_t_2 = (((__pyx_v_self->pk.length + __pyx_t_1) > __pyx_v_self->max_size) != 0);
            |                                                       ^
      ddtrace/internal/_encoding.c: In function '__pyx_f_7ddtrace_8internal_9_encoding_19ListBufferedEncoder_put':
      ddtrace/internal/_encoding.c:7718:34: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'long unsigned int'} [-Wsign-compare]
       7718 |   __pyx_t_7 = ((__pyx_v_item_len > __pyx_v_self->__pyx_base.max_item_size) != 0);
            |                                  ^
      ddtrace/internal/_encoding.c:7724:34: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'long unsigned int'} [-Wsign-compare]
       7724 |   __pyx_t_7 = ((__pyx_v_item_len > __pyx_v_self->__pyx_base.max_size) != 0);
            |                                  ^
      ddtrace/internal/_encoding.c:7814:66: warning: comparison of integer expressions of different signedness: 'Py_ssize_t' {aka 'long int'} and 'size_t' {aka 'long unsigned int'} [-Wsign-compare]
       7814 |           __pyx_t_6 = (((__pyx_v_self->_size + __pyx_v_item_len) <= __pyx_v_self->__pyx_base.max_size) != 0);
            |                                                                  ^~
      ddtrace/internal/_encoding.c: In function '__pyx_f_7ddtrace_8internal_9_encoding_17MsgpackEncoderV03_get_dd_origin_ref':
      ddtrace/internal/_encoding.c:11750:11: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
      11750 |   __pyx_r = __pyx_f_7ddtrace_8internal_9_encoding_string_to_buff(__pyx_v_dd_origin);
            |           ^
      ddtrace/internal/_encoding.c: In function '__pyx_f_7ddtrace_8internal_9_encoding_17MsgpackEncoderV03__pack_meta':
      ddtrace/internal/_encoding.c:12089:104: warning: passing argument 2 of '__pyx_f_7ddtrace_8internal_9_encoding_pack_bytes' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
      12089 |         __pyx_v_ret = __pyx_f_7ddtrace_8internal_9_encoding_pack_bytes((&__pyx_v_self->__pyx_base.pk), __pyx_v_7ddtrace_8internal_9_encoding__ORIGIN_KEY, __pyx_v_7ddtrace_8internal_9_encoding__ORIGIN_KEY_LEN);
            |                                                                                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      ddtrace/internal/_encoding.c:2547:116: note: expected 'char *' but argument is of type 'const char *'
       2547 | static CYTHON_INLINE int __pyx_f_7ddtrace_8internal_9_encoding_pack_bytes(struct msgpack_packer *__pyx_v_pk, char *__pyx_v_bs, Py_ssize_t __pyx_v_l) {
            |                                                                                                              ~~~~~~^~~~~~~~~~
      ddtrace/internal/_encoding.c: In function '__pyx_f_7ddtrace_8internal_9_encoding_17MsgpackEncoderV05_pack_span':
      ddtrace/internal/_encoding.c:15390:72: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
      15390 |     __pyx_v_ret = msgpack_pack_uint32((&__pyx_v_self->__pyx_base.pk), ((uint32_t)__pyx_v_dd_origin));
            |                                                                        ^
      ddtrace/internal/_encoding.c: In function '__pyx_f_7ddtrace_8internal_9_encoding_6Packer__pack':
      ddtrace/internal/_encoding.c:17420:10: warning: '__pyx_r' may be used uninitialized in this function [-Wmaybe-uninitialized]
      17420 |   return __pyx_r;
            |          ^~~~~~~
      gcc -shared -Wl,--strip-all build/temp.linux-x86_64-cpython-311/ddtrace/internal/_encoding.o -L/usr/local/lib -o build/lib.linux-x86_64-cpython-311/ddtrace/internal/_encoding.cpython-311-x86_64-linux-musl.so
      building 'ddtrace.profiling.collector.stack' extension
      gcc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -I/usr/local/include/python3.11 -c ddtrace/profiling/collector/stack.c -o build/temp.linux-x86_64-cpython-311/ddtrace/profiling/collector/stack.o -DPy_BUILD_CORE
      ddtrace/profiling/collector/stack.c: In function '__pyx_f_7ddtrace_9profiling_9collector_5stack_p_pthread_getcpuclockid':
      ddtrace/profiling/collector/stack.c:2342:39: warning: passing argument 1 of 'pthread_getcpuclockid' makes pointer from integer without a cast [-Wint-conversion]
       2342 |   __pyx_t_2 = ((pthread_getcpuclockid(__pyx_t_1, (&__pyx_v_clock_id)) == 0) != 0);
            |                                       ^~~~~~~~~
            |                                       |
            |                                       long unsigned int
      In file included from /usr/local/include/python3.11/cpython/pythread.h:16,
                       from /usr/local/include/python3.11/pythread.h:126,
                       from /usr/local/include/python3.11/Python.h:89,
                       from ddtrace/profiling/collector/stack.c:23:
      /usr/include/pthread.h:204:27: note: expected 'pthread_t' {aka 'struct __pthread *'} but argument is of type 'long unsigned int'
        204 | int pthread_getcpuclockid(pthread_t, clockid_t *);
            |                           ^~~~~~~~~
      ddtrace/profiling/collector/stack.c: In function '__pyx_f_7ddtrace_9profiling_9collector_5stack_collect_threads':
      ddtrace/profiling/collector/stack.c:4143:40: error: 'PyThreadState' {aka 'struct _ts'} has no member named 'frame'; did you mean 'cframe'?
       4143 |           __pyx_t_3 = (__pyx_v_tstate->frame != 0);
            |                                        ^~~~~
            |                                        cframe
      ddtrace/profiling/collector/stack.c:4153:54: error: 'PyThreadState' {aka 'struct _ts'} has no member named 'frame'; did you mean 'cframe'?
       4153 |             __pyx_t_1 = ((PyObject *)__pyx_v_tstate->frame);
            |                                                      ^~~~~
            |                                                      cframe
      ddtrace/profiling/collector/stack.c:4192:40: error: '_PyErr_StackItem' {aka 'struct _err_stackitem'} has no member named 'exc_type'
       4192 |           __pyx_t_5 = (__pyx_v_exc_info->exc_type != 0);
            |                                        ^~
      ddtrace/profiling/collector/stack.c:4198:40: error: '_PyErr_StackItem' {aka 'struct _err_stackitem'} has no member named 'exc_traceback'
       4198 |           __pyx_t_5 = (__pyx_v_exc_info->exc_traceback != 0);
            |                                        ^~
      In file included from /usr/local/include/python3.11/Python.h:38,
                       from ddtrace/profiling/collector/stack.c:23:
      ddtrace/profiling/collector/stack.c:4212:55: error: '_PyErr_StackItem' {aka 'struct _err_stackitem'} has no member named 'exc_type'
       4212 |             __Pyx_INCREF(((PyObject *)__pyx_v_exc_info->exc_type));
            |                                                       ^~
      /usr/local/include/python3.11/pyport.h:24:38: note: in definition of macro '_Py_CAST'
         24 | #define _Py_CAST(type, expr) ((type)(expr))
            |                                      ^~~~
      /usr/local/include/python3.11/object.h:506:35: note: in expansion of macro '_PyObject_CAST'
        506 | #  define Py_INCREF(op) Py_INCREF(_PyObject_CAST(op))
            |                                   ^~~~~~~~~~~~~~
      ddtrace/profiling/collector/stack.c:1126:27: note: in expansion of macro 'Py_INCREF'
       1126 |   #define __Pyx_INCREF(r) Py_INCREF(r)
            |                           ^~~~~~~~~
      ddtrace/profiling/collector/stack.c:4212:13: note: in expansion of macro '__Pyx_INCREF'
       4212 |             __Pyx_INCREF(((PyObject *)__pyx_v_exc_info->exc_type));
            |             ^~~~~~~~~~~~
      ddtrace/profiling/collector/stack.c:4214:73: error: '_PyErr_StackItem' {aka 'struct _err_stackitem'} has no member named 'exc_type'
       4214 |             PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_exc_info->exc_type));
            |                                                                         ^~
      /usr/local/include/python3.11/pyport.h:24:38: note: in definition of macro '_Py_CAST'
         24 | #define _Py_CAST(type, expr) ((type)(expr))
            |                                      ^~~~
      /usr/local/include/python3.11/cpython/tupleobject.h:40:49: note: in expansion of macro '_PyObject_CAST'
         40 |     PyTuple_SET_ITEM(_PyObject_CAST(op), index, _PyObject_CAST(value))
            |                                                 ^~~~~~~~~~~~~~
      ddtrace/profiling/collector/stack.c:4214:13: note: in expansion of macro 'PyTuple_SET_ITEM'
       4214 |             PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_exc_info->exc_type));
            |             ^~~~~~~~~~~~~~~~
      ddtrace/profiling/collector/stack.c:4215:55: error: '_PyErr_StackItem' {aka 'struct _err_stackitem'} has no member named 'exc_traceback'
       4215 |             __Pyx_INCREF(((PyObject *)__pyx_v_exc_info->exc_traceback));
            |                                                       ^~
      /usr/local/include/python3.11/pyport.h:24:38: note: in definition of macro '_Py_CAST'
         24 | #define _Py_CAST(type, expr) ((type)(expr))
            |                                      ^~~~
      /usr/local/include/python3.11/object.h:506:35: note: in expansion of macro '_PyObject_CAST'
        506 | #  define Py_INCREF(op) Py_INCREF(_PyObject_CAST(op))
            |                                   ^~~~~~~~~~~~~~
      ddtrace/profiling/collector/stack.c:1126:27: note: in expansion of macro 'Py_INCREF'
       1126 |   #define __Pyx_INCREF(r) Py_INCREF(r)
            |                           ^~~~~~~~~
      ddtrace/profiling/collector/stack.c:4215:13: note: in expansion of macro '__Pyx_INCREF'
       4215 |             __Pyx_INCREF(((PyObject *)__pyx_v_exc_info->exc_traceback));
            |             ^~~~~~~~~~~~
      ddtrace/profiling/collector/stack.c:4217:73: error: '_PyErr_StackItem' {aka 'struct _err_stackitem'} has no member named 'exc_traceback'
       4217 |             PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_exc_info->exc_traceback));
            |                                                                         ^~
      /usr/local/include/python3.11/pyport.h:24:38: note: in definition of macro '_Py_CAST'
         24 | #define _Py_CAST(type, expr) ((type)(expr))
            |                                      ^~~~
      /usr/local/include/python3.11/cpython/tupleobject.h:40:49: note: in expansion of macro '_PyObject_CAST'
         40 |     PyTuple_SET_ITEM(_PyObject_CAST(op), index, _PyObject_CAST(value))
            |                                                 ^~~~~~~~~~~~~~
      ddtrace/profiling/collector/stack.c:4217:13: note: in expansion of macro 'PyTuple_SET_ITEM'
       4217 |             PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_exc_info->exc_traceback));
            |             ^~~~~~~~~~~~~~~~
      error: command '/usr/bin/gcc' failed with exit code 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for ddtrace
  Building wheel for googlemaps (setup.py) ... -� �\� �done
  Created wheel for googlemaps: filename=googlemaps-4.5.3-py3-none-any.whl size=38480 sha256=41c5db27bf4a290fb312e66cb079360eb4207c12d79cc577bb9d3e9384002ad6
  Stored in directory: /root/.cache/pip/wheels/44/73/d8/570535aa98a3db6353265db9a25221f6d175968c010053de10
  Building wheel for python-geohash (setup.py) ... -� �\� �done
  Created wheel for python-geohash: filename=python_geohash-0.8.5-cp311-cp311-linux_x86_64.whl size=17945 sha256=b89befc2242ad4ec466b66f1b35a35129aa312bdc36962688470cdfe208aa7c3
  Stored in directory: /root/.cache/pip/wheels/6a/ee/74/8ebc258e806415f83e570a4932218e12880966edb89c4c394c
  Building wheel for django-dbsettings (setup.py) ... -� �done
  Created wheel for django-dbsettings: filename=django_dbsettings-1.3.0-py3-none-any.whl size=27944 sha256=d3380d1ff766e916652e38ae94e74ae6bb06705451cf1c30755c5d42f1abe01b
  Stored in directory: /root/.cache/pip/wheels/3b/91/1c/a8af601bea9097fa1fe8e367fea432a65486e975e10f570d03
  Building wheel for starkbank-ecdsa (setup.py) ... -� �done
  Created wheel for starkbank-ecdsa: filename=starkbank_ecdsa-2.2.0-py3-none-any.whl size=15969 sha256=cd06e44ed009718d628091161a60c79de60deee90f423a3f79f554cd301b04ed
  Stored in directory: /root/.cache/pip/wheels/0b/a8/38/02200b60737e27eeb1d099e2c11b222b3223aaff5aac2e1b1c
  Building wheel for unicodecsv (setup.py) ... -� �done
  Created wheel for unicodecsv: filename=unicodecsv-0.14.1-py3-none-any.whl size=10746 sha256=94fc54bf6141798dcbd4fce8e26be68616e23b36ce98e9ce5a323c90f8d418a2
  Stored in directory: /root/.cache/pip/wheels/39/71/fc/bbf294582ab922f615fcad6a5a76b4555cd8fee0ac2fc80f1a
  Building wheel for markuppy (setup.py) ... -� �done
  Created wheel for markuppy: filename=MarkupPy-1.14-py3-none-any.whl size=7397 sha256=6d9814bc1e66174d602aae70094abe7adfe28141966c3665f55925a244eb5278
  Stored in directory: /root/.cache/pip/wheels/0a/df/54/e52cf059f887522a087527251d6976982bcf98c89afc58ce2d
  Building wheel for odfpy (setup.py) ... -� �\� �done
  Created wheel for odfpy: filename=odfpy-1.4.1-py2.py3-none-any.whl size=160672 sha256=3eca2838019536f4ce3ead60bed4d86d41eceb1dd5e478c2d35216036a3744b5
  Stored in directory: /root/.cache/pip/wheels/4b/4d/6e/b75855c625d2ce60227a99e571c0bf47ec93ac56a09b5a065c
Successfully built psycopg2-binary hiredis djangorestframework-csv googlemaps python-geohash django-dbsettings starkbank-ecdsa unicodecsv markuppy odfpy
Failed to build ddtrace
ERROR: Could not build wheels for ddtrace, which is required to install pyproject.toml-based projects
@brettlangdon
Copy link
Member

Duplicate of #4149

Support is planned for 1.6.0, there is ddtrace==1.6.0rc2 available to try out.

Note, profiling is not supported on 3.11 yet, but installation + tracing will work as expected.

@debugger22
Copy link
Author

Thanks @brettlangdon

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants