CryptoSignal / Crypto-Signal

Github.com/CryptoSignal - Trading & Technical Analysis Bot - 4,100+ stars, 1,100+ forks
https://www.linkedin.com/in/AbenezerMamo
MIT License
4.91k stars 1.26k forks source link

[BUG] Error trying to build image #433

Open rd-mg opened 3 years ago

rd-mg commented 3 years ago

Describe the bug Error trying to build docker image while building TA-lib

To Reproduce Steps to reproduce the behavior:

Clone this repo git clone Enter to cripto-signal folder cd crypto-signal Switch to develop branch git checkout develop Create a config.yml file and put it into "app" folder. Buildyour own Docker image

Expected behavior

Image built

Additional context

CLI ERROR LOG

Collecting attrs>=17.3.0 Downloading attrs-21.2.0-py2.py3-none-any.whl (53 kB) Collecting cffi>=1.12 Downloading cffi-1.14.5-cp38-cp38-manylinux1_x86_64.whl (411 kB) Collecting pycparser Downloading pycparser-2.20-py2.py3-none-any.whl (112 kB) Building wheels for collected packages: twilio, python-json-logger, TA-lib, slackweb, webcord, tulipy Building wheel for twilio (setup.py): started Building wheel for twilio (setup.py): finished with status 'done' Created wheel for twilio: filename=twilio-6.60.0-py2.py3-none-any.whl size=1272036 sha256=09ef6e8196ebfb13cdbe1ec4b6b46ba5d9692eb0beb77d280e6df96ddeb066e3 Stored in directory: /root/.cache/pip/wheels/34/38/f2/a6a656ad96b88f51a28edb65c96fbe80815f03b3ad3bb93d32 Building wheel for python-json-logger (setup.py): started Building wheel for python-json-logger (setup.py): finished with status 'done' Created wheel for python-json-logger: filename=python_json_logger-2.0.1-py34-none-any.whl size=7386 sha256=4113837fb2c0743cf2db21e7d2183d6b4a8f67d19817feee5b2d2f048bcba1bb Stored in directory: /root/.cache/pip/wheels/17/25/e2/bc6585122b6e1b5b2bce42a9756143e0d85c317874abb5623e Building wheel for TA-lib (setup.py): started Building wheel for TA-lib (setup.py): still running... Building wheel for TA-lib (setup.py): finished with status 'error' Running setup.py clean for TA-lib ERROR: Command errored out with exit status 1: command: /usr/local/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-3msed_e7/ta-lib_de8dd43e67fc49aa830070a6b8733248/setup.py'"'"'; file='"'"'/tmp/pip-install-3msed_e7/ta-lib_de8dd43e67fc49aa830070a6b8733248/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-wjjitt2v cwd: /tmp/pip-install-3msed_e7/ta-lib_de8dd43e67fc49aa830070a6b8733248/ Complete output (71 lines): running bdist_wheel running build running build_py creating build creating build/lib.linux-x86_64-3.8 creating build/lib.linux-x86_64-3.8/talib copying talib/test_abstract.py -> build/lib.linux-x86_64-3.8/talib copying talib/test_stream.py -> build/lib.linux-x86_64-3.8/talib copying talib/test_func.py -> build/lib.linux-x86_64-3.8/talib copying talib/stream.py -> build/lib.linux-x86_64-3.8/talib copying talib/abstract.py -> build/lib.linux-x86_64-3.8/talib copying talib/test_pandas.py -> build/lib.linux-x86_64-3.8/talib copying talib/deprecated.py -> build/lib.linux-x86_64-3.8/talib copying talib/test_data.py -> build/lib.linux-x86_64-3.8/talib copying talib/init.py -> build/lib.linux-x86_64-3.8/talib running build_ext skipping 'talib/_ta_lib.c' Cython extension (up-to-date) building 'talib._ta_lib' extension creating build/temp.linux-x86_64-3.8 creating build/temp.linux-x86_64-3.8/talib gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -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/usr/local/lib/python3.8/site-packages/numpy/core/include -I/usr/local/include/python3.8 -c talib/_ta_lib.c -o build/temp.linux-x86_64-3.8/talib/_ta_lib.o In file included from /usr/local/lib/python3.8/site-packages/numpy/core/include/numpy/ndarraytypes.h:1969, from /usr/local/lib/python3.8/site-packages/numpy/core/include/numpy/ndarrayobject.h:12, from /usr/local/lib/python3.8/site-packages/numpy/core/include/numpy/arrayobject.h:4, from talib/_ta_lib.c:620: /usr/local/lib/python3.8/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]

warning "Using deprecated NumPy API, disable it with "

^~~ talib/_ta_lib.c: In function ‘pyx_pf_5talib_7_ta_lib_348_ta_getFuncInfo’: talib/_ta_lib.c:38240:104: warning: passing argument 2 of ‘TA_GetFuncInfo’ from incompatible pointer type [-Wincompatible-pointer-types] __pyx_v_retCode = TA_GetFuncInfo(pyx_f_5talib_7_ta_lib_ta_getFuncHandle(pyx_v_function_name), (&__pyx_v_info)); ~^~~~~~ In file included from talib/_ta_lib.c:615: /usr/include/ta-lib/ta_abstract.h:211:48: note: expected ‘const TA_FuncInfo ’ {aka ‘const struct TA_FuncInfo ’} but argument is of type ‘TA_FuncInfo ’ {aka ‘struct TA_FuncInfo ’} const TA_FuncInfo **funcInfo );


talib/_ta_lib.c: In function ‘__pyx_pf_5talib_7_ta_lib_350_ta_getInputParameterInfo’:
talib/_ta_lib.c:38511:127: warning: passing argument 3 of ‘TA_GetInputParameterInfo’ from incompatible pointer type [-Wincompatible-pointer-types]
__pyx_v_retCode = TA_GetInputParameterInfo(__pyx_f_5talib_7_ta_lib___ta_getFuncHandle(__pyx_v_function_name), __pyx_v_idx, (&__pyx_v_info));
~^~~~~~~~~~~~~~
In file included from talib/_ta_lib.c:615:
/usr/include/ta-lib/ta_abstract.h:442:68: note: expected ‘const TA_InputParameterInfo **’ {aka ‘const struct TA_InputParameterInfo **’} but argument is of type ‘TA_InputParameterInfo **’ {aka ‘struct TA_InputParameterInfo **’}
const TA_InputParameterInfo **info );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
talib/_ta_lib.c: In function ‘__pyx_pf_5talib_7_ta_lib_352_ta_getOptInputParameterInfo’:
talib/_ta_lib.c:38761:130: warning: passing argument 3 of ‘TA_GetOptInputParameterInfo’ from incompatible pointer type [-Wincompatible-pointer-types]
__pyx_v_retCode = TA_GetOptInputParameterInfo(__pyx_f_5talib_7_ta_lib___ta_getFuncHandle(__pyx_v_function_name), __pyx_v_idx, (&__pyx_v_info));
~^~~~~~~~~~~~~~
In file included from talib/_ta_lib.c:615:
/usr/include/ta-lib/ta_abstract.h:446:74: note: expected ‘const TA_OptInputParameterInfo **’ {aka ‘const struct TA_OptInputParameterInfo **’} but argument is of type ‘TA_OptInputParameterInfo **’ {aka ‘struct TA_OptInputParameterInfo **’}
const TA_OptInputParameterInfo **info );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
talib/_ta_lib.c: In function ‘__pyx_pf_5talib_7_ta_lib_354_ta_getOutputParameterInfo’:
talib/_ta_lib.c:39007:128: warning: passing argument 3 of ‘TA_GetOutputParameterInfo’ from incompatible pointer type [-Wincompatible-pointer-types]
__pyx_v_retCode = TA_GetOutputParameterInfo(__pyx_f_5talib_7_ta_lib___ta_getFuncHandle(__pyx_v_function_name), __pyx_v_idx, (&__pyx_v_info));
~^~~~~~~~~~~~~~
In file included from talib/_ta_lib.c:615:
/usr/include/ta-lib/ta_abstract.h:450:70: note: expected ‘const TA_OutputParameterInfo **’ {aka ‘const struct TA_OutputParameterInfo **’} but argument is of type ‘TA_OutputParameterInfo **’ {aka ‘struct TA_OutputParameterInfo **’}
const TA_OutputParameterInfo **info );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
talib/_ta_lib.c: In function ‘__pyx_f_5talib_7_ta_lib___ta_getFuncHandle’:
talib/_ta_lib.c:39606:126: warning: passing argument 2 of ‘TA_GetFuncHandle’ from incompatible pointer type [-Wincompatible-pointer-types]
__pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_n_s_TA_GetFuncHandle, TA_GetFuncHandle(__pyx_v_function_name, (&__pyx_v_handle)), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 720, __pyx_L1_error)
~^~~~~~~~~~~~~~~~
In file included from talib/_ta_lib.c:615:
/usr/include/ta-lib/ta_abstract.h:155:52: note: expected ‘const TA_FuncHandle **’ {aka ‘const unsigned int **’} but argument is of type ‘TA_FuncHandle **’ {aka ‘unsigned int **’}
const TA_FuncHandle **handle );
~~~~~~~~~~~~~~~~~~~~~~^~~~~~
gcc: fatal error: Killed signal terminated program cc1
compilation terminated.
error: command 'gcc' failed with exit status 1
ERROR: Failed building wheel for TA-lib
Building wheel for slackweb (setup.py): started
Building wheel for slackweb (setup.py): finished with status 'done'
Created wheel for slackweb: filename=slackweb-1.0.5-py3-none-any.whl size=1848 sha256=21786b16fb49a08a14b6049d01b62dd9aa978bc073dc5745da6b373552a253f7
Stored in directory: /root/.cache/pip/wheels/62/1c/6f/afaae701bc404c25b7fbe04e46647d0e370ecc046dc90d6ec2
Building wheel for webcord (setup.py): started
Building wheel for webcord (setup.py): finished with status 'done'
Created wheel for webcord: filename=webcord-0.2-py3-none-any.whl size=13634 sha256=20ca6a8617c7c8fdca851534e24dea9682032405b2d62ed152ccf5996454c37a
Stored in directory: /root/.cache/pip/wheels/1c/db/d1/c9b4e8bd008930d779414e5739abce9a584f198284fd8d1bfa
Building wheel for tulipy (PEP 517): started
Building wheel for tulipy (PEP 517): finished with status 'done'
Created wheel for tulipy: filename=tulipy-0.4.0-cp38-cp38-linux_x86_64.whl size=304617 sha256=592d871bae98191c6b8b8debdb1a010deef49d424b74112bc81d37fc4e77725a
Stored in directory: /root/.cache/pip/wheels/f0/40/48/d8ed314f73c9ea3837d65542df8b0b6b577428253cbc40c1b5
Successfully built twilio python-json-logger slackweb webcord tulipy
Failed to build TA-lib
Installing collected packages: pycparser, six, pytz, multidict, idna, cffi, yarl, urllib3, tzlocal, typing-extensions, python-dateutil, pycares, chardet, certifi, attrs, async-timeout, tornado, requests, pyparsing, PyJWT, pillow, pandas, MarkupSafe, kiwisolver, int-date, cycler, cryptography, cachetools, APScheduler, aiohttp, aiodns, webcord, twilio, tulipy, tenacity, tabulate, TA-lib, structlog, stockstats, slackweb, scipy, PyYAML, python-telegram-bot, python-json-logger, matplotlib, jinja2, ccxt
Running setup.py install for TA-lib: started
Running setup.py install for TA-lib: still running...
Running setup.py install for TA-lib: finished with status 'error'
ERROR: Command errored out with exit status 1:
command: /usr/local/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-3msed_e7/ta-lib_de8dd43e67fc49aa830070a6b8733248/setup.py'"'"'; file='"'"'/tmp/pip-install-3msed_e7/ta-lib_de8dd43e67fc49aa830070a6b8733248/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 /tmp/pip-record-utsgqgjl/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.8/TA-lib
cwd: /tmp/pip-install-3msed_e7/ta-lib_de8dd43e67fc49aa830070a6b8733248/
Complete output (71 lines):
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.8
creating build/lib.linux-x86_64-3.8/talib
copying talib/test_abstract.py -> build/lib.linux-x86_64-3.8/talib
copying talib/test_stream.py -> build/lib.linux-x86_64-3.8/talib
copying talib/test_func.py -> build/lib.linux-x86_64-3.8/talib
copying talib/stream.py -> build/lib.linux-x86_64-3.8/talib
copying talib/abstract.py -> build/lib.linux-x86_64-3.8/talib
copying talib/test_pandas.py -> build/lib.linux-x86_64-3.8/talib
copying talib/deprecated.py -> build/lib.linux-x86_64-3.8/talib
copying talib/test_data.py -> build/lib.linux-x86_64-3.8/talib
copying talib/init.py -> build/lib.linux-x86_64-3.8/talib
running build_ext
skipping 'talib/_ta_lib.c' Cython extension (up-to-date)
building 'talib._ta_lib' extension
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/talib
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -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/usr/local/lib/python3.8/site-packages/numpy/core/include -I/usr/local/include/python3.8 -c talib/_ta_lib.c -o build/temp.linux-x86_64-3.8/talib/_ta_lib.o
In file included from /usr/local/lib/python3.8/site-packages/numpy/core/include/numpy/ndarraytypes.h:1969,
from /usr/local/lib/python3.8/site-packages/numpy/core/include/numpy/ndarrayobject.h:12,
from /usr/local/lib/python3.8/site-packages/numpy/core/include/numpy/arrayobject.h:4,
from talib/_ta_lib.c:620:
/usr/local/lib/python3.8/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
#warning "Using deprecated NumPy API, disable it with "
^~~~~~~
talib/_ta_lib.c: In function ‘__pyx_pf_5talib_7_ta_lib_348_ta_getFuncInfo’:
talib/_ta_lib.c:38240:104: warning: passing argument 2 of ‘TA_GetFuncInfo’ from incompatible pointer type [-Wincompatible-pointer-types]
__pyx_v_retCode = TA_GetFuncInfo(__pyx_f_5talib_7_ta_lib___ta_getFuncHandle(__pyx_v_function_name), (&__pyx_v_info));
~^~~~~~~~~~~~~~
In file included from talib/_ta_lib.c:615:
/usr/include/ta-lib/ta_abstract.h:211:48: note: expected ‘const TA_FuncInfo **’ {aka ‘const struct TA_FuncInfo **’} but argument is of type ‘TA_FuncInfo **’ {aka ‘struct TA_FuncInfo **’}
const TA_FuncInfo **funcInfo );
~~~~~~~~~~~~~~~~~~~~^~~~~~~~
talib/_ta_lib.c: In function ‘__pyx_pf_5talib_7_ta_lib_350_ta_getInputParameterInfo’:
talib/_ta_lib.c:38511:127: warning: passing argument 3 of ‘TA_GetInputParameterInfo’ from incompatible pointer type [-Wincompatible-pointer-types]
__pyx_v_retCode = TA_GetInputParameterInfo(__pyx_f_5talib_7_ta_lib___ta_getFuncHandle(__pyx_v_function_name), __pyx_v_idx, (&__pyx_v_info));
~^~~~~~~~~~~~~~
In file included from talib/_ta_lib.c:615:
/usr/include/ta-lib/ta_abstract.h:442:68: note: expected ‘const TA_InputParameterInfo **’ {aka ‘const struct TA_InputParameterInfo **’} but argument is of type ‘TA_InputParameterInfo **’ {aka ‘struct TA_InputParameterInfo **’}
const TA_InputParameterInfo **info );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
talib/_ta_lib.c: In function ‘__pyx_pf_5talib_7_ta_lib_352_ta_getOptInputParameterInfo’:
talib/_ta_lib.c:38761:130: warning: passing argument 3 of ‘TA_GetOptInputParameterInfo’ from incompatible pointer type [-Wincompatible-pointer-types]
__pyx_v_retCode = TA_GetOptInputParameterInfo(__pyx_f_5talib_7_ta_lib___ta_getFuncHandle(__pyx_v_function_name), __pyx_v_idx, (&__pyx_v_info));
~^~~~~~~~~~~~~~
In file included from talib/_ta_lib.c:615:
/usr/include/ta-lib/ta_abstract.h:446:74: note: expected ‘const TA_OptInputParameterInfo **’ {aka ‘const struct TA_OptInputParameterInfo **’} but argument is of type ‘TA_OptInputParameterInfo **’ {aka ‘struct TA_OptInputParameterInfo **’}
const TA_OptInputParameterInfo **info );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
talib/_ta_lib.c: In function ‘__pyx_pf_5talib_7_ta_lib_354_ta_getOutputParameterInfo’:
talib/_ta_lib.c:39007:128: warning: passing argument 3 of ‘TA_GetOutputParameterInfo’ from incompatible pointer type [-Wincompatible-pointer-types]
__pyx_v_retCode = TA_GetOutputParameterInfo(__pyx_f_5talib_7_ta_lib___ta_getFuncHandle(__pyx_v_function_name), __pyx_v_idx, (&__pyx_v_info));
~^~~~~~~~~~~~~~
In file included from talib/_ta_lib.c:615:
/usr/include/ta-lib/ta_abstract.h:450:70: note: expected ‘const TA_OutputParameterInfo **’ {aka ‘const struct TA_OutputParameterInfo **’} but argument is of type ‘TA_OutputParameterInfo **’ {aka ‘struct TA_OutputParameterInfo **’}
const TA_OutputParameterInfo **info );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
talib/_ta_lib.c: In function ‘__pyx_f_5talib_7_ta_lib___ta_getFuncHandle’:
talib/_ta_lib.c:39606:126: warning: passing argument 2 of ‘TA_GetFuncHandle’ from incompatible pointer type [-Wincompatible-pointer-types]
__pyx_t_1 = __pyx_f_5talib_7_ta_lib__ta_check_success(__pyx_n_s_TA_GetFuncHandle, TA_GetFuncHandle(__pyx_v_function_name, (&__pyx_v_handle)), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 720, __pyx_L1_error)
~^~~~~~~~~~~~~~~~
In file included from talib/_ta_lib.c:615:
/usr/include/ta-lib/ta_abstract.h:155:52: note: expected ‘const TA_FuncHandle **’ {aka ‘const unsigned int **’} but argument is of type ‘TA_FuncHandle **’ {aka ‘unsigned int **’}
const TA_FuncHandle **handle );
~~~~~~~~~~~~~~~~~~~~~~^~~~~~
gcc: fatal error: Killed signal terminated program cc1
compilation terminated.
error: command 'gcc' failed with exit status 1
----------------------------------------
ERROR: Command errored out with exit status 1: /usr/local/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-3msed_e7/ta-lib_de8dd43e67fc49aa830070a6b8733248/setup.py'"'"'; file='"'"'/tmp/pip-install-3msed_e7/ta-lib_de8dd43e67fc49aa830070a6b8733248/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 /tmp/pip-record-utsgqgjl/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.8/TA-lib Check the logs for full command output.
The command '/bin/sh -c pip install -r requirements-step-2.txt' returned a non-zero code: 1
laliux commented 3 years ago

Hey @rd-mg

It is very difficult to replicate. This process works almost always.. are u in Linux? if yes, which distro ?

rd-mg commented 3 years ago

yes, I am in Linux, I tried in my local (Manjaro) and remote (Ubuntu)

On Fri, Jun 25, 2021, 11:14 AM Eduardo Zarate @.***> wrote:

Hey @rd-mg https://github.com/rd-mg

It is very difficult to replicate. This process works almost always.. are u in Linux? if yes, which distro ?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/CryptoSignal/Crypto-Signal/issues/433#issuecomment-868570963, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJMEYOUHFXHU2AVB5W6WT2DTUSMMJANCNFSM47IISVVA .

rd-mg commented 3 years ago

Hello @laliux

Here let you more details, hope it helps

In my local machine:

NAME="Manjaro Linux" ID=manjaro ID_LIKE=arch BUILD_ID=rolling PRETTY_NAME="Manjaro Linux" ANSI_COLOR="32;1;24;144;200" HOME_URL="https://manjaro.org/" DOCUMENTATION_URL="https://wiki.manjaro.org/" SUPPORT_URL="https://manjaro.org/" BUG_REPORT_URL="https://bugs.manjaro.org/" LOGO=manjarolinux

Docker version 20.10.7, build f0df35096d docker-compose version 1.29.2, build unknown

In the remote server

NAME="Ubuntu" VERSION="20.04.2 LTS (Focal Fossa)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 20.04.2 LTS" VERSION_ID="20.04" HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" VERSION_CODENAME=focal UBUNTU_CODENAME=focal

Docker version 20.10.6, build 370c289 docker-compose version 1.25.0, build unknown