TA-Lib / ta-lib-python

Python wrapper for TA-Lib (http://ta-lib.org/).
http://ta-lib.github.io/ta-lib-python
Other
9.49k stars 1.74k forks source link

Failed to install ta-lib in AWS Arm Instance #514

Closed 2shou closed 2 years ago

2shou commented 2 years ago

Linux Dependencies has been installed. However, After I ran the command pip install TA-Lib, GCC Compile Errors happened.

(base) ➜  ta-lib pip install TA-Lib
Collecting TA-Lib
  Using cached TA-Lib-0.4.24.tar.gz (269 kB)
Requirement already satisfied: numpy in /home/ec2-user/anaconda3/lib/python3.9/site-packages (from TA-Lib) (1.20.3)
Building wheels for collected packages: TA-Lib
  Building wheel for TA-Lib (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /home/ec2-user/anaconda3/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-yubw63il/ta-lib_50b89ce5bffc4b918ebafdc561bef6c8/setup.py'"'"'; __file__='"'"'/tmp/pip-install-yubw63il/ta-lib_50b89ce5bffc4b918ebafdc561bef6c8/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'"'"'))' bdist_wheel -d /tmp/pip-wheel-9voq58u3
       cwd: /tmp/pip-install-yubw63il/ta-lib_50b89ce5bffc4b918ebafdc561bef6c8/
  Complete output (27 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-aarch64-cpython-39
  creating build/lib.linux-aarch64-cpython-39/talib
  copying talib/__init__.py -> build/lib.linux-aarch64-cpython-39/talib
  copying talib/abstract.py -> build/lib.linux-aarch64-cpython-39/talib
  copying talib/deprecated.py -> build/lib.linux-aarch64-cpython-39/talib
  copying talib/stream.py -> build/lib.linux-aarch64-cpython-39/talib
  copying talib/test_abstract.py -> build/lib.linux-aarch64-cpython-39/talib
  copying talib/test_data.py -> build/lib.linux-aarch64-cpython-39/talib
  copying talib/test_func.py -> build/lib.linux-aarch64-cpython-39/talib
  copying talib/test_pandas.py -> build/lib.linux-aarch64-cpython-39/talib
  copying talib/test_polars.py -> build/lib.linux-aarch64-cpython-39/talib
  copying talib/test_stream.py -> build/lib.linux-aarch64-cpython-39/talib
  running build_ext
  skipping 'talib/_ta_lib.c' Cython extension (up-to-date)
  building 'talib._ta_lib' extension
  creating build/temp.linux-aarch64-cpython-39
  creating build/temp.linux-aarch64-cpython-39/talib
  gcc -pthread -B /home/ec2-user/anaconda3/compiler_compat -Wno-unused-result -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -n1 .2-a+fp16+rcpc+dotprod+crypto -isystem /home/ec2-user/anaconda3/include -I/home/ec2-user/anaconda3/include -fPIC -O2 -n1 .2-a+fp16+rcpc+dotprod+crypto -isystem /home/ec2-user/anaconda3/include -fPIC -I/usr/include -I/usr/local/include -I/opt/include -I/opt/local/include -I/opt/homebrew/include -I/opt/homebrew/opt/ta-lib/include -I/home/ec2-user/anaconda3/lib/python3.9/site-packages/numpy/core/include -I/home/ec2-user/anaconda3/include/python3.9 -c talib/_ta_lib.c -o build/temp.linux-aarch64-cpython-39/talib/_ta_lib.o
  gcc: Error: .2-a+fp16+rcpc+dotprod+crypto:No such file or directory
  gcc: Error: .2-a+fp16+rcpc+dotprod+crypto:No such file or directory
  gcc: Error: unrecognized command line option ‘-n1’; did you mean ‘-n’?
  gcc: Error: unrecognized command line option ‘-n1’; did you mean ‘-n’?
  error: command '/usr/bin/gcc' failed with exit code 1
  ----------------------------------------
  ERROR: Failed building wheel for TA-Lib
mrjbq7 commented 2 years ago

I haven't seen that gcc error before -- perhaps check and make sure you have the latest setuptools?

mrjbq7 commented 2 years ago

It's also possible that it's related to PEP 517?

https://peps.python.org/pep-0517/

2shou commented 2 years ago

I haven't seen that gcc error before -- perhaps check and make sure you have the latest setuptools?

Yes. I have updated setuptools to 62.1.0 but all the same.

2shou commented 2 years ago

Switch my Linux system to Debian but all the same.

trufanov-nok commented 2 years ago

There was a similar issue: https://github.com/mrjbq7/ta-lib/issues/505 I'm suspecting that CFLAGS variable gets some wierd input and malformed, but can't debug to verify.

2shou commented 2 years ago

There was a similar issue: #505 I'm suspecting that CFLAGS variable gets some wierd input and malformed, but can't debug to verify.

So how to fix the CFLAGS variable?

trufanov-nok commented 2 years ago

Could you execute in python:

import distutils.sysconfig
distutils.sysconfig.get_config_vars()

and show the output? Upload it to pastebin if too long.

2shou commented 2 years ago

Could you execute in python:

import distutils.sysconfig
distutils.sysconfig.get_config_vars()

and show the output? Upload it to pastebin if too long.

{'prefix': '/home/ec2-user/anaconda3', 'exec_prefix': '/home/ec2-user/anaconda3', 'py_version': '3.9.7', 'py_version_short': '3.9', 'py_version_nodot': '39', 'installed_base': '/home/ec2-user/anaconda3', 'base': '/home/ec2-user/anaconda3', 'installed_platbase': '/home/ec2-user/anaconda3', 'platbase': '/home/ec2-user/anaconda3', 'projectbase': '/home/ec2-user/anaconda3/bin', 'platlibdir': 'lib', 'abiflags': '', 'ABIFLAGS': '', 'AC_APPLE_UNIVERSAL_BUILD': 0, 'AIX_BUILDDATE': 0, 'AIX_GENUINE_CPLUSPLUS': 0, 'ALT_SOABI': 0, 'ANDROID_API_LEVEL': 0, 'AR': 'ar', 'ARFLAGS': 'rcs', 'BASECFLAGS': '-Wno-unused-result -Wsign-compare', 'BASECPPFLAGS': '-IObjects -IInclude -IPython', 'BASEMODLIBS': '', 'BINDIR': '/home/ec2-user/anaconda3/bin', 'BINLIBDEST': '/home/ec2-user/anaconda3/lib/python3.9', 'BLDLIBRARY': 'libpython3.9.a', 'BLDSHARED': 'gcc -pthread -B /home/ec2-user/anaconda3/compiler_compat -shared -Wl,-rpath,/home/ec2-user/anaconda3/lib -Wl,-rpath-link,/home/ec2-user/anaconda3/lib -L/home/ec2-user/anaconda3/lib -L/home/ec2-user/anaconda3/lib -Wl,-rpath,/home/ec2-user/anaconda3/lib -Wl,-rpath-link,/home/ec2-user/anaconda3/lib -L/home/ec2-user/anaconda3/lib', 'BUILDEXE': '', 'BUILDPYTHON': 'python', 'BUILD_GNU_TYPE': 'aarch64-conda_cos7-linux-gnu', 'BYTESTR_DEPS': '\', 'CC': 'gcc -pthread -B /home/ec2-user/anaconda3/compiler_compat', 'CCSHARED': '-fPIC', 'CFLAGS': '-Wno-unused-result -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -n1 .2-a+fp16+rcpc+dotprod+crypto -isystem /home/ec2-user/anaconda3/include -I/home/ec2-user/anaconda3/include -fPIC -O2 -n1 .2-a+fp16+rcpc+dotprod+crypto -isystem /home/ec2-user/anaconda3/include ', 'CFLAGSFORSHARED': '', 'CFLAGS_ALIASING': '', 'CONFIGFILES': 'configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in', 'CONFIGURE_CFLAGS': ' -fPIC -O2 -n1 .2-a+fp16+rcpc+dotprod+crypto -isystem /home/ec2-user/anaconda3/include -I/home/ec2-user/anaconda3/include', 'CONFIGURE_CFLAGS_NODIST': ' -g -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fvisibility=hidden', 'CONFIGURE_CPPFLAGS': '-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/ec2-user/anaconda3/include -I/home/ec2-user/anaconda3/include -I/home/ec2-user/anaconda3/include', 'CONFIGURE_LDFLAGS': '-Wl,-rpath,/home/ec2-user/anaconda3/lib -Wl,-rpath-link,/home/ec2-user/anaconda3/lib -L/home/ec2-user/anaconda3/lib -L/home/ec2-user/anaconda3/lib', 'CONFIGURE_LDFLAGS_NODIST': ' -g', 'CONFIG_ARGS': "'--prefix=/home/ec2-user/anaconda3' '--build=aarch64-conda_cos7-linux-gnu' '--host=aarch64-conda_cos7-linux-gnu''--enable-ipv6' '--with-ensurepip=no' '--with-tzpath=/home/ec2-user/anaconda3/share/zoneinfo:/home/ec2-user/anaconda3/share/tzinfo' '--with-computed-gotos''--with-system-ffi' '--enable-loadable-sqlite-extensions' '--with-tcltk-includes=-I/home/ec2-user/anaconda3/include' '--with-tcltk-libs=-L/home/ec2-user/anaconda3/lib -ltcl8.6 -ltk8.6''--with-platlibdir=lib' '--with-openssl=/home/ec2-user/anaconda3' 'PKG_CONFIG_LIBDIR=/home/ec2-user/anaconda3/lib' 'PKG_CONFIG_PATH=/home/ec2-user/anaconda3/lib' 'CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/ec2-user/anaconda3/include -I/home/ec2-user/anaconda3/include -I/home/ec2-user/anaconda3/include' 'CXXFLAGS=-fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -fPIC -O2 -n1 .2-a+fp16+rcpc+dotprod+crypto -isystem /home/ec2-user/anaconda3/include -I/home/ec2-user/anaconda3/include' 'CFLAGS= -fPIC -O2 -n1 .2-a+fp16+rcpc+dotprod+crypto -isystem /home/ec2-user/anaconda3/include -I/home/ec2-user/anaconda3/include' 'LDFLAGS= -Wl,-rpath,/home/ec2-user/anaconda3/lib -Wl,-rpath-link,/home/ec2-user/anaconda3/lib -L/home/ec2-user/anaconda3/lib -L/home/ec2-user/anaconda3/lib' 'CC= gcc' 'CXX=g++''--with-lto' '--enable-optimizations' '-oldincludedir=/usr/include' '--disable-shared''PROFILE_TASK=-m test --pgo' 'build_alias=aarch64-conda_cos7-linux-gnu' 'host_alias=aarch64-conda_cos7-linux-gnu''MACHDEP=linux' 'CPP=/home/ec2-user/miniconda3/envs/prefect/conda-bld/python-split_1631809412910/_build_env/bin/cpp'", 'CONFINCLUDEDIR': '/home/ec2-user/anaconda3/include', 'CONFINCLUDEPY': '/home/ec2-user/anaconda3/include/python3.9', 'COREPYTHONPATH': '', 'COVERAGE_INFO': '/home/ec2-user/miniconda3/envs/prefect/conda-bld/python-split_1631809412910/work/build-static/coverage.info', 'COVERAGE_REPORT': '/home/ec2-user/miniconda3/envs/prefect/conda-bld/python-split_1631809412910/work/build-static/lcov-report', 'COVERAGE_REPORT_OPTIONS': '--no-branch-coverage --title "CPython lcov report"', 'CPPFLAGS': '-IObjects -IInclude -IPython -I. -I/home/ec2-user/miniconda3/envs/prefect/conda-bld/python-split_1631809412910/work/Include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/ec2-user/anaconda3/include -I/home/ec2-user/anaconda3/include -I/home/ec2-user/anaconda3/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/ec2-user/anaconda3/include -I/home/ec2-user/anaconda3/include', 'CXX': 'g++ -pthread -B /home/ec2-user/anaconda3/compiler_compat', 'DESTDIRS': '/home/ec2-user/anaconda3 /home/ec2-user/anaconda3/lib /home/ec2-user/anaconda3/lib/python3.9 /home/ec2-user/anaconda3/lib/python3.9/lib-dynload', 'DESTLIB': '/home/ec2-user/anaconda3/lib/python3.9', 'DESTPATH': '', 'DESTSHARED': '/home/ec2-user/anaconda3/lib/python3.9/lib-dynload', 'DFLAGS': '', 'DIRMODE': 755, 'DIST': 'README.rst ChangeLog configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in Include Lib Misc Ext-dummy', 'DISTDIRS': 'Include Lib Misc Ext-dummy', 'DISTFILES': 'README.rst ChangeLog configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in', 'DLINCLDIR': '.', 'DLLLIBRARY': '', 'DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754': 0, 'DOUBLE_IS_BIG_ENDIAN_IEEE754': 0, 'DOUBLE_IS_LITTLE_ENDIAN_IEEE754': 1, 'DTRACE': '', 'DTRACE_DEPS': '\', 'DTRACE_HEADERS': '', 'DTRACE_OBJS': '', 'DYNLOADFILE': 'dynload_shlib.o', 'ENABLE_IPV6': 1, 'ENSUREPIP': 'no', 'EXE': '', 'EXEMODE': 755, 'EXPORTSFROM': '', 'EXPORTSYMS': '', 'EXTRATESTOPTS': '', 'EXT_SUFFIX': '.cpython-39-aarch64-linux-gnu.so', 'FILEMODE': 644, 'FLOAT_WORDS_BIGENDIAN': 0, 'FLOCK_NEEDS_LIBBSD': 0, 'GETPGRP_HAVE_ARG': 0, 'GITBRANCH': '', 'GITTAG': '', 'GITVERSION': '', 'GNULD': 'yes', 'HAVE_ACCEPT4': 1, 'HAVE_ACOSH': 1, 'HAVE_ADDRINFO': 1, 'HAVE_ALARM': 1, 'HAVE_ALIGNED_REQUIRED': 0, 'HAVE_ALLOCA_H': 1, 'HAVE_ALTZONE': 0, 'HAVE_ASINH': 1, 'HAVE_ASM_TYPES_H': 1, 'HAVE_ATANH': 1, 'HAVE_BIND_TEXTDOMAIN_CODESET': 1, 'HAVE_BLUETOOTH_BLUETOOTH_H': 0, 'HAVE_BLUETOOTH_H': 0, 'HAVE_BROKEN_MBSTOWCS': 0, 'HAVE_BROKEN_NICE': 0, 'HAVE_BROKEN_PIPE_BUF': 0, 'HAVE_BROKEN_POLL': 0, 'HAVE_BROKEN_POSIX_SEMAPHORES': 0, 'HAVE_BROKEN_PTHREAD_SIGMASK': 0, 'HAVE_BROKEN_SEM_GETVALUE': 0, 'HAVE_BROKEN_UNSETENV': 0, 'HAVE_BUILTIN_ATOMIC': 1, 'HAVE_CHFLAGS': 0, 'HAVE_CHOWN': 1, 'HAVE_CHROOT': 1, 'HAVE_CLOCK': 1, 'HAVE_CLOCK_GETRES': 1, 'HAVE_CLOCK_GETTIME': 1, 'HAVE_CLOCK_SETTIME': 1, 'HAVE_COMPUTED_GOTOS': 1, 'HAVE_CONFSTR': 1, 'HAVE_CONIO_H': 0, 'HAVE_COPYSIGN': 1, 'HAVE_COPY_FILE_RANGE': 0, 'HAVE_CRYPT_H': 1, 'HAVE_CRYPT_R': 1, 'HAVE_CTERMID': 1, 'HAVE_CTERMID_R': 0, 'HAVE_CURSES_FILTER': 1, 'HAVE_CURSES_H': 1, 'HAVE_CURSES_HAS_KEY': 1, 'HAVE_CURSES_IMMEDOK': 1, 'HAVE_CURSES_IS_PAD': 1, 'HAVE_CURSES_IS_TERM_RESIZED': 1, 'HAVE_CURSES_RESIZETERM': 1, 'HAVE_CURSES_RESIZE_TERM': 1, 'HAVE_CURSES_SYNCOK': 1, 'HAVE_CURSES_TYPEAHEAD': 1, 'HAVE_CURSES_USE_ENV': 1, 'HAVE_CURSES_WCHGAT': 1, 'HAVE_DECL_ISFINITE': 1, 'HAVE_DECL_ISINF': 1, 'HAVE_DECL_ISNAN': 1, 'HAVE_DECL_RTLD_DEEPBIND': 1, 'HAVE_DECL_RTLD_GLOBAL': 1, 'HAVE_DECL_RTLD_LAZY': 1, 'HAVE_DECL_RTLD_LOCAL': 1, 'HAVE_DECL_RTLD_MEMBER': 0, 'HAVE_DECL_RTLD_NODELETE': 1, 'HAVE_DECL_RTLD_NOLOAD': 1, 'HAVE_DECL_RTLD_NOW': 1, 'HAVE_DECL_TZNAME': 0, 'HAVE_DEVICE_MACROS': 1, 'HAVE_DEV_PTC': 0, 'HAVE_DEV_PTMX': 1, 'HAVE_DIRECT_H': 0, 'HAVE_DIRENT_D_TYPE': 1, 'HAVE_DIRENT_H': 1, 'HAVE_DIRFD': 1, 'HAVE_DLFCN_H': 1, 'HAVE_DLOPEN': 1, 'HAVE_DUP2': 1, 'HAVE_DUP3': 1, 'HAVE_DYLD_SHARED_CACHE_CONTAINS_PATH': 0, 'HAVE_DYNAMIC_LOADING': 1, 'HAVE_ENDIAN_H': 1, 'HAVE_EPOLL': 1, 'HAVE_EPOLL_CREATE1': 1, 'HAVE_ERF': 1, 'HAVE_ERFC': 1, 'HAVE_ERRNO_H': 1, 'HAVE_EXECV': 1, 'HAVE_EXPLICIT_BZERO': 1, 'HAVE_EXPLICIT_MEMSET': 0, 'HAVE_EXPM1': 1, 'HAVE_FACCESSAT': 1, 'HAVE_FCHDIR': 1, 'HAVE_FCHMOD': 1, 'HAVE_FCHMODAT': 1, 'HAVE_FCHOWN': 1, 'HAVE_FCHOWNAT': 1, 'HAVE_FCNTL_H': 1, 'HAVE_FDATASYNC': 1, 'HAVE_FDOPENDIR': 1, 'HAVE_FDWALK': 0, 'HAVE_FEXECVE': 1, 'HAVE_FINITE': 1, 'HAVE_FLOCK': 1, 'HAVE_FORK': 1, 'HAVE_FORKPTY': 1, 'HAVE_FPATHCONF': 1, 'HAVE_FSEEK64': 0, 'HAVE_FSEEKO': 1, 'HAVE_FSTATAT': 1, 'HAVE_FSTATVFS': 1, 'HAVE_FSYNC': 1, 'HAVE_FTELL64': 0, 'HAVE_FTELLO': 1, 'HAVE_FTIME': 1, 'HAVE_FTRUNCATE': 1, 'HAVE_FUTIMENS': 1, 'HAVE_FUTIMES': 1, 'HAVE_FUTIMESAT': 1, 'HAVE_GAI_STRERROR': 1, 'HAVE_GAMMA': 1, 'HAVE_GCC_ASM_FOR_MC68881': 0, 'HAVE_GCC_ASM_FOR_X64': 0, 'HAVE_GCC_ASM_FOR_X87': 0, 'HAVE_GCC_UINT128_T': 1, 'HAVE_GETADDRINFO': 1, 'HAVE_GETC_UNLOCKED': 1, 'HAVE_GETENTROPY': 1, 'HAVE_GETGRGID_R': 1, 'HAVE_GETGRNAM_R': 1, 'HAVE_GETGROUPLIST': 1, 'HAVE_GETGROUPS': 1, 'HAVE_GETHOSTBYNAME': 0, 'HAVE_GETHOSTBYNAME_R': 1, 'HAVE_GETHOSTBYNAME_R_3_ARG': 0, 'HAVE_GETHOSTBYNAME_R_5_ARG': 0, 'HAVE_GETHOSTBYNAME_R_6_ARG': 1, 'HAVE_GETITIMER': 1, 'HAVE_GETLOADAVG': 1, 'HAVE_GETLOGIN': 1, 'HAVE_GETNAMEINFO': 1, 'HAVE_GETPAGESIZE': 1, 'HAVE_GETPEERNAME': 1, 'HAVE_GETPGID': 1, 'HAVE_GETPGRP': 1, 'HAVE_GETPID': 1, 'HAVE_GETPRIORITY': 1, 'HAVE_GETPWENT': 1, 'HAVE_GETPWNAM_R': 1, 'HAVE_GETPWUID_R': 1, 'HAVE_GETRANDOM': 1, 'HAVE_GETRANDOM_SYSCALL': 1, 'HAVE_GETRESGID': 1, 'HAVE_GETRESUID': 1, 'HAVE_GETSID': 1, 'HAVE_GETSPENT': 1, 'HAVE_GETSPNAM': 1, 'HAVE_GETWD': 1, 'HAVE_GLIBC_MEMMOVE_BUG': 0, 'HAVE_GRP_H': 1, 'HAVE_HSTRERROR': 1, 'HAVE_HTOLE64': 1, 'HAVE_HYPOT': 1, 'HAVE_IEEEFP_H': 0, 'HAVE_IF_NAMEINDEX': 1, 'HAVE_INET_ATON': 1, 'HAVE_INET_PTON': 1, 'HAVE_INITGROUPS': 1, 'HAVE_INTTYPES_H': 1, 'HAVE_IO_H': 0, 'HAVE_IPA_PURE_CONST_BUG': 0, 'HAVE_KILL': 1, 'HAVE_KILLPG': 1, 'HAVE_KQUEUE': 0, 'HAVE_LANGINFO_H': 1, 'HAVE_LARGEFILE_SUPPORT': 0, 'HAVE_LCHFLAGS': 0, 'HAVE_LCHMOD': 0, 'HAVE_LCHOWN': 1, 'HAVE_LGAMMA': 1, 'HAVE_LIBDL': 1, 'HAVE_LIBDLD': 0, 'HAVE_LIBIEEE': 0, 'HAVE_LIBINTL_H': 1, 'HAVE_LIBREADLINE': 1, 'HAVE_LIBRESOLV': 0, 'HAVE_LIBSENDFILE': 0, 'HAVE_LIBUTIL_H': 0, 'HAVE_LINK': 1, 'HAVE_LINKAT': 1, 'HAVE_LINUX_CAN_BCM_H': 1, 'HAVE_LINUX_CAN_H': 1, 'HAVE_LINUX_CAN_J1939_H': 0, 'HAVE_LINUX_CAN_RAW_FD_FRAMES': 1, 'HAVE_LINUX_CAN_RAW_H': 1, 'HAVE_LINUX_CAN_RAW_JOIN_FILTERS': 1, 'HAVE_LINUX_MEMFD_H': 1, 'HAVE_LINUX_NETLINK_H': 1, 'HAVE_LINUX_QRTR_H': 1, 'HAVE_LINUX_RANDOM_H': 1, 'HAVE_LINUX_TIPC_H': 1, 'HAVE_LINUX_VM_SOCKETS_H': 1, 'HAVE_LINUX_WAIT_H': 1, 'HAVE_LOCKF': 1, 'HAVE_LOG1P': 1, 'HAVE_LOG2': 1, 'HAVE_LONG_DOUBLE': 1, 'HAVE_LSTAT': 1, 'HAVE_LUTIMES': 1, 'HAVE_MADVISE': 1, 'HAVE_MAKEDEV': 1, 'HAVE_MBRTOWC': 1, 'HAVE_MEMFD_CREATE': 0, 'HAVE_MEMORY_H': 1, 'HAVE_MEMRCHR': 1, 'HAVE_MKDIRAT': 1, 'HAVE_MKFIFO': 1, 'HAVE_MKFIFOAT': 1, 'HAVE_MKNOD': 1, 'HAVE_MKNODAT': 1, 'HAVE_MKTIME': 1, 'HAVE_MMAP': 1, 'HAVE_MREMAP': 1, 'HAVE_NCURSES_H': 1, 'HAVE_NDIR_H': 0, 'HAVE_NETPACKET_PACKET_H': 1, 'HAVE_NET_IF_H': 1, 'HAVE_NICE': 1, 'HAVE_NON_UNICODE_WCHAR_T_REPRESENTATION': 0, 'HAVE_OPENAT': 1, 'HAVE_OPENPTY': 1, 'HAVE_PATHCONF': 1, 'HAVE_PAUSE': 1, 'HAVE_PIPE2': 1, 'HAVE_PLOCK': 0, 'HAVE_POLL': 1, 'HAVE_POLL_H': 1, 'HAVE_POSIX_FADVISE': 1, 'HAVE_POSIX_FALLOCATE': 1, 'HAVE_POSIX_SPAWN': 1, 'HAVE_POSIX_SPAWNP': 1, 'HAVE_PREAD': 1, 'HAVE_PREADV': 1, 'HAVE_PREADV2': 1, 'HAVE_PRLIMIT': 1, 'HAVE_PROCESS_H': 0, 'HAVE_PROTOTYPES': 1, 'HAVE_PTHREAD_CONDATTR_SETCLOCK': 1, 'HAVE_PTHREAD_DESTRUCTOR': 0, 'HAVE_PTHREAD_GETCPUCLOCKID': 1, 'HAVE_PTHREAD_H': 1, 'HAVE_PTHREAD_INIT': 0, 'HAVE_PTHREAD_KILL': 1, 'HAVE_PTHREAD_SIGMASK': 1, 'HAVE_PTY_H': 1, 'HAVE_PWRITE': 1, 'HAVE_PWRITEV': 1, 'HAVE_PWRITEV2': 1, 'HAVE_READLINK': 1, 'HAVE_READLINKAT': 1, 'HAVE_READV': 1, 'HAVE_REALPATH': 1, 'HAVE_RENAMEAT': 1, 'HAVE_RL_APPEND_HISTORY': 1, 'HAVE_RL_CATCH_SIGNAL': 1, 'HAVE_RL_COMPLETION_APPEND_CHARACTER': 1, 'HAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK': 1, 'HAVE_RL_COMPLETION_MATCHES': 1, 'HAVE_RL_COMPLETION_SUPPRESS_APPEND': 1, 'HAVE_RL_PRE_INPUT_HOOK': 1, 'HAVE_RL_RESIZE_TERMINAL': 1, 'HAVE_ROUND': 1, 'HAVE_RTPSPAWN': 0, 'HAVE_SCHED_GET_PRIORITY_MAX': 1, 'HAVE_SCHED_H': 1, 'HAVE_SCHED_RR_GET_INTERVAL': 1, 'HAVE_SCHED_SETAFFINITY': 1, 'HAVE_SCHED_SETPARAM': 1, 'HAVE_SCHED_SETSCHEDULER': 1, 'HAVE_SEM_GETVALUE': 1, 'HAVE_SEM_OPEN': 1, 'HAVE_SEM_TIMEDWAIT': 1, 'HAVE_SEM_UNLINK': 1, 'HAVE_SENDFILE': 1, 'HAVE_SETEGID': 1, 'HAVE_SETEUID': 1, 'HAVE_SETGID': 1, 'HAVE_SETGROUPS': 1, 'HAVE_SETHOSTNAME': 1, 'HAVE_SETITIMER': 1, 'HAVE_SETLOCALE': 1, 'HAVE_SETPGID': 1, 'HAVE_SETPGRP': 1, 'HAVE_SETPRIORITY': 1, 'HAVE_SETREGID': 1, 'HAVE_SETRESGID': 1, 'HAVE_SETRESUID': 1, 'HAVE_SETREUID': 1, 'HAVE_SETSID': 1, 'HAVE_SETUID': 1, 'HAVE_SETVBUF': 1, 'HAVE_SHADOW_H': 1, 'HAVE_SHM_OPEN': 1, 'HAVE_SHM_UNLINK': 1, 'HAVE_SIGACTION': 1, 'HAVE_SIGALTSTACK': 1, 'HAVE_SIGFILLSET': 1, 'HAVE_SIGINFO_T_SI_BAND': 1, 'HAVE_SIGINTERRUPT': 1, 'HAVE_SIGNAL_H': 1, 'HAVE_SIGPENDING': 1, 'HAVE_SIGRELSE': 1, 'HAVE_SIGTIMEDWAIT': 1, 'HAVE_SIGWAIT': 1, 'HAVE_SIGWAITINFO': 1, 'HAVE_SNPRINTF': 1, 'HAVE_SOCKADDR_ALG': 1, 'HAVE_SOCKADDR_SA_LEN': 0, 'HAVE_SOCKADDR_STORAGE': 1, 'HAVE_SOCKETPAIR': 1, 'HAVE_SPAWN_H': 1, 'HAVE_SSIZE_T': 1, 'HAVE_STATVFS': 1, 'HAVE_STAT_TV_NSEC': 1, 'HAVE_STAT_TV_NSEC2': 0, 'HAVE_STDARG_PROTOTYPES': 1, 'HAVE_STDINT_H': 1, 'HAVE_STDLIB_H': 1, 'HAVE_STD_ATOMIC': 1, 'HAVE_STRDUP': 1, 'HAVE_STRFTIME': 1, 'HAVE_STRINGS_H': 1, 'HAVE_STRING_H': 1, 'HAVE_STRLCPY': 0, 'HAVE_STROPTS_H': 0, 'HAVE_STRSIGNAL': 1, 'HAVE_STRUCT_PASSWD_PW_GECOS': 1, 'HAVE_STRUCT_PASSWD_PW_PASSWD': 1, 'HAVE_STRUCT_STAT_ST_BIRTHTIME': 0, 'HAVE_STRUCT_STAT_ST_BLKSIZE': 1, 'HAVE_STRUCT_STAT_ST_BLOCKS': 1, 'HAVE_STRUCT_STAT_ST_FLAGS': 0, 'HAVE_STRUCT_STAT_ST_GEN': 0, 'HAVE_STRUCT_STAT_ST_RDEV': 1, 'HAVE_STRUCT_TM_TM_ZONE': 1, 'HAVE_SYMLINK': 1, 'HAVE_SYMLINKAT': 1, 'HAVE_SYNC': 1, 'HAVE_SYSCONF': 1, 'HAVE_SYSEXITS_H': 1, 'HAVE_SYS_AUDIOIO_H': 0, 'HAVE_SYS_BSDTTY_H': 0, 'HAVE_SYS_DEVPOLL_H': 0, 'HAVE_SYS_DIR_H': 0, 'HAVE_SYS_ENDIAN_H': 0, 'HAVE_SYS_EPOLL_H': 1, 'HAVE_SYS_EVENT_H': 0, 'HAVE_SYS_FILE_H': 1, 'HAVE_SYS_IOCTL_H': 1, 'HAVE_SYS_KERN_CONTROL_H': 0, 'HAVE_SYS_LOADAVG_H': 0, 'HAVE_SYS_LOCK_H': 0, 'HAVE_SYS_MEMFD_H': 0, 'HAVE_SYS_MKDEV_H': 0, 'HAVE_SYS_MMAN_H': 1, 'HAVE_SYS_MODEM_H': 0, 'HAVE_SYS_NDIR_H': 0, 'HAVE_SYS_PARAM_H': 1, 'HAVE_SYS_POLL_H': 1, 'HAVE_SYS_RANDOM_H': 1, 'HAVE_SYS_RESOURCE_H': 1, 'HAVE_SYS_SELECT_H': 1, 'HAVE_SYS_SENDFILE_H': 1, 'HAVE_SYS_SOCKET_H': 1, 'HAVE_SYS_STATVFS_H': 1, 'HAVE_SYS_STAT_H': 1, 'HAVE_SYS_SYSCALL_H': 1, 'HAVE_SYS_SYSMACROS_H': 1, 'HAVE_SYS_SYS_DOMAIN_H': 0, 'HAVE_SYS_TERMIO_H': 0, 'HAVE_SYS_TIMES_H': 1, 'HAVE_SYS_TIME_H': 1, 'HAVE_SYS_TYPES_H': 1, 'HAVE_SYS_UIO_H': 1, 'HAVE_SYS_UN_H': 1, 'HAVE_SYS_UTSNAME_H': 1, 'HAVE_SYS_WAIT_H': 1, 'HAVE_SYS_XATTR_H': 1, 'HAVE_TCGETPGRP': 1, 'HAVE_TCSETPGRP': 1, 'HAVE_TEMPNAM': 1, 'HAVE_TERMIOS_H': 1, 'HAVE_TERM_H': 1, 'HAVE_TGAMMA': 1, 'HAVE_TIMEGM': 1, 'HAVE_TIMES': 1, 'HAVE_TMPFILE': 1, 'HAVE_TMPNAM': 1, 'HAVE_TMPNAM_R': 1, 'HAVE_TM_ZONE': 1, 'HAVE_TRUNCATE': 1, 'HAVE_TZNAME': 0, 'HAVE_UCS4_TCL': 0, 'HAVE_UNAME': 1, 'HAVE_UNISTD_H': 1, 'HAVE_UNLINKAT': 1, 'HAVE_USABLE_WCHAR_T': 1, 'HAVE_UTIL_H': 0, 'HAVE_UTIMENSAT': 1, 'HAVE_UTIMES': 1, 'HAVE_UTIME_H': 1, 'HAVE_UUID_CREATE': 0, 'HAVE_UUID_ENC_BE': 0, 'HAVE_UUID_GENERATE_TIME_SAFE': 0, 'HAVE_UUID_H': 0, 'HAVE_UUID_UUID_H': 0, 'HAVE_WAIT3': 1, 'HAVE_WAIT4': 1, 'HAVE_WAITID': 1, 'HAVE_WAITPID': 1, 'HAVE_WCHAR_H': 1, 'HAVE_WCSCOLL': 1, 'HAVE_WCSFTIME': 1, 'HAVE_WCSXFRM': 1, 'HAVE_WMEMCMP': 1, 'HAVE_WORKING_TZSET': 1, 'HAVE_WRITEV': 1, 'HAVE_X509_VERIFY_PARAM_SET1_HOST': 1, 'HAVE_ZLIB_COPY': 1, 'HAVE__GETPTY': 0, 'HOST_GNU_TYPE': 'aarch64-conda_cos7-linux-gnu', 'INCLDIRSTOMAKE': '/home/ec2-user/anaconda3/include /home/ec2-user/anaconda3/include /home/ec2-user/anaconda3/include/python3.9 /home/ec2-user/anaconda3/include/python3.9', 'INCLUDEDIR': '/home/ec2-user/anaconda3/include', 'INCLUDEPY': '/home/ec2-user/anaconda3/include/python3.9', 'INSTALL': '/usr/bin/install -c', 'INSTALL_DATA': '/usr/bin/install -c -m 644', 'INSTALL_PROGRAM': '/usr/bin/install -c', 'INSTALL_SCRIPT': '/usr/bin/install -c', 'INSTALL_SHARED': '/usr/bin/install -c -m 755', 'INSTSONAME': 'libpython3.9.a', 'IO_H': 'Modules/_io/_iomodule.h', 'IO_OBJS': '\', 'LDCXXSHARED': 'g++ -pthread -B /home/ec2-user/anaconda3/compiler_compat -shared', 'LDFLAGS': '-Wl,-rpath,/home/ec2-user/anaconda3/lib -Wl,-rpath-link,/home/ec2-user/anaconda3/lib -L/home/ec2-user/anaconda3/lib -L/home/ec2-user/anaconda3/lib -Wl,-rpath,/home/ec2-user/anaconda3/lib -Wl,-rpath-link,/home/ec2-user/anaconda3/lib -L/home/ec2-user/anaconda3/lib', 'LDLIBRARY': 'libpython3.9.a', 'LDLIBRARYDIR': '', 'LDSHARED': 'gcc -pthread -B /home/ec2-user/anaconda3/compiler_compat -shared -Wl,-rpath,/home/ec2-user/anaconda3/lib -Wl,-rpath-link,/home/ec2-user/anaconda3/lib -L/home/ec2-user/anaconda3/lib -L/home/ec2-user/anaconda3/lib -Wl,-rpath,/home/ec2-user/anaconda3/lib -Wl,-rpath-link,/home/ec2-user/anaconda3/lib -L/home/ec2-user/anaconda3/lib', 'LDVERSION': '3.9', 'LIBC': '', 'LIBDEST': '/home/ec2-user/anaconda3/lib/python3.9', 'LIBDIR': '/home/ec2-user/anaconda3/lib', 'LIBFFI_INCLUDEDIR': '/home/ec2-user/anaconda3/include', 'LIBM': '-lm', 'LIBOBJDIR': 'Python/', 'LIBOBJS': '', 'LIBPC': '/home/ec2-user/anaconda3/lib/pkgconfig', 'LIBPL': '/home/ec2-user/anaconda3/lib/python3.9/config-3.9-aarch64-linux-gnu', 'LIBPYTHON': '', 'LIBRARY': 'libpython3.9.a', 'LIBRARY_OBJS': '\', 'LIBRARY_OBJS_OMIT_FROZEN': '\', 'LIBS': '-lcrypt -lpthread -ldl -lutil -lm', 'LIBSUBDIRS': 'tkinter tkinter/test tkinter/test/test_tkinter \', 'LINKCC': 'gcc -pthread -B /home/ec2-user/anaconda3/compiler_compat', 'LINKFORSHARED': '-Xlinker -export-dynamic', 'LIPO_32BIT_FLAGS': '', 'LIPO_INTEL64_FLAGS': '', 'LLVM_PROF_ERR': 'no', 'LLVM_PROF_FILE': '', 'LLVM_PROF_MERGER': 'true', 'LN': 'ln', 'LOCALMODLIBS': '', 'MACHDEP': 'linux', 'MACHDEP_OBJS': '', 'MACHDESTLIB': '/home/ec2-user/anaconda3/lib/python3.9', 'MACOSX_DEPLOYMENT_TARGET': '', 'MAINCC': 'gcc -pthread -B /home/ec2-user/anaconda3/compiler_compat', 'MAJOR_IN_MKDEV': 0, 'MAJOR_IN_SYSMACROS': 0, 'MAKESETUP': '/home/ec2-user/miniconda3/envs/prefect/conda-bld/python-split_1631809412910/work/Modules/makesetup', 'MANDIR': '/home/ec2-user/anaconda3/share/man', 'MKDIR_P': '/usr/bin/mkdir -p', 'MODBUILT_NAMES': 'posix errno pwd _sre _codecs _weakref _functools _operator _collections _abc itertools atexit _signal _stat time _thread _locale _io faulthandler _tracemalloc _peg_parser _symtable xxsubtype', 'MODDISABLED_NAMES': '', 'MODLIBS': '', 'MODOBJS': 'Modules/posixmodule.o Modules/errnomodule.o Modules/pwdmodule.o Modules/_sre.o Modules/_codecsmodule.o Modules/_weakref.o Modules/_functoolsmodule.o Modules/_operator.o Modules/_collectionsmodule.o Modules/_abc.o Modules/itertoolsmodule.o Modules/atexitmodule.o Modules/signalmodule.o Modules/_stat.o Modules/timemodule.o Modules/_threadmodule.o Modules/_localemodule.o Modules/_iomodule.o Modules/iobase.o Modules/fileio.o Modules/bytesio.o Modules/bufferedio.o Modules/textio.o Modules/stringio.o Modules/faulthandler.o Modules/_tracemalloc.o Modules/_peg_parser.o Modules/symtablemodule.o Modules/xxsubtype.o', 'MODULE_OBJS': '\', 'MULTIARCH': 'aarch64-linux-gnu', 'MULTIARCH_CPPFLAGS': '-DMULTIARCH=\"aarch64-linux-gnu\"', 'MVWDELCH_IS_EXPRESSION': 1, 'NO_AS_NEEDED': '-Wl,--no-as-needed', 'OBJECT_OBJS': '\', 'OPENSSL_INCLUDES': '-I/home/ec2-user/anaconda3/include', 'OPENSSL_LDFLAGS': '-L/home/ec2-user/anaconda3/lib', 'OPENSSL_LIBS': '-lssl -lcrypto', 'OPT': '-DNDEBUG -O2 -Wall', 'OTHER_LIBTOOL_OPT': '', 'PACKAGE_BUGREPORT': 0, 'PACKAGE_NAME': 0, 'PACKAGE_STRING': 0, 'PACKAGE_TARNAME': 0, 'PACKAGE_URL': 0, 'PACKAGE_VERSION': 0, 'PARSER_HEADERS': '\', 'PARSER_OBJS': '\ \ Parser/myreadline.o Parser/parsetok.o Parser/tokenizer.o', 'PEGEN_HEADERS': '\', 'PEGEN_OBJS': '\', 'PGO_PROF_GEN_FLAG': '-fprofile-generate', 'PGO_PROF_USE_FLAG': '', 'PLATLIBDIR': 'lib', 'POBJS': '\', 'POSIX_SEMAPHORES_NOT_ENABLED': 0, 'PROFILE_TASK': '-m test --pgo', 'PTHREAD_KEY_T_IS_COMPATIBLE_WITH_INT': 1, 'PTHREAD_SYSTEM_SCHED_SUPPORTED': 1, 'PURIFY': '', 'PY3LIBRARY': '', 'PYLONG_BITS_IN_DIGIT': 0, 'PYTHON': 'python', 'PYTHONFRAMEWORK': '', 'PYTHONFRAMEWORKDIR': 'no-framework', 'PYTHONFRAMEWORKINSTALLDIR': '', 'PYTHONFRAMEWORKPREFIX': '', 'PYTHONPATH': '', 'PYTHON_FOR_BUILD': './python -E', 'PYTHON_HEADERS': '\', 'PYTHON_OBJS': '\', 'PY_BUILD_ENVIRON': '', 'PY_BUILTIN_HASHLIB_HASHES': '"md5,sha1,sha256,sha512,sha3,blake2"', 'PY_BUILTIN_MODULE_CFLAGS': '-Wno-unused-result -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -n1 .2-a+fp16+rcpc+dotprod+crypto -isystem /home/ec2-user/anaconda3/include -I/home/ec2-user/anaconda3/include -fPIC -O2 -n1 .2-a+fp16+rcpc+dotprod+crypto -isystem /home/ec2-user/anaconda3/include -g -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fvisibility=hidden -I/home/ec2-user/miniconda3/envs/prefect/conda-bld/python-split_1631809412910/work/Include/internal -IObjects -IInclude -IPython -I. -I/home/ec2-user/miniconda3/envs/prefect/conda-bld/python-split_1631809412910/work/Include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/ec2-user/anaconda3/include -I/home/ec2-user/anaconda3/include -I/home/ec2-user/anaconda3/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/ec2-user/anaconda3/include -I/home/ec2-user/anaconda3/include -DPy_BUILD_CORE_BUILTIN', 'PY_CFLAGS': '-Wno-unused-result -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -n1 .2-a+fp16+rcpc+dotprod+crypto -isystem /home/ec2-user/anaconda3/include -I/home/ec2-user/anaconda3/include -fPIC -O2 -n1 .2-a+fp16+rcpc+dotprod+crypto -isystem /home/ec2-user/anaconda3/include ', 'PY_CFLAGS_NODIST': ' -g -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fvisibility=hidden -I/home/ec2-user/miniconda3/envs/prefect/conda-bld/python-split_1631809412910/work/Include/internal', 'PY_COERCE_C_LOCALE': 1, 'PY_CORE_CFLAGS': '-Wno-unused-result -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -n1 .2-a+fp16+rcpc+dotprod+crypto -isystem /home/ec2-user/anaconda3/include -I/home/ec2-user/anaconda3/include -fPIC -O2 -n1 .2-a+fp16+rcpc+dotprod+crypto -isystem /home/ec2-user/anaconda3/include -g -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fvisibility=hidden -I/home/ec2-user/miniconda3/envs/prefect/conda-bld/python-split_1631809412910/work/Include/internal -IObjects -IInclude -IPython -I. -I/home/ec2-user/miniconda3/envs/prefect/conda-bld/python-split_1631809412910/work/Include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/ec2-user/anaconda3/include -I/home/ec2-user/anaconda3/include -I/home/ec2-user/anaconda3/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/ec2-user/anaconda3/include -I/home/ec2-user/anaconda3/include -DPy_BUILD_CORE', 'PY_CORE_LDFLAGS': '-Wl,-rpath,/home/ec2-user/anaconda3/lib -Wl,-rpath-link,/home/ec2-user/anaconda3/lib -L/home/ec2-user/anaconda3/lib -L/home/ec2-user/anaconda3/lib -Wl,-rpath,/home/ec2-user/anaconda3/lib -Wl,-rpath-link,/home/ec2-user/anaconda3/lib -L/home/ec2-user/anaconda3/lib -g', 'PY_CPPFLAGS': '-IObjects -IInclude -IPython -I. -I/home/ec2-user/miniconda3/envs/prefect/conda-bld/python-split_1631809412910/work/Include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/ec2-user/anaconda3/include -I/home/ec2-user/anaconda3/include -I/home/ec2-user/anaconda3/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/ec2-user/anaconda3/include -I/home/ec2-user/anaconda3/include', 'PY_FORMAT_SIZE_T': '"z"', 'PY_LDFLAGS': '-Wl,-rpath,/home/ec2-user/anaconda3/lib -Wl,-rpath-link,/home/ec2-user/anaconda3/lib -L/home/ec2-user/anaconda3/lib -L/home/ec2-user/anaconda3/lib -Wl,-rpath,/home/ec2-user/anaconda3/lib -Wl,-rpath-link,/home/ec2-user/anaconda3/lib -L/home/ec2-user/anaconda3/lib', 'PY_LDFLAGS_NODIST': ' -g', 'PY_SSL_DEFAULT_CIPHERS': 1, 'PY_SSL_DEFAULT_CIPHER_STRING': 0, 'PY_STDMODULE_CFLAGS': '-Wno-unused-result -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -n1 .2-a+fp16+rcpc+dotprod+crypto -isystem /home/ec2-user/anaconda3/include -I/home/ec2-user/anaconda3/include -fPIC -O2 -n1 .2-a+fp16+rcpc+dotprod+crypto -isystem /home/ec2-user/anaconda3/include -g -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fvisibility=hidden -I/home/ec2-user/miniconda3/envs/prefect/conda-bld/python-split_1631809412910/work/Include/internal -IObjects -IInclude -IPython -I. -I/home/ec2-user/miniconda3/envs/prefect/conda-bld/python-split_1631809412910/work/Include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/ec2-user/anaconda3/include -I/home/ec2-user/anaconda3/include -I/home/ec2-user/anaconda3/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/ec2-user/anaconda3/include -I/home/ec2-user/anaconda3/include', 'Py_DEBUG': 0, 'Py_ENABLE_SHARED': 0, 'Py_HASH_ALGORITHM': 0, 'Py_TRACE_REFS': 0, 'QUICKTESTOPTS': '-x test_subprocess test_io test_lib2to3 \', 'READELF': 'readelf', 'RESSRCDIR': 'Mac/Resources/framework', 'RETSIGTYPE': 'void', 'RUNSHARED': '', 'SCRIPTDIR': '/home/ec2-user/anaconda3/lib', 'SETPGRP_HAVE_ARG': 0, 'SGI_ABI': '', 'SHELL': '/bin/sh', 'SHLIBS': '-lcrypt -lpthread -ldl -lutil -lm', 'SHLIB_SUFFIX': '.so', 'SHM_NEEDS_LIBRT': 1, 'SIGNED_RIGHT_SHIFT_ZERO_FILLS': 0, 'SITEPATH': '', 'SIZEOF_DOUBLE': 8, 'SIZEOF_FLOAT': 4, 'SIZEOF_FPOS_T': 16, 'SIZEOF_INT': 4, 'SIZEOF_LONG': 8, 'SIZEOF_LONG_DOUBLE': 16, 'SIZEOF_LONG_LONG': 8, 'SIZEOF_OFF_T': 8, 'SIZEOF_PID_T': 4, 'SIZEOF_PTHREAD_KEY_T': 4, 'SIZEOF_PTHREAD_T': 8, 'SIZEOF_SHORT': 2, 'SIZEOF_SIZE_T': 8, 'SIZEOF_TIME_T': 8, 'SIZEOF_UINTPTR_T': 8, 'SIZEOF_VOID_P': 8, 'SIZEOF_WCHAR_T': 4, 'SIZEOF__BOOL': 1, 'SOABI': 'cpython-39-aarch64-linux-gnu', 'SRCDIRS': 'Parser Parser/pegen Objects Python Modules Modules/_io Programs', 'SRC_GDB_HOOKS': '/home/ec2-user/miniconda3/envs/prefect/conda-bld/python-split_1631809412910/work/Tools/gdb/libpython.py', 'STDC_HEADERS': 1, 'STRICT_SYSV_CURSES': "/ Don't use ncurses extensions /", 'STRIPFLAG': '-s', 'SUBDIRS': '', 'SUBDIRSTOO': 'Include Lib Misc', 'SYSLIBS': '-lm', 'SYS_SELECT_WITH_SYS_TIME': 1, 'TCLTK_INCLUDES': '-I/home/ec2-user/anaconda3/include', 'TCLTK_LIBS': '-L/home/ec2-user/anaconda3/lib -ltcl8.6 -ltk8.6', 'TESTOPTS': '', 'TESTPATH': '', 'TESTPYTHON': './python', 'TESTPYTHONOPTS': '', 'TESTRUNNER': './python /home/ec2-user/miniconda3/envs/prefect/conda-bld/python-split_1631809412910/work/Tools/scripts/run_tests.py', 'TESTTIMEOUT': 1200, 'TIMEMODULE_LIB': 0, 'TIME_WITH_SYS_TIME': 1, 'TM_IN_SYS_TIME': 0, 'TZPATH': '/home/ec2-user/anaconda3/share/zoneinfo:/home/ec2-user/anaconda3/share/tzinfo', 'UNICODE_DEPS': '\', 'UNIVERSALSDK': '', 'UPDATE_FILE': 'python3.9 /home/ec2-user/miniconda3/envs/prefect/conda-bld/python-split_1631809412910/work/Tools/scripts/update_file.py', 'USE_COMPUTED_GOTOS': 1, 'VERSION': '3.9', 'VPATH': '/home/ec2-user/miniconda3/envs/prefect/conda-bld/python-split_1631809412910/work', 'WINDOW_HAS_FLAGS': 1, 'WITH_DECIMAL_CONTEXTVAR': 1, 'WITH_DOC_STRINGS': 1, 'WITH_DTRACE': 0, 'WITH_DYLD': 0, 'WITH_LIBINTL': 0, 'WITH_NEXT_FRAMEWORK': 0, 'WITH_PYMALLOC': 1, 'WITH_VALGRIND': 0, 'X87_DOUBLE_ROUNDING': 0, 'XMLLIBSUBDIRS': 'xml xml/dom xml/etree xml/parsers xml/sax', 'abs_builddir': '/home/ec2-user/miniconda3/envs/prefect/conda-bld/python-split_1631809412910/work/build-static', 'abs_srcdir': '/home/ec2-user/miniconda3/envs/prefect/conda-bld/python-split_1631809412910/work', 'datarootdir': '/home/ec2-user/anaconda3/share', 'srcdir': '/home/ec2-user/anaconda3/lib/python3.9/config-3.9-aarch64-linux-gnu', 'SO': '.cpython-39-aarch64-linux-gnu.so', 'userbase': '/home/ec2-user/.local'}

trufanov-nok commented 2 years ago

What's the output for: python --version and gcc -v ?

2shou commented 2 years ago

What's the output for: python --version and gcc -v ?

(base) ➜  ~ python --version
Python 3.9.7
(base) ➜  ~ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/aarch64-redhat-linux/7/lto-wrapper
Target: aarch64-redhat-linux
Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,objc,obj-c++,fortran,ada,go,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --disable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --disable-libmpx --enable-libsanitizer --enable-gnu-indirect-function --disable-libcilkrts --enable-libatomic --disable-libquadmath --enable-libitm --build=aarch64-redhat-linux
Thread model: posix
gcc version 7.3.1 20180712 (Red Hat 7.3.1-13) (GCC)
trufanov-nok commented 2 years ago

Well, it would be interesting to dig into this further, but it's too inconvenient without access to the system. Anyway, as you can see there are a lot of " -n1 .2-a+fp16+rcpc+dotprod+crypto " right in distutils.sysconfig.get_config_vars() output which means a Python itself is misconfigured. Probably this build of Anaconda3 is misconfigured. The problem is deep inside and I guess setuptools doesn't allow to override these flags, just to add something to them. So it can't be workarounded.

There is a helpful discussion re this problem here: https://githubhelp.com/tuwien-cms/xprec/issues/1

It seems to be related to Graviton2 CPUs from Amazon. To enable " Arm Architecture Specific Features" this processor requires "-march=armv8.2-a+fp16+rcpc+dotprod+crypto" and "-mtune=neoverse-n1": https://github.com/aws/aws-graviton-getting-started/blob/main/c-c++.md

Probably Anaconda3 was configured with them but something went wrong after that.
It's hard to say there exactly the command line got broken. I guess a good point to start would be raising this issue for AWS support team as no any python module that requires C/CPP code compilation could be installed on their system.

2shou commented 2 years ago

ok, i will take issues to amazon support team. but, i tried to install xgboost today which also have c++ compiling and it worked finally. will another version of anaconda be useful?

trufanov-nok commented 2 years ago

Try

sudo pip uninstall xgboost
sudo pip install --no-binary :all: xgboost

this is supposed to skip prebuild binary and force installing via setup.py. What's the output?

will another version of anaconda be useful?

If AWS suggests other version or allows to replace it - you may try it. Or if there is a virtual machine with other CPU than Graviton2 - that might also help.

2shou commented 2 years ago

Try

sudo pip uninstall xgboost
sudo pip install --no-binary :all: xgboost

this is supposed to skip prebuild binary and force installing via setup.py. What's the output?

will another version of anaconda be useful?

If AWS suggests other version or allows to replace it - you may try it. Or if there is a virtual machine with other CPU than Graviton2 - that might also help.

It's OK for xgboost.

(base) ➜  ~ pip uninstall xgboost
Found existing installation: xgboost 2.0.0.dev0
Uninstalling xgboost-2.0.0.dev0:
  Would remove:
    /home/ec2-user/anaconda3/lib/python3.9/site-packages/xgboost
    /home/ec2-user/anaconda3/lib/python3.9/site-packages/xgboost-2.0.0.dev0-py3.9.egg-info
Proceed (Y/n)? y
  Successfully uninstalled xgboost-2.0.0.dev0
(base) ➜  ~ pip install --no-binary :all: xgboost
Collecting xgboost
  Downloading xgboost-1.6.0.tar.gz (775 kB)
     |████████████████████████████████| 775 kB 24.2 MB/s
Requirement already satisfied: numpy in ./anaconda3/lib/python3.9/site-packages (from xgboost) (1.20.3)
Requirement already satisfied: scipy in ./anaconda3/lib/python3.9/site-packages (from xgboost) (1.7.1)
Skipping wheel build for xgboost, due to binaries being disabled for it.
Installing collected packages: xgboost
    Running setup.py install for xgboost ... done
Successfully installed xgboost-1.6.0
feeloho commented 2 years ago

Me too

cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core)

trufanov-nok commented 2 years ago

I'm not a python expert (I'm a c++ developer), but it looks like xgboost is working because they are not using C/CPP code in the wrapper at all. They are not using cython. They are using ctypes module to call C library functions. As for the core library itself (which is in C) - they're defined a custom build steps for setuptools and these build steps just call a cmake/make or a cmake/ninja, so CMake buildchain decides which arguments are needed to be passed to the compiler, and no any hardcoded defaults from sysinfo are used.

TA-Lib is built with CMake too, but it's distributed as an already built binary anyway. And the only problem is that wrapper uses C code and no any smart buildsystem is used to compile it - it just build with a setuptools' default compiler which uses default (hardcoded in python) arguments.

Does this have a sense @mrjbq7 ?

trufanov-nok commented 2 years ago

Perhaps I can suggest a workaround.

  1. Find the right sysconfig.py for your python 3.9.7 with locate distutils/sysconfig.py.

  2. Edit it (might require sudo) in a following way: find lines

        if 'CFLAGS' in os.environ:
            cflags = cflags + ' ' + os.environ['CFLAGS']
            ldshared = ldshared + ' ' + os.environ['CFLAGS']
        elif configure_cflags:
            cflags = cflags + ' ' + configure_cflags
            ldshared = ldshared + ' ' + configure_cflags
        if 'CPPFLAGS' in os.environ:
            cpp = cpp + ' ' + os.environ['CPPFLAGS']
            cflags = cflags + ' ' + os.environ['CPPFLAGS']
            ldshared = ldshared + ' ' + os.environ['CPPFLAGS']
        elif configure_cppflags:
            cpp = cpp + ' ' + configure_cppflags
            cflags = cflags + ' ' + configure_cppflags
            ldshared = ldshared + ' ' + configure_cppflags

    And insert AFTER them lines

        if 'CFLAGS2' in os.environ:
            cflags = os.environ['CFLAGS2']

    This will introduce CFLAGS2 environment variable that will completely override CFLAGS defaults.

  3. Get a copy of TA-Lib wrapper sources with

    git clone https://github.com/mrjbq7/ta-lib.git
    cd ta-lib
  4. Install the TA-Lib wrapper manually with sudo CFLAGS2="-pthread -B /home/ec2-user/anaconda3/compiler_compat -Wno-unused-result -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -isystem /home/ec2-user/anaconda3/include -I/home/ec2-user/anaconda3/include" python setup.py install

This should work.

2shou commented 2 years ago

Finally I switched to System Python and installed ta-lib successfully.

mrjbq7 commented 2 years ago

Please let me know if there is anything I should document or change as a result of your issues here. In the meantime, I'm going to close this bug.

RaoTianlong commented 2 years ago

Perhaps I can suggest a workaround.

  1. Find the right sysconfig.py for your python 3.9.7 with locate distutils/sysconfig.py.
  2. Edit it (might require sudo) in a following way: find lines
        if 'CFLAGS' in os.environ:
            cflags = cflags + ' ' + os.environ['CFLAGS']
            ldshared = ldshared + ' ' + os.environ['CFLAGS']
        elif configure_cflags:
            cflags = cflags + ' ' + configure_cflags
            ldshared = ldshared + ' ' + configure_cflags
        if 'CPPFLAGS' in os.environ:
            cpp = cpp + ' ' + os.environ['CPPFLAGS']
            cflags = cflags + ' ' + os.environ['CPPFLAGS']
            ldshared = ldshared + ' ' + os.environ['CPPFLAGS']
        elif configure_cppflags:
            cpp = cpp + ' ' + configure_cppflags
            cflags = cflags + ' ' + configure_cppflags
            ldshared = ldshared + ' ' + configure_cppflags

And insert AFTER them lines

        if 'CFLAGS2' in os.environ:
            cflags = os.environ['CFLAGS2']

This will introduce CFLAGS2 environment variable that will completely override CFLAGS defaults.

  1. Get a copy of TA-Lib wrapper sources with
git clone https://github.com/mrjbq7/ta-lib.git
cd ta-lib
  1. Install the TA-Lib wrapper manually with sudo CFLAGS2="-pthread -B /home/ec2-user/anaconda3/compiler_compat -Wno-unused-result -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -isystem /home/ec2-user/anaconda3/include -I/home/ec2-user/anaconda3/include" python setup.py install

This should work.

not work T^T

trufanov-nok commented 2 years ago

@RaoTianlong could you explain what exactly is not working?

geoffreyblake commented 1 year ago

This appears to be an anaconda python specific bug on AArch64. See: https://github.com/ContinuumIO/anaconda-issues/issues/13106 and: https://stackoverflow.com/questions/74739356/python-cant-install-ta-lib-in-oracle-arm64-vm-ubuntu-20-04/74749125#74749125 For more detailed explanation and workaround.

Short story is lib/python3.9/_sysconfigdata__linux_aarch64-linux-gnu.py is mal-formed with the latest Anaconda, if you edit that file to correct the mal-formed CFLAGS, everything will work.