axiak / pyre2

Python wrapper for RE2
BSD 3-Clause "New" or "Revised" License
295 stars 39 forks source link

Install on MacOS build failed #55

Open alexthemonk opened 4 years ago

alexthemonk commented 4 years ago

Hi, So I was trying to install pyre2 on my Mac following the steps described in the Installation. And I encountered the following error when I tried to do the install. The same error message occurs if I do pip3 install re2

Could you please help me with this?

Thank you for your time.

$ python3 setup.py install
running install
running build
running build_ext
building 're2' extension
creating build
creating build/temp.macosx-10.9-x86_64-3.8
creating build/temp.macosx-10.9-x86_64-3.8/src
gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/<HomePath>/opt/miniconda3/envs/ipa/include -arch x86_64 -I/<HomePath>/opt/miniconda3/envs/ipa/include -arch x86_64 -I/usr/local/include -I/<HomePath>/opt/miniconda3/envs/ipa/include/python3.8 -c src/re2.cpp -o build/temp.macosx-10.9-x86_64-3.8/src/re2.o -std=c++11

(I removed all the warnings for unreachable code and explicit value assignment for simplity)

src/re2.cpp:14764:24: error: no member named 'exc_type' in '_ts'
    tmp_type = tstate->exc_type;
               ~~~~~~  ^
src/re2.cpp:14765:25: error: no member named 'exc_value' in '_ts'; did you mean 'curexc_value'?
    tmp_value = tstate->exc_value;
                        ^~~~~~~~~
                        curexc_value
/<HomePath>/opt/miniconda3/envs/ipa/include/python3.8/cpython/pystate.h:79:15: note: 'curexc_value' declared here
    PyObject *curexc_value;
              ^
src/re2.cpp:14766:22: error: no member named 'exc_traceback' in '_ts'; did you mean 'curexc_traceback'?
    tmp_tb = tstate->exc_traceback;
                     ^~~~~~~~~~~~~
                     curexc_traceback
/<HomePath>/opt/miniconda3/envs/ipa/include/python3.8/cpython/pystate.h:80:15: note: 'curexc_traceback' declared
      here
    PyObject *curexc_traceback;
              ^
src/re2.cpp:14767:13: error: no member named 'exc_type' in '_ts'
    tstate->exc_type = local_type;
    ~~~~~~  ^
src/re2.cpp:14768:13: error: no member named 'exc_value' in '_ts'; did you mean 'curexc_value'?
    tstate->exc_value = local_value;
            ^~~~~~~~~
            curexc_value
/<HomePath>/opt/miniconda3/envs/ipa/include/python3.8/cpython/pystate.h:79:15: note: 'curexc_value' declared here
    PyObject *curexc_value;
              ^
src/re2.cpp:14769:13: error: no member named 'exc_traceback' in '_ts'; did you mean 'curexc_traceback'?
    tstate->exc_traceback = local_tb;
            ^~~~~~~~~~~~~
            curexc_traceback
/<HomePath>/opt/miniconda3/envs/ipa/include/python3.8/cpython/pystate.h:80:15: note: 'curexc_traceback' declared
      here
    PyObject *curexc_traceback;
              ^
src/re2.cpp:14790:21: error: no member named 'exc_type' in '_ts'
    *type = tstate->exc_type;
            ~~~~~~  ^
src/re2.cpp:14791:22: error: no member named 'exc_value' in '_ts'; did you mean 'curexc_value'?
    *value = tstate->exc_value;
                     ^~~~~~~~~
                     curexc_value
/<HomePath>/opt/miniconda3/envs/ipa/include/python3.8/cpython/pystate.h:79:15: note: 'curexc_value' declared here
    PyObject *curexc_value;
              ^
src/re2.cpp:14792:19: error: no member named 'exc_traceback' in '_ts'; did you mean 'curexc_traceback'?
    *tb = tstate->exc_traceback;
                  ^~~~~~~~~~~~~
                  curexc_traceback
/<HomePath>/opt/miniconda3/envs/ipa/include/python3.8/cpython/pystate.h:80:15: note: 'curexc_traceback' declared
      here
    PyObject *curexc_traceback;
              ^
src/re2.cpp:14801:24: error: no member named 'exc_type' in '_ts'
    tmp_type = tstate->exc_type;
               ~~~~~~  ^
src/re2.cpp:14802:25: error: no member named 'exc_value' in '_ts'; did you mean 'curexc_value'?
    tmp_value = tstate->exc_value;
                        ^~~~~~~~~
                        curexc_value
/<HomePath>/opt/miniconda3/envs/ipa/include/python3.8/cpython/pystate.h:79:15: note: 'curexc_value' declared here
    PyObject *curexc_value;
              ^
src/re2.cpp:14803:22: error: no member named 'exc_traceback' in '_ts'; did you mean 'curexc_traceback'?
    tmp_tb = tstate->exc_traceback;
                     ^~~~~~~~~~~~~
                     curexc_traceback
/<HomePath>/opt/miniconda3/envs/ipa/include/python3.8/cpython/pystate.h:80:15: note: 'curexc_traceback' declared
      here
    PyObject *curexc_traceback;
              ^
src/re2.cpp:14804:13: error: no member named 'exc_type' in '_ts'
    tstate->exc_type = type;
    ~~~~~~  ^
src/re2.cpp:14805:13: error: no member named 'exc_value' in '_ts'; did you mean 'curexc_value'?
    tstate->exc_value = value;
            ^~~~~~~~~
            curexc_value
/<HomePath>/opt/miniconda3/envs/ipa/include/python3.8/cpython/pystate.h:79:15: note: 'curexc_value' declared here
    PyObject *curexc_value;
              ^
src/re2.cpp:14806:13: error: no member named 'exc_traceback' in '_ts'; did you mean 'curexc_traceback'?
    tstate->exc_traceback = tb;
            ^~~~~~~~~~~~~
            curexc_traceback
/<HomePath>/opt/miniconda3/envs/ipa/include/python3.8/cpython/pystate.h:80:15: note: 'curexc_traceback' declared
      here
    PyObject *curexc_traceback;
              ^
75 warnings and 15 errors generated.
error: command 'gcc' failed with exit status 1
sarnold commented 3 years ago

There's an active (and updated) fork available here: https://github.com/andreasvc/pyre2 that builds fine on the CI macos runners. take a look at the files in.github/workflows but essentially all you should need is brew to install re2 and then build away...