WojciechMula / pyahocorasick

Python module (C extension and plain python) implementing Aho-Corasick algorithm
BSD 3-Clause "New" or "Revised" License
952 stars 125 forks source link

"architecture not supported" error installing for Python 3.10 on Mac #154

Closed mscarey closed 2 years ago

mscarey commented 3 years ago

When I run pip install pyahocorasick for Python 3.10 on an Intel-based Mac running MacOS Big Sur, the installation fails. The issue could be related to #141, but unlike in that issue, I don't get the message "this compiler does not support arm64". The installation succeeds on Python 3.9.

Here's the output from pip when running the command in a new virtual environment:

(venv) ➜  eyecite-310 pip install pyahocorasick    
Collecting pyahocorasick
  Using cached pyahocorasick-1.4.2.tar.gz (321 kB)
  Preparing metadata (setup.py) ... done
Using legacy 'setup.py install' for pyahocorasick, since package 'wheel' is not installed.
Installing collected packages: pyahocorasick
    Running setup.py install for pyahocorasick ... error
    ERROR: Command errored out with exit status 1:
     command: /Users/Matt/dev/eyecite-310/venv/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/33/59jwc39s5jd8b38zvnx9rnqw0000gp/T/pip-install-pemcgnuw/pyahocorasick_6d219a6bed624a4eaa77eb5c296d98af/setup.py'"'"'; __file__='"'"'/private/var/folders/33/59jwc39s5jd8b38zvnx9rnqw0000gp/T/pip-install-pemcgnuw/pyahocorasick_6d219a6bed624a4eaa77eb5c296d98af/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/33/59jwc39s5jd8b38zvnx9rnqw0000gp/T/pip-record-0dcry_qs/install-record.txt --single-version-externally-managed --compile --install-headers /Users/Matt/dev/eyecite-310/venv/include/site/python3.10/pyahocorasick
         cwd: /private/var/folders/33/59jwc39s5jd8b38zvnx9rnqw0000gp/T/pip-install-pemcgnuw/pyahocorasick_6d219a6bed624a4eaa77eb5c296d98af/
    Complete output (115 lines):
    running install
    running build
    running build_ext
    building 'ahocorasick' extension
    creating build
    creating build/temp.macosx-10.9-universal2-3.10
    clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch arm64 -arch x86_64 -g -DAHOCORASICK_UNICODE= -I/Users/Matt/dev/eyecite-310/venv/include -I/Library/Frameworks/Python.framework/Versions/3.10/include/python3.10 -c pyahocorasick.c -o build/temp.macosx-10.9-universal2-3.10/pyahocorasick.o
    In file included from pyahocorasick.c:13:
    In file included from ./common.h:15:
    In file included from /Library/Frameworks/Python.framework/Versions/3.10/include/python3.10/Python.h:11:
    In file included from /Library/Developer/CommandLineTools/usr/lib/clang/11.0.0/include/limits.h:37:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/limits.h:63:
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:807:2: error: Unsupported architecture
    #error Unsupported architecture
     ^
    In file included from pyahocorasick.c:13:
    In file included from ./common.h:15:
    In file included from /Library/Frameworks/Python.framework/Versions/3.10/include/python3.10/Python.h:11:
    In file included from /Library/Developer/CommandLineTools/usr/lib/clang/11.0.0/include/limits.h:37:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/limits.h:64:
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/limits.h:8:2: error: architecture not supported
    #error architecture not supported
     ^
    In file included from pyahocorasick.c:13:
    In file included from ./common.h:15:
    In file included from /Library/Frameworks/Python.framework/Versions/3.10/include/python3.10/Python.h:25:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:64:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:71:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types.h:27:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:33:
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/_types.h:34:2: error: architecture not supported
    #error architecture not supported
     ^
    In file included from pyahocorasick.c:13:
    In file included from ./common.h:15:
    In file included from /Library/Frameworks/Python.framework/Versions/3.10/include/python3.10/Python.h:25:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:64:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:71:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types.h:27:
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:55:9: error: unknown type name '__int64_t'; did you mean '__int128_t'?
    typedef __int64_t       __darwin_blkcnt_t;      /* total blocks */
            ^
    note: '__int128_t' declared here
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:56:9: error: unknown type name '__int32_t'; did you mean '__int128_t'?
    typedef __int32_t       __darwin_blksize_t;     /* preferred block size */
            ^
    note: '__int128_t' declared here
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:57:9: error: unknown type name '__int32_t'; did you mean '__int128_t'?
    typedef __int32_t       __darwin_dev_t;         /* dev_t */
            ^
    note: '__int128_t' declared here
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:60:9: error: unknown type name '__uint32_t'; did you mean '__uint128_t'?
    typedef __uint32_t      __darwin_gid_t;         /* [???] process and group IDs */
            ^
    note: '__uint128_t' declared here
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:61:9: error: unknown type name '__uint32_t'; did you mean '__uint128_t'?
    typedef __uint32_t      __darwin_id_t;          /* [XSI] pid_t, uid_t, or gid_t*/
            ^
    note: '__uint128_t' declared here
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:62:9: error: unknown type name '__uint64_t'; did you mean '__uint128_t'?
    typedef __uint64_t      __darwin_ino64_t;       /* [???] Used for 64 bit inodes */
            ^
    note: '__uint128_t' declared here
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:68:9: error: unknown type name '__darwin_natural_t'
    typedef __darwin_natural_t __darwin_mach_port_name_t; /* Used by mach */
            ^
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:70:9: error: unknown type name '__uint16_t'; did you mean '__uint128_t'?
    typedef __uint16_t      __darwin_mode_t;        /* [???] Some file attributes */
            ^
    note: '__uint128_t' declared here
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:71:9: error: unknown type name '__int64_t'; did you mean '__int128_t'?
    typedef __int64_t       __darwin_off_t;         /* [???] Used for file sizes */
            ^
    note: '__int128_t' declared here
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:72:9: error: unknown type name '__int32_t'; did you mean '__int128_t'?
    typedef __int32_t       __darwin_pid_t;         /* [???] process and group IDs */
            ^
    note: '__int128_t' declared here
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:73:9: error: unknown type name '__uint32_t'; did you mean '__uint128_t'?
    typedef __uint32_t      __darwin_sigset_t;      /* [???] signal set */
            ^
    note: '__uint128_t' declared here
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:74:9: error: unknown type name '__int32_t'; did you mean '__int128_t'?
    typedef __int32_t       __darwin_suseconds_t;   /* [???] microseconds */
            ^
    note: '__int128_t' declared here
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:75:9: error: unknown type name '__uint32_t'; did you mean '__uint128_t'?
    typedef __uint32_t      __darwin_uid_t;         /* [???] user IDs */
            ^
    note: '__uint128_t' declared here
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:76:9: error: unknown type name '__uint32_t'; did you mean '__uint128_t'?
    typedef __uint32_t      __darwin_useconds_t;    /* [???] microseconds */
            ^
    note: '__uint128_t' declared here
    In file included from pyahocorasick.c:13:
    In file included from ./common.h:15:
    In file included from /Library/Frameworks/Python.framework/Versions/3.10/include/python3.10/Python.h:25:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:64:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:71:
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types.h:43:9: error: unknown type name '__uint32_t'; did you mean '__uint128_t'?
    typedef __uint32_t      __darwin_wctype_t;
            ^
    note: '__uint128_t' declared here
    In file included from pyahocorasick.c:13:
    In file included from ./common.h:15:
    In file included from /Library/Frameworks/Python.framework/Versions/3.10/include/python3.10/Python.h:25:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:64:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:75:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_va_list.h:31:
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/types.h:37:2: error: architecture not supported
    #error architecture not supported
     ^
    fatal error: too many errors emitted, stopping now [-ferror-limit=]
    20 errors generated.
    error: command '/usr/bin/clang' failed with exit code 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: /Users/Matt/dev/eyecite-310/venv/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/33/59jwc39s5jd8b38zvnx9rnqw0000gp/T/pip-install-pemcgnuw/pyahocorasick_6d219a6bed624a4eaa77eb5c296d98af/setup.py'"'"'; __file__='"'"'/private/var/folders/33/59jwc39s5jd8b38zvnx9rnqw0000gp/T/pip-install-pemcgnuw/pyahocorasick_6d219a6bed624a4eaa77eb5c296d98af/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/33/59jwc39s5jd8b38zvnx9rnqw0000gp/T/pip-record-0dcry_qs/install-record.txt --single-version-externally-managed --compile --install-headers /Users/Matt/dev/eyecite-310/venv/include/site/python3.10/pyahocorasick Check the logs for full command output.
pombredanne commented 2 years ago

@mscarey we now build wheels for macOS and they will be published in the upcoming 1.4.3 release. See https://github.com/WojciechMula/pyahocorasick/actions/runs/1871803220#artifacts for now.

Closing this now. Thank you again for the report! I would appreciate if you do not mind to test the wheels in https://github.com/WojciechMula/pyahocorasick/actions/runs/1871803220#artifacts and PyPI a bit later today. Please file a new issue if this is a problem.

mscarey commented 2 years ago

Thank you! It installed without errors.

pombredanne commented 2 years ago

@mscarey Thank you for the feedback ... I am glad it did and I would have been really puzzled if it had not!