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

jpy can not be compiled with python3.11 #224

Open
Alex-Izquierdo opened this issue Nov 3, 2022 · 0 comments
Open

jpy can not be compiled with python3.11 #224

Alex-Izquierdo opened this issue Nov 3, 2022 · 0 comments

Comments

@Alex-Izquierdo
Copy link
Contributor

Alex-Izquierdo commented Nov 3, 2022

jpy can not be compiled with python3.11, as a consequence ansible-rulebook installation fails.
@benthomasson @mkanoor

PIP_NO_BINARY=jpy pip install jpy 
DEPRECATION: --no-binary currently disables reading from the cache of locally built wheels. In the future --no-binary will not influence the wheel cache. pip 23.1 will enforce this behaviour change. A possible replacement is to use the --no-cache-dir option. You can use the flag --use-feature=no-binary-enable-wheel-cache to test the upcoming behaviour. Discussion can be found at https://github.com/pypa/pip/issues/11453
Collecting jpy
  Using cached jpy-0.12.0.tar.gz (171 kB)
  Preparing metadata (setup.py) ... done
Installing collected packages: jpy
  DEPRECATION: jpy is being installed using the legacy 'setup.py install' method, because the '--no-binary' option was enabled for it and this currently disables local wheel building for projects that don't have a 'pyproject.toml' file. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/11451
  Running setup.py install for jpy ... error
  error: subprocess-exited-with-error
  
  × Running setup.py install for jpy did not run successfully.
  │ exit code: 1
  ╰─> [198 lines of output]
      /usr/local/lib/python3.11/site-packages/setuptools/dist.py:771: UserWarning: Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' instead
        warnings.warn(
      running install
      /usr/local/lib/python3.11/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
        warnings.warn(
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-cpython-311
      copying jpyutil.py -> build/lib.linux-x86_64-cpython-311
      running build_ext
      building 'jpy' extension
      creating build/temp.linux-x86_64-cpython-311
      creating build/temp.linux-x86_64-cpython-311/src
      creating build/temp.linux-x86_64-cpython-311/src/main
      creating build/temp.linux-x86_64-cpython-311/src/main/c
      creating build/temp.linux-x86_64-cpython-311/src/main/c/jni
      gcc -pthread -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -Isrc/main/c -I/usr/lib/jvm/java-17-openjdk-amd64/include -I/usr/lib/jvm/java-17-openjdk-amd64/include/linux -I/usr/local/include/python3.11 -c src/main/c/jni/org_jpy_PyLib.c -o build/temp.linux-x86_64-cpython-311/src/main/c/jni/org_jpy_PyLib.o
      src/main/c/jni/org_jpy_PyLib.c: In function ‘Java_org_jpy_PyLib_setPythonHome’:
      src/main/c/jni/org_jpy_PyLib.c:170:31: warning: passing argument 1 of ‘PyMem_RawFree’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
        170 |                 PyMem_RawFree(pythonHome);
            |                               ^~~~~~~~~~
      In file included from /usr/local/include/python3.11/pymem.h:96,
                       from /usr/local/include/python3.11/Python.h:41,
                       from src/main/c/jni/org_jpy_PyLib.c:21:
      /usr/local/include/python3.11/cpython/pymem.h:8:38: note: expected ‘void *’ but argument is of type ‘const wchar_t *’ {aka ‘const int *’}
          8 | PyAPI_FUNC(void) PyMem_RawFree(void *ptr);
            |                                ~~~~~~^~~
      src/main/c/jni/org_jpy_PyLib.c:184:13: warning: ‘Py_SetPythonHome’ is deprecated [-Wdeprecated-declarations]
        184 |             Py_SetPythonHome(staticPythonHome);
            |             ^~~~~~~~~~~~~~~~
      In file included from /usr/local/include/python3.11/Python.h:94,
                       from src/main/c/jni/org_jpy_PyLib.c:21:
      /usr/local/include/python3.11/pylifecycle.h:40:38: note: declared here
         40 | Py_DEPRECATED(3.11) PyAPI_FUNC(void) Py_SetPythonHome(const wchar_t *);
            |                                      ^~~~~~~~~~~~~~~~
      src/main/c/jni/org_jpy_PyLib.c:187:27: warning: passing argument 1 of ‘PyMem_RawFree’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
        187 |             PyMem_RawFree(pythonHome);
            |                           ^~~~~~~~~~
      In file included from /usr/local/include/python3.11/pymem.h:96,
                       from /usr/local/include/python3.11/Python.h:41,
                       from src/main/c/jni/org_jpy_PyLib.c:21:
      /usr/local/include/python3.11/cpython/pymem.h:8:38: note: expected ‘void *’ but argument is of type ‘const wchar_t *’ {aka ‘const int *’}
          8 | PyAPI_FUNC(void) PyMem_RawFree(void *ptr);
            |                                ~~~~~~^~~
      src/main/c/jni/org_jpy_PyLib.c: In function ‘Java_org_jpy_PyLib_setProgramName’:
      src/main/c/jni/org_jpy_PyLib.c:237:31: warning: passing argument 1 of ‘PyMem_RawFree’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
        237 |                 PyMem_RawFree(programName);
            |                               ^~~~~~~~~~~
      In file included from /usr/local/include/python3.11/pymem.h:96,
                       from /usr/local/include/python3.11/Python.h:41,
                       from src/main/c/jni/org_jpy_PyLib.c:21:
      /usr/local/include/python3.11/cpython/pymem.h:8:38: note: expected ‘void *’ but argument is of type ‘const wchar_t *’ {aka ‘const int *’}
          8 | PyAPI_FUNC(void) PyMem_RawFree(void *ptr);
            |                                ~~~~~~^~~
      src/main/c/jni/org_jpy_PyLib.c:251:13: warning: ‘Py_SetProgramName’ is deprecated [-Wdeprecated-declarations]
        251 |             Py_SetProgramName(staticProgramName);
            |             ^~~~~~~~~~~~~~~~~
      In file included from /usr/local/include/python3.11/Python.h:94,
                       from src/main/c/jni/org_jpy_PyLib.c:21:
      /usr/local/include/python3.11/pylifecycle.h:37:38: note: declared here
         37 | Py_DEPRECATED(3.11) PyAPI_FUNC(void) Py_SetProgramName(const wchar_t *);
            |                                      ^~~~~~~~~~~~~~~~~
      src/main/c/jni/org_jpy_PyLib.c:254:27: warning: passing argument 1 of ‘PyMem_RawFree’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
        254 |             PyMem_RawFree(programName);
            |                           ^~~~~~~~~~~
      In file included from /usr/local/include/python3.11/pymem.h:96,
                       from /usr/local/include/python3.11/Python.h:41,
                       from src/main/c/jni/org_jpy_PyLib.c:21:
      /usr/local/include/python3.11/cpython/pymem.h:8:38: note: expected ‘void *’ but argument is of type ‘const wchar_t *’ {aka ‘const int *’}
          8 | PyAPI_FUNC(void) PyMem_RawFree(void *ptr);
            |                                ~~~~~~^~~
      src/main/c/jni/org_jpy_PyLib.c: In function ‘Java_org_jpy_PyLib_startPython0’:
      src/main/c/jni/org_jpy_PyLib.c:280:9: warning: ‘PySys_SetArgvEx’ is deprecated [-Wdeprecated-declarations]
        280 |         PySys_SetArgvEx(0, NULL, 0);
            |         ^~~~~~~~~~~~~~~
      In file included from /usr/local/include/python3.11/Python.h:96,
                       from src/main/c/jni/org_jpy_PyLib.c:21:
      /usr/local/include/python3.11/sysmodule.h:14:38: note: declared here
         14 | Py_DEPRECATED(3.11) PyAPI_FUNC(void) PySys_SetArgvEx(int, wchar_t **, int);
            |                                      ^~~~~~~~~~~~~~~
      src/main/c/jni/org_jpy_PyLib.c:284:9: warning: ‘PyEval_InitThreads’ is deprecated [-Wdeprecated-declarations]
        284 |         PyEval_InitThreads();
            |         ^~~~~~~~~~~~~~~~~~
      In file included from /usr/local/include/python3.11/Python.h:95,
                       from src/main/c/jni/org_jpy_PyLib.c:21:
      /usr/local/include/python3.11/ceval.h:132:37: note: declared here
        132 | Py_DEPRECATED(3.9) PyAPI_FUNC(void) PyEval_InitThreads(void);
            |                                     ^~~~~~~~~~~~~~~~~~
      src/main/c/jni/org_jpy_PyLib.c: In function ‘Java_org_jpy_PyLib_executeCode’:
      src/main/c/jni/org_jpy_PyLib.c:1024:16: warning: returning ‘void *’ from a function with return type ‘jlong’ {aka ‘long int’} makes integer from pointer without a cast [-Wint-conversion]
       1024 |         return NULL;
            |                ^~~~
      src/main/c/jni/org_jpy_PyLib.c:1029:101: warning: passing argument 7 of ‘executeInternal’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
       1029 |     result = executeInternal(jenv, jLibClass, jStart, jGlobals, jLocals, (DoRun)pyRunStringWrapper, codeChars);
            |                                                                                                     ^~~~~~~~~
      src/main/c/jni/org_jpy_PyLib.c:890:128: note: expected ‘void *’ but argument is of type ‘const char *’
        890 | jlong executeInternal(JNIEnv* jenv, jclass jLibClass, jint jStart, jobject jGlobals, jobject jLocals, DoRun runFunction, void *runArg) {
            |                                                                                                                          ~~~~~~^~~~~~
      src/main/c/jni/org_jpy_PyLib.c: In function ‘Java_org_jpy_PyLib_getType’:
      src/main/c/jni/org_jpy_PyLib.c:1364:14: warning: assignment to ‘PyObject *’ {aka ‘struct _object *’} from incompatible pointer type ‘PyTypeObject *’ {aka ‘struct _typeobject *’} [-Wincompatible-pointer-types]
       1364 |     pyObject = ((PyObject*) objId)->ob_type;
            |              ^
      src/main/c/jni/org_jpy_PyLib.c: In function ‘PyLib_CallAndReturnObject’:
      src/main/c/jni/org_jpy_PyLib.c:2350:68: warning: passing argument 4 of ‘PyLib_FromJObjectForTuple’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
       2350 |         pyArg = PyLib_FromJObjectForTuple(jenv, jArg, jParamClass, nameChars, i);
            |                                                                    ^~~~~~~~~
      src/main/c/jni/org_jpy_PyLib.c:2270:91: note: expected ‘char *’ but argument is of type ‘const char *’
       2270 | PyObject* PyLib_FromJObjectForTuple(JNIEnv *jenv, jobject jArg, jclass jParamClass, char* nameChars, jint index) {
            |                                                                                     ~~~~~~^~~~~~~~~
      src/main/c/jni/org_jpy_PyLib.c:2319:16: warning: unused variable ‘jArgParamType’ [-Wunused-variable]
       2319 |     JPy_JType* jArgParamType;
            |                ^~~~~~~~~~~~~
      src/main/c/jni/org_jpy_PyLib.c:2318:16: warning: unused variable ‘explicitParamType’ [-Wunused-variable]
       2318 |     JPy_JType* explicitParamType = NULL;
            |                ^~~~~~~~~~~~~~~~~
      src/main/c/jni/org_jpy_PyLib.c: In function ‘PyLib_HandlePythonException’:
      src/main/c/jni/org_jpy_PyLib.c:2466:36: warning: passing argument 3 of ‘PyErr_Fetch’ from incompatible pointer type [-Wincompatible-pointer-types]
       2466 |     PyErr_Fetch(&pyType, &pyValue, &pyTraceback);
            |                                    ^~~~~~~~~~~~
            |                                    |
            |                                    PyTracebackObject ** {aka struct _traceback **}
      In file included from /usr/local/include/python3.11/Python.h:88,
                       from src/main/c/jni/org_jpy_PyLib.c:21:
      /usr/local/include/python3.11/pyerrors.h:19:56: note: expected ‘PyObject **’ {aka ‘struct _object **’} but argument is of type ‘PyTracebackObject **’ {aka ‘struct _traceback **’}
         19 | PyAPI_FUNC(void) PyErr_Fetch(PyObject **, PyObject **, PyObject **);
            |                                                        ^~~~~~~~~~~
      src/main/c/jni/org_jpy_PyLib.c:2469:49: warning: passing argument 3 of ‘PyErr_NormalizeException’ from incompatible pointer type [-Wincompatible-pointer-types]
       2469 |     PyErr_NormalizeException(&pyType, &pyValue, &pyTraceback);
            |                                                 ^~~~~~~~~~~~
            |                                                 |
            |                                                 PyTracebackObject ** {aka struct _traceback **}
      In file included from /usr/local/include/python3.11/Python.h:88,
                       from src/main/c/jni/org_jpy_PyLib.c:21:
      /usr/local/include/python3.11/pyerrors.h:40:67: note: expected ‘PyObject **’ {aka ‘struct _object **’} but argument is of type ‘PyTracebackObject **’ {aka ‘struct _traceback **’}
         40 | PyAPI_FUNC(void) PyErr_NormalizeException(PyObject**, PyObject**, PyObject**);
            |                                                                   ^~~~~~~~~~
      src/main/c/jni/org_jpy_PyLib.c:2490:63: warning: passing argument 1 of ‘PyObject_GetAttrString’ from incompatible pointer type [-Wincompatible-pointer-types]
       2490 |         linenoChars = PyLib_ObjToChars(PyObject_GetAttrString(pyTraceback, "tb_lineno"), &pyLinenoUtf8);
            |                                                               ^~~~~~~~~~~
            |                                                               |
            |                                                               PyTracebackObject * {aka struct _traceback *}
      In file included from /usr/local/include/python3.11/Python.h:44,
                       from src/main/c/jni/org_jpy_PyLib.c:21:
      /usr/local/include/python3.11/object.h:289:47: note: expected ‘PyObject *’ {aka ‘struct _object *’} but argument is of type ‘PyTracebackObject *’ {aka ‘struct _traceback *’}
        289 | PyAPI_FUNC(PyObject *) PyObject_GetAttrString(PyObject *, const char *);
            |                                               ^~~~~~~~~~
      src/main/c/jni/org_jpy_PyLib.c:2491:42: warning: passing argument 1 of ‘PyObject_GetAttrString’ from incompatible pointer type [-Wincompatible-pointer-types]
       2491 |         pyFrame = PyObject_GetAttrString(pyTraceback, "tb_frame");
            |                                          ^~~~~~~~~~~
            |                                          |
            |                                          PyTracebackObject * {aka struct _traceback *}
      In file included from /usr/local/include/python3.11/Python.h:44,
                       from src/main/c/jni/org_jpy_PyLib.c:21:
      /usr/local/include/python3.11/object.h:289:47: note: expected ‘PyObject *’ {aka ‘struct _object *’} but argument is of type ‘PyTracebackObject *’ {aka ‘struct _traceback *’}
        289 | PyAPI_FUNC(PyObject *) PyObject_GetAttrString(PyObject *, const char *);
            |                                               ^~~~~~~~~~
      src/main/c/jni/org_jpy_PyLib.c:2530:47: warning: passing argument 1 of ‘python_traceback_report’ from incompatible pointer type [-Wincompatible-pointer-types]
       2530 |             int err = python_traceback_report(pyTraceback, &javaMessage, &bufLen);
            |                                               ^~~~~~~~~~~
            |                                               |
            |                                               PyTracebackObject * {aka struct _traceback *}
      src/main/c/jni/org_jpy_PyLib.c:48:46: note: expected ‘PyObject *’ {aka ‘struct _object *’} but argument is of type ‘PyTracebackObject *’ {aka ‘struct _traceback *’}
         48 | static int python_traceback_report(PyObject *tb, char **buf, int* bufLen);
            |                                    ~~~~~~~~~~^~
      src/main/c/jni/org_jpy_PyLib.c: In function ‘append_to_java_message’:
      src/main/c/jni/org_jpy_PyLib.c:2702:35: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
       2702 |     if (strlen(*buf) + msgLen + 1 >= *bufLen) {
            |                                   ^~
      src/main/c/jni/org_jpy_PyLib.c: In function ‘format_python_traceback’:
      src/main/c/jni/org_jpy_PyLib.c:2743:25: error: invalid use of incomplete typedef ‘PyFrameObject’ {aka ‘struct _frame’}
       2743 |             tb->tb_frame->f_code->co_filename != last_file ||
            |                         ^~
      src/main/c/jni/org_jpy_PyLib.c:2745:46: error: invalid use of incomplete typedef ‘PyFrameObject’ {aka ‘struct _frame’}
       2745 |             last_name == NULL || tb->tb_frame->f_code->co_name != last_name) {
            |                                              ^~
      src/main/c/jni/org_jpy_PyLib.c:2752:37: error: invalid use of incomplete typedef ‘PyFrameObject’ {aka ‘struct _frame’}
       2752 |             last_file = tb->tb_frame->f_code->co_filename;
            |                                     ^~
      src/main/c/jni/org_jpy_PyLib.c:2754:37: error: invalid use of incomplete typedef ‘PyFrameObject’ {aka ‘struct _frame’}
       2754 |             last_name = tb->tb_frame->f_code->co_name;
            |                                     ^~
      src/main/c/jni/org_jpy_PyLib.c:2760:46: error: invalid use of incomplete typedef ‘PyFrameObject’ {aka ‘struct _frame’}
       2760 |                                  tb->tb_frame->f_code->co_filename,
            |                                              ^~
      src/main/c/jni/org_jpy_PyLib.c:2762:46: error: invalid use of incomplete typedef ‘PyFrameObject’ {aka ‘struct _frame’}
       2762 |                                  tb->tb_frame->f_code->co_name);
            |                                              ^~
      src/main/c/jni/org_jpy_PyLib.c: In function ‘python_traceback_report’:
      src/main/c/jni/org_jpy_PyLib.c:2781:36: warning: passing argument 1 of ‘format_python_traceback’ from incompatible pointer type [-Wincompatible-pointer-types]
       2781 |     return format_python_traceback(tb, buf, bufLen);
            |                                    ^~
            |                                    |
            |                                    PyObject * {aka struct _object *}
      src/main/c/jni/org_jpy_PyLib.c:2721:55: note: expected ‘PyTracebackObject *’ {aka ‘struct _traceback *’} but argument is of type ‘PyObject *’ {aka ‘struct _object *’}
       2721 | static int format_python_traceback(PyTracebackObject *tb, char **buf, int *bufLen)
            |                                    ~~~~~~~~~~~~~~~~~~~^~
      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: legacy-install-failure

× Encountered error while trying to install package.
╰─> jpy

Depends on jpy-consortium/jpy#95

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

1 participant