BlackArch / blackarch

An ArchLinux based distribution for penetration testers and security researchers.
https://www.blackarch.org
Other
2.79k stars 556 forks source link

Error Installing vipermonkey #3526

Open Szewcson opened 2 years ago

Szewcson commented 2 years ago

Bug description

Error during instalaltion

Steps to reproduce

1.) Install vipermonkey

Actual result: Describe here what happens after you run the steps above (i.e. the buggy behaviour)

Building wheels for collected packages: regex
  Building wheel for regex (setup.py): started
  Building wheel for regex (setup.py): finished with status 'error'
  ERROR: Command errored out with exit status 1:
   command: /usr/share/vipermonkey/venv/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-172szi/regex/setup.py'"'"'; __file__='"'"'/tmp/pip-install-172szi/regex/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-1clEvy
       cwd: /tmp/pip-install-172szi/regex/
  Complete output (1451 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-2.7
  creating build/lib.linux-x86_64-2.7/regex
  copying regex_3/__init__.py -> build/lib.linux-x86_64-2.7/regex
  copying regex_3/regex.py -> build/lib.linux-x86_64-2.7/regex
  copying regex_3/_regex_core.py -> build/lib.linux-x86_64-2.7/regex
  copying regex_3/test_regex.py -> build/lib.linux-x86_64-2.7/regex
  running build_ext
  building 'regex._regex' extension
  creating build/temp.linux-x86_64-2.7
  creating build/temp.linux-x86_64-2.7/regex_3
  gcc -pthread -fno-strict-aliasing -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -DNDEBUG -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fPIC -I/usr/share/vipermonkey/venv/include/python2.7 -c regex_3/_regex.c -o build/temp.linux-x86_64-2.7/regex_3/_regex.o
  regex_3/_regex.c: In function ‘bytes1_char_at’:
  regex_3/_regex.c:755:15: error: ‘Py_UCS1’ undeclared (first use in this function); did you mean ‘Py_UCS4’?
    755 |     return *((Py_UCS1*)text + pos);
        |               ^~~~~~~
        |               Py_UCS4
  regex_3/_regex.c:755:15: note: each undeclared identifier is reported only once for each function it appears in
  regex_3/_regex.c:755:23: error: expected expression before ‘)’ token
    755 |     return *((Py_UCS1*)text + pos);
        |                       ^
  regex_3/_regex.c: In function ‘bytes1_set_char_at’:
  regex_3/_regex.c:760:8: error: ‘Py_UCS1’ undeclared (first use in this function); did you mean ‘Py_UCS4’?
    760 |     *((Py_UCS1*)text + pos) = (Py_UCS1)ch;
        |        ^~~~~~~
        |        Py_UCS4
  regex_3/_regex.c:760:16: error: expected expression before ‘)’ token
    760 |     *((Py_UCS1*)text + pos) = (Py_UCS1)ch;
        |                ^
  regex_3/_regex.c:760:40: error: expected ‘;’ before ‘ch’
    760 |     *((Py_UCS1*)text + pos) = (Py_UCS1)ch;
        |                                        ^~
        |                                        ;
  regex_3/_regex.c: In function ‘bytes1_point_to’:
  regex_3/_regex.c:765:13: error: ‘Py_UCS1’ undeclared (first use in this function); did you mean ‘Py_UCS4’?
    765 |     return (Py_UCS1*)text + pos;
        |             ^~~~~~~
        |             Py_UCS4
  regex_3/_regex.c:765:21: error: expected expression before ‘)’ token
    765 |     return (Py_UCS1*)text + pos;
        |                     ^
  regex_3/_regex.c: In function ‘bytes2_char_at’:
  regex_3/_regex.c:770:15: error: ‘Py_UCS2’ undeclared (first use in this function); did you mean ‘Py_UCS4’?
    770 |     return *((Py_UCS2*)text + pos);
        |               ^~~~~~~
        |               Py_UCS4
  regex_3/_regex.c:770:23: error: expected expression before ‘)’ token
    770 |     return *((Py_UCS2*)text + pos);
        |                       ^
  regex_3/_regex.c: In function ‘bytes2_set_char_at’:
  regex_3/_regex.c:775:8: error: ‘Py_UCS2’ undeclared (first use in this function); did you mean ‘Py_UCS4’?
    775 |     *((Py_UCS2*)text + pos) = (Py_UCS2)ch;
        |        ^~~~~~~
        |        Py_UCS4
  regex_3/_regex.c:775:16: error: expected expression before ‘)’ token
    775 |     *((Py_UCS2*)text + pos) = (Py_UCS2)ch;
        |                ^
  regex_3/_regex.c:775:40: error: expected ‘;’ before ‘ch’
    775 |     *((Py_UCS2*)text + pos) = (Py_UCS2)ch;
        |                                        ^~
        |                                        ;
  regex_3/_regex.c: In function ‘bytes2_point_to’:
  regex_3/_regex.c:780:13: error: ‘Py_UCS2’ undeclared (first use in this function); did you mean ‘Py_UCS4’?
    780 |     return (Py_UCS2*)text + pos;
        |             ^~~~~~~
        |             Py_UCS4
  regex_3/_regex.c:780:21: error: expected expression before ‘)’ token
    780 |     return (Py_UCS2*)text + pos;
        |                     ^
  regex_3/_regex.c: In function ‘set_error’:
  regex_3/_regex.c:2103:25: error: ‘PyExc_TimeoutError’ undeclared (first use in this function); did you mean ‘PyExc_ImportError’?
   2103 |         PyErr_SetString(PyExc_TimeoutError, "regex timed out");
        |                         ^~~~~~~~~~~~~~~~~~
        |                         PyExc_ImportError
  regex_3/_regex.c: In function ‘match_many_ANY’:
  regex_3/_regex.c:3468:9: error: unknown type name ‘Py_UCS1’; did you mean ‘Py_UCS4’?
   3468 |         Py_UCS1* text_ptr;
        |         ^~~~~~~
        |         Py_UCS4
  regex_3/_regex.c:3469:9: error: unknown type name ‘Py_UCS1’; did you mean ‘Py_UCS4’?
   3469 |         Py_UCS1* limit_ptr;
        |         ^~~~~~~
        |         Py_UCS4
  regex_3/_regex.c:3471:21: error: ‘Py_UCS1’ undeclared (first use in this function); did you mean ‘Py_UCS4’?
   3471 |         text_ptr = (Py_UCS1*)text + text_pos;
        |                     ^~~~~~~
        |                     Py_UCS4
  regex_3/_regex.c:3471:29: error: expected expression before ‘)’ token
   3471 |         text_ptr = (Py_UCS1*)text + text_pos;
        |                             ^
  regex_3/_regex.c:3472:30: error: expected expression before ‘)’ token
   3472 |         limit_ptr = (Py_UCS1*)text + limit;
        |                              ^
  regex_3/_regex.c:3477:40: error: expected expression before ‘)’ token
   3477 |         text_pos = text_ptr - (Py_UCS1*)text;
        |                                        ^
  regex_3/_regex.c:3482:9: error: unknown type name ‘Py_UCS2’; did you mean ‘Py_UCS4’?
   3482 |         Py_UCS2* text_ptr;
        |         ^~~~~~~
        |         Py_UCS4
  regex_3/_regex.c:3483:9: error: unknown type name ‘Py_UCS2’; did you mean ‘Py_UCS4’?
   3483 |         Py_UCS2* limit_ptr;
        |         ^~~~~~~
        |         Py_UCS4
  regex_3/_regex.c:3485:21: error: ‘Py_UCS2’ undeclared (first use in this function); did you mean ‘Py_UCS4’?
   3485 |         text_ptr = (Py_UCS2*)text + text_pos;
        |                     ^~~~~~~
        |                     Py_UCS4
  regex_3/_regex.c:3485:29: error: expected expression before ‘)’ token
   3485 |         text_ptr = (Py_UCS2*)text + text_pos;
        |                             ^
  regex_3/_regex.c:3486:30: error: expected expression before ‘)’ token
   3486 |         limit_ptr = (Py_UCS2*)text + limit;
        |                              ^
  regex_3/_regex.c:3491:40: error: expected expression before ‘)’ token
   3491 |         text_pos = text_ptr - (Py_UCS2*)text;
        |                                        ^
  regex_3/_regex.c: In function ‘match_many_ANY_REV’:
  regex_3/_regex.c:3523:9: error: unknown type name ‘Py_UCS1’; did you mean ‘Py_UCS4’?
   3523 |         Py_UCS1* text_ptr;
        |         ^~~~~~~
        |         Py_UCS4
  regex_3/_regex.c:3524:9: error: unknown type name ‘Py_UCS1’; did you mean ‘Py_UCS4’?
   3524 |         Py_UCS1* limit_ptr;
        |         ^~~~~~~
        |         Py_UCS4
  regex_3/_regex.c:3526:21: error: ‘Py_UCS1’ undeclared (first use in this function); did you mean ‘Py_UCS4’?
   3526 |         text_ptr = (Py_UCS1*)text + text_pos;
        |                     ^~~~~~~
        |                     Py_UCS4
  regex_3/_regex.c:3526:29: error: expected expression before ‘)’ token
   3526 |         text_ptr = (Py_UCS1*)text + text_pos;
        |                             ^
  regex_3/_regex.c:3527:30: error: expected expression before ‘)’ token
   3527 |         limit_ptr = (Py_UCS1*)text + limit;
        |                              ^
  regex_3/_regex.c:3532:40: error: expected expression before ‘)’ token
   3532 |         text_pos = text_ptr - (Py_UCS1*)text;
        |                                        ^
  regex_3/_regex.c:3537:9: error: unknown type name ‘Py_UCS2’; did you mean ‘Py_UCS4’?
   3537 |         Py_UCS2* text_ptr;
        |         ^~~~~~~
        |         Py_UCS4
  regex_3/_regex.c:3538:9: error: unknown type name ‘Py_UCS2’; did you mean ‘Py_UCS4’?
   3538 |         Py_UCS2* limit_ptr;
        |         ^~~~~~~
        |         Py_UCS4
  regex_3/_regex.c:3540:21: error: ‘Py_UCS2’ undeclared (first use in this function); did you mean ‘Py_UCS4’?
   3540 |         text_ptr = (Py_UCS2*)text + text_pos;
        |                     ^~~~~~~
        |                     Py_UCS4
  regex_3/_regex.c:3540:29: error: expected expression before ‘)’ token
   3540 |         text_ptr = (Py_UCS2*)text + text_pos;
...

Expected result: Describe here what should happen after you run the steps above (i.e. what would be the correct behaviour) No errors

ikstream commented 1 year ago

There is an upstream issue related to it, but also a proposed workaround until it is fixed