OpenBB-finance / OpenBB

Investment Research for Everyone, Everywhere.
https://openbb.co
Other
33.86k stars 3.09k forks source link

[Bug] argon2-cffi fails to build on Big Sur #186

Closed larenspear closed 3 years ago

larenspear commented 3 years ago

I followed the instructions as written (cloned repo, created conda environment, conda install poetry, etc) but it fails upon trying to install all of the dependencies. issue.txt

I was able to get this up and running last week, and only when I pulled the latest changes did this happen.

DidierRLopes commented 3 years ago

Hey, not sure what's this.

Can you attempt this poetry.lock file: https://github.com/DidierRLopes/GamestonkTerminal/blob/14d7390e5b2de603fd72fb218b4c5fc2a3d69869/poetry.lock

We may have introduced a regression recently. Let me know if it worked please

aia commented 3 years ago

We do run CI for Mac OS X - https://github.com/DidierRLopes/GamestonkTerminal/runs/2116830122?check_suite_focus=true. It does used cached venv though. Here's my log from Ubuntu, argon2-cffi (20.1.0) is installing fine:

artem@abaqa:GamestonkTerminal2 (main) $ pyenv virtualenv miniconda3-latest gst2
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /home/artem/.pyenv/versions/miniconda3-latest/envs/gst2

  added / updated specs:
    - python

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    ca-certificates-2021.1.19  |       h06a4308_1         118 KB
    sqlite-3.35.0              |       hdfb4753_0         984 KB
    ------------------------------------------------------------
                                           Total:         1.1 MB

The following NEW packages will be INSTALLED:

  _libgcc_mutex      pkgs/main/linux-64::_libgcc_mutex-0.1-main
  ca-certificates    pkgs/main/linux-64::ca-certificates-2021.1.19-h06a4308_1
  certifi            pkgs/main/linux-64::certifi-2020.12.5-py39h06a4308_0
  ld_impl_linux-64   pkgs/main/linux-64::ld_impl_linux-64-2.33.1-h53a641e_7
  libffi             pkgs/main/linux-64::libffi-3.3-he6710b0_2
  libgcc-ng          pkgs/main/linux-64::libgcc-ng-9.1.0-hdf63c60_0
  libstdcxx-ng       pkgs/main/linux-64::libstdcxx-ng-9.1.0-hdf63c60_0
  ncurses            pkgs/main/linux-64::ncurses-6.2-he6710b0_1
  openssl            pkgs/main/linux-64::openssl-1.1.1j-h27cfd23_0
  pip                pkgs/main/linux-64::pip-21.0.1-py39h06a4308_0
  python             pkgs/main/linux-64::python-3.9.2-hdb3f193_0
  readline           pkgs/main/linux-64::readline-8.1-h27cfd23_0
  setuptools         pkgs/main/linux-64::setuptools-52.0.0-py39h06a4308_0
  sqlite             pkgs/main/linux-64::sqlite-3.35.0-hdfb4753_0
  tk                 pkgs/main/linux-64::tk-8.6.10-hbc83047_0
  tzdata             pkgs/main/noarch::tzdata-2020f-h52ac0ba_0
  wheel              pkgs/main/noarch::wheel-0.36.2-pyhd3eb1b0_0
  xz                 pkgs/main/linux-64::xz-5.2.5-h7b6447c_0
  zlib               pkgs/main/linux-64::zlib-1.2.11-h7b6447c_3

Downloading and Extracting Packages
sqlite-3.35.0        | 984 KB    | ################################################################################################################################ | 100% 
ca-certificates-2021 | 118 KB    | ################################################################################################################################ | 100% 
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate gst2
#
# To deactivate an active environment, use
#
#     $ conda deactivate

Looking in links: /tmp/tmpkx4723_9
Requirement already satisfied: setuptools in /home/artem/.pyenv/versions/miniconda3-latest/envs/gst2/lib/python3.9/site-packages (52.0.0.post20210125)
Requirement already satisfied: pip in /home/artem/.pyenv/versions/miniconda3-latest/envs/gst2/lib/python3.9/site-packages (21.0.1)
artem@abaqa:GamestonkTerminal2 (main) $ pyenv activate gst2
pyenv-virtualenv: prompt changing will be removed from future release. configure `export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.
(gst2) artem@abaqa:GamestonkTerminal2 (main) $ conda install python=3.8
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /home/artem/.pyenv/versions/miniconda3-latest/envs/gst2

  added / updated specs:
    - python=3.8

The following packages will be DOWNGRADED:

  certifi                          2020.12.5-py39h06a4308_0 --> 2020.12.5-py38h06a4308_0
  pip                                 21.0.1-py39h06a4308_0 --> 21.0.1-py38h06a4308_0
  python                                   3.9.2-hdb3f193_0 --> 3.8.8-hdb3f193_4
  setuptools                          52.0.0-py39h06a4308_0 --> 52.0.0-py38h06a4308_0

Proceed ([y]/n)? y

Preparing transaction: done
Verifying transaction: done
Executing transaction: done

(gst2) artem@abaqa:GamestonkTerminal2 (main) $ conda --version
conda 4.9.2
(gst2) artem@abaqa:GamestonkTerminal2 (main) $ conda install poetry
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /home/artem/.pyenv/versions/miniconda3-latest/envs/gst2

  added / updated specs:
    - poetry

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    cryptography-3.4.6         |   py38hd23ed53_0         907 KB
    keyring-21.2.1             |   py38h06a4308_0          59 KB
    poetry-1.1.5               |   py38h06a4308_0         244 KB
    pyrsistent-0.14.11         |   py38h27cfd23_0          93 KB
    ------------------------------------------------------------
                                           Total:         1.3 MB

The following NEW packages will be INSTALLED:

  appdirs            pkgs/main/noarch::appdirs-1.4.4-py_0
  attrs              pkgs/main/noarch::attrs-20.3.0-pyhd3eb1b0_0
  brotlipy           pkgs/main/linux-64::brotlipy-0.7.0-py38h27cfd23_1003
  cachecontrol       pkgs/main/noarch::cachecontrol-0.12.6-py_0
  cachy              pkgs/main/noarch::cachy-0.3.0-py_0
  cffi               pkgs/main/linux-64::cffi-1.14.5-py38h261ae71_0
  chardet            pkgs/main/linux-64::chardet-4.0.0-py38h06a4308_1003
  cleo               pkgs/main/noarch::cleo-0.8.1-pyhd3eb1b0_1
  clikit             pkgs/main/noarch::clikit-0.6.2-py_0
  crashtest          pkgs/main/noarch::crashtest-0.3.1-py_0
  cryptography       pkgs/main/linux-64::cryptography-3.4.6-py38hd23ed53_0
  dbus               pkgs/main/linux-64::dbus-1.13.18-hb2f20db_0
  distlib            pkgs/main/linux-64::distlib-0.3.1-py38_0
  expat              pkgs/main/linux-64::expat-2.2.10-he6710b0_2
  filelock           pkgs/main/noarch::filelock-3.0.12-pyhd3eb1b0_1
  glib               pkgs/main/linux-64::glib-2.67.4-h36276a3_1
  html5lib           pkgs/main/noarch::html5lib-1.1-py_0
  idna               pkgs/main/noarch::idna-2.10-pyhd3eb1b0_0
  importlib-metadata pkgs/main/noarch::importlib-metadata-2.0.0-py_1
  importlib_metadata pkgs/main/noarch::importlib_metadata-2.0.0-1
  jeepney            pkgs/main/noarch::jeepney-0.6.0-pyhd3eb1b0_0
  jsonschema         pkgs/main/noarch::jsonschema-3.2.0-py_2
  keyring            pkgs/main/linux-64::keyring-21.2.1-py38h06a4308_0
  lockfile           pkgs/main/linux-64::lockfile-0.12.2-py38h06a4308_0
  msgpack-python     pkgs/main/linux-64::msgpack-python-1.0.2-py38hff7bd54_1
  packaging          pkgs/main/noarch::packaging-20.9-pyhd3eb1b0_0
  pastel             pkgs/main/noarch::pastel-0.2.1-py_0
  pcre               pkgs/main/linux-64::pcre-8.44-he6710b0_0
  pexpect            pkgs/main/noarch::pexpect-4.8.0-pyhd3eb1b0_3
  pkginfo            pkgs/main/linux-64::pkginfo-1.7.0-py38h06a4308_0
  poetry             pkgs/main/linux-64::poetry-1.1.5-py38h06a4308_0
  poetry-core        pkgs/main/noarch::poetry-core-1.0.2-pyhd3eb1b0_0
  ptyprocess         pkgs/main/noarch::ptyprocess-0.7.0-pyhd3eb1b0_2
  pycparser          pkgs/main/noarch::pycparser-2.20-py_2
  pylev              pkgs/main/noarch::pylev-1.3.0-py_0
  pyopenssl          pkgs/main/noarch::pyopenssl-20.0.1-pyhd3eb1b0_1
  pyparsing          pkgs/main/noarch::pyparsing-2.4.7-pyhd3eb1b0_0
  pyrsistent         pkgs/main/linux-64::pyrsistent-0.14.11-py38h27cfd23_0
  pysocks            pkgs/main/linux-64::pysocks-1.7.1-py38h06a4308_0
  requests           pkgs/main/noarch::requests-2.25.1-pyhd3eb1b0_0
  requests-toolbelt  pkgs/main/noarch::requests-toolbelt-0.9.1-py_0
  secretstorage      pkgs/main/linux-64::secretstorage-3.3.1-py38h06a4308_0
  shellingham        pkgs/main/noarch::shellingham-1.3.1-py_0
  six                pkgs/main/linux-64::six-1.15.0-py38h06a4308_0
  tomlkit            pkgs/main/linux-64::tomlkit-0.7.0-py38h06a4308_1
  urllib3            pkgs/main/noarch::urllib3-1.26.3-pyhd3eb1b0_0
  virtualenv         pkgs/main/linux-64::virtualenv-20.4.2-py38h06a4308_1
  webencodings       pkgs/main/linux-64::webencodings-0.5.1-py38_1
  zipp               pkgs/main/noarch::zipp-3.4.0-pyhd3eb1b0_0

Proceed ([y]/n)? y

Downloading and Extracting Packages
poetry-1.1.5         | 244 KB    | ################################################################################################################################ | 100% 
pyrsistent-0.14.11   | 93 KB     | ################################################################################################################################ | 100% 
cryptography-3.4.6   | 907 KB    | ################################################################################################################################ | 100% 
keyring-21.2.1       | 59 KB     | ################################################################################################################################ | 100% 
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
(gst2) artem@abaqa:GamestonkTerminal2 (main) $ poetry install
Installing dependencies from lock file

Package operations: 108 installs, 1 update, 0 removals

  • Installing decorator (4.4.2)
  • Installing ipython-genutils (0.2.0)
  • Updating pyrsistent (0.14.11 -> 0.17.3)
  • Installing traitlets (4.3.3)
  • Installing jupyter-core (4.7.1)
  • Installing parso (0.8.1)
  • Installing python-dateutil (2.8.1)
  • Installing pyzmq (22.0.3)
  • Installing tornado (6.1)
  • Installing wcwidth (0.2.5)
  • Installing async-generator (1.10)
  • Installing backcall (0.2.0)
  • Installing jedi (0.18.0)
  • Installing jupyter-client (6.1.11)
  • Installing markupsafe (1.1.1)
  • Installing nbformat (5.1.2)
  • Installing nest-asyncio (1.5.1)
  • Installing pickleshare (0.7.5)       
  • Installing prompt-toolkit (3.0.17)   
  • Installing pygments (2.8.1)
  • Installing bleach (3.3.0)
  • Installing defusedxml (0.7.1)
  • Installing entrypoints (0.3)
  • Installing ipython (7.16.1)
  • Installing jinja2 (2.11.3)
  • Installing jupyterlab-pygments (0.1.2)
  • Installing mistune (0.8.4)
  • Installing nbclient (0.5.3)
  • Installing pandocfilters (1.4.3)
  • Installing testpath (0.4.4)
  • Installing argon2-cffi (20.1.0)
  • Installing ipykernel (5.5.0)
  • Installing nbconvert (6.0.7)
  • Installing numpy (1.19.5)
  • Installing prometheus-client (0.9.0)
  • Installing send2trash (1.5.0)
  • Installing terminado (0.9.2)
  • Installing click (7.1.2)
  • Installing multidict (5.1.0)
  • Installing notebook (6.2.0)
  • Installing pymeeus (0.5.9)
  • Installing pytz (2021.1)
  • Installing regex (2020.11.13)
  • Installing scipy (1.5.4)
  • Installing tqdm (4.59.0)
  • Installing async-timeout (3.0.1)
  • Installing convertdate (2.3.1)
  • Installing cycler (0.10.0)
  • Installing hijri-converter (2.1.1)
  • Installing jupyterlab-widgets (1.0.0)      
  • Installing kiwisolver (1.3.1)
  • Installing korean-lunar-calendar (0.2.1)   
  • Installing mypy-extensions (0.4.3)
  • Installing pandas (1.1.5)
  • Installing pathspec (0.8.1)
  • Installing pillow (8.1.2)
  • Installing qtpy (1.9.0)
  • Installing textwrap3 (0.9.2)
  • Installing toml (0.10.2)
  • Installing typed-ast (1.4.2)
  • Installing soupsieve (2.2)
  • Installing typing-extensions (3.7.4.3)      
  • Installing widgetsnbextension (3.5.1)       
  • Installing yarl (1.6.3)
  • Installing aiohttp (3.7.4.post0)
  • Installing ansiwrap (0.8.4)
  • Installing beautifulsoup4 (4.9.3)
  • Installing black (20.8b1)
  • Installing cssselect (1.1.0)
  • Installing holidays (0.10.5.2)
  • Installing inflection (0.5.1)
  • Installing iniconfig (1.1.1)
  • Installing ipywidgets (7.6.3)
  • Installing jupyter-console (6.2.0)
  • Installing lxml (4.6.2)
  • Installing matplotlib (3.3.4)
  • Installing more-itertools (8.7.0)
  • Installing multitasking (0.0.9)
  • Installing pluggy (0.13.1)
  • Installing prawcore (2.0.0)
  • Installing py (1.10.0)
  • Installing qtconsole (5.0.2)
  • Installing pyyaml (5.4.1)
  • Installing retrying (1.3.3)
  • Installing tenacity (7.0.0)
  • Installing update-checker (0.18.0)
  • Installing user-agent (0.1.9)
  • Installing websocket-client (0.58.0)
  • Installing alpha-vantage (2.3.1)
  • Installing bs4 (0.0.1)
  • Installing colorama (0.4.4)
  • Installing finviz (1.3.4)
  • Installing fundamentalanalysis (0.2.6)
  • Installing iso8601 (0.1.14)
  • Installing jupyter (1.0.0)
  • Installing mplfinance (0.12.7a7)
  • Installing pandas-ta (0.2.45b)
  • Installing papermill (2.3.3)
  • Installing plotly (4.14.3)
  • Installing praw (7.2.0)
  • Installing prettytable (2.1.0)
  • Installing psaw (0.0.12)
  • Installing pytest (6.2.2)
  • Installing pytrends (4.7.3)
  • Installing quandl (3.6.1)
  • Installing rapidfuzz (1.2.1)
  • Installing seaborn (0.11.1)
  • Installing timeseriescrossvalidation (0.4 1e29d39)
  • Installing yfinance (0.1.55)

(gst2) artem@abaqa:GamestonkTerminal2 (main) $ poetry install -E prediction
Installing dependencies from lock file

Package operations: 63 installs, 2 updates, 0 removals

  • Installing pyasn1 (0.4.8)
  • Installing cachetools (4.2.1)
  • Installing oauthlib (3.1.0)
  • Installing pyasn1-modules (0.2.8)
  • Installing rsa (4.7.2)
  • Installing cython (0.29.14)
  • Installing google-auth (1.27.1)
  • Installing joblib (1.0.1)
  • Installing requests-oauthlib (1.3.0)
  • Installing smart-open (4.2.0)
  • Updating zipp (3.4.0 -> 3.4.1)
  • Installing absl-py (0.12.0)
  • Installing cloudpickle (1.6.0)
  • Installing ephem (3.7.7.1)
  • Installing future (0.18.2)
  • Installing gensim (3.8.3)
  • Installing google-auth-oauthlib (0.4.3)     
  • Installing grpcio (1.32.0)
  • Updating importlib-metadata (2.0.0 -> 3.7.2)
  • Installing markdown (3.3.4)
  • Installing networkx (2.5)
  • Installing overrides (3.1.0)
  • Installing patsy (0.5.1)
  • Installing protobuf (3.15.6)
  • Installing sacremoses (0.0.43)
  • Installing sentencepiece (0.1.91)
  • Installing tensorboard-plugin-wit (1.8.0)   
  • Installing threadpoolctl (2.1.0)
  • Installing tokenizers (0.9.3)
  • Installing werkzeug (1.0.1)
  • Installing wrapt (1.12.1)
  • Installing astunparse (1.6.3)
  • Installing bpemb (0.3.2)
  • Installing cmdstanpy (0.4.0)
  • Installing deprecated (1.2.11)
  • Installing flatbuffers (1.12)
  • Installing ftfy (5.9)
  • Installing gast (0.3.3)
  • Installing gdown (3.12.2)
  • Installing google-pasta (0.2.0)
  • Installing h5py (2.10.0)
  • Installing hyperopt (0.2.5)
  • Installing janome (0.4.1)
  • Installing keras-preprocessing (1.1.2)     
  • Installing konoha (4.6.4)
  • Installing langdetect (1.0.8)
  • Installing lunarcalendar (0.0.9)
  • Installing mpld3 (0.3)
  • Installing opt-einsum (3.3.0)
  • Installing segtok (1.5.10)
  • Installing pystan (2.19.1.1)
  • Installing setuptools-git (1.2)        
  • Installing scikit-learn (0.24.1)       
  • Installing sqlitedict (1.7.0)
  • Installing statsmodels (0.12.2)        
  • Installing tabulate (0.8.9)
  • Installing tensorboard (2.4.1)
  • Installing tensorflow-estimator (2.4.0)
  • Installing termcolor (1.1.0)
  • Installing torch (1.7.1)
  • Installing transformers (3.5.1)        
  • Installing fbprophet (0.6)
  • Installing flair (0.7)
  • Installing pmdarima (1.8.0)
  • Installing tensorflow (2.4.1)
(gst2) artem@abaqa:GamestonkTerminal2 (main) $ 
aia commented 3 years ago
      File "setup.py", line 332, in build_libraries
        debug=self.debug,
      File "/usr/local/anaconda3/envs/gst/lib/python3.6/distutils/ccompiler.py", line 574, in compile
        self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
      File "/usr/local/anaconda3/envs/gst/lib/python3.6/distutils/unixccompiler.py", line 115, in _compile
        cc_args + extra_postargs)
      File "/usr/local/anaconda3/envs/gst/lib/python3.6/_osx_support.py", line 357, in compiler_fixup
        sysroot = compiler_so[idx+1]
    IndexError: list index out of range

Do you have a C compiler on your system?

groove-kidman commented 3 years ago

Hi @DidierRLopes and @aia ,

I do have the same issue as what @larenspear described above when I ran the code in terminal on Big Sur 11.2.3. I was stopped by the step "Poetry Install"

Here are the error codes in the photos:

Screenshot 2021-03-16 at 11 11 55 pm Screenshot 2021-03-16 at 11 20 08 pm

Looking forward to having any solution about this.

aia commented 3 years ago

CI is also having no problems - https://github.com/DidierRLopes/GamestonkTerminal/runs/2122933994?check_suite_focus=true

On Mac OS X, you need a compiler - https://stackoverflow.com/questions/9329243/how-to-install-xcode-command-line-tools. You can also get a compiler view Homebrew.

groove-kidman commented 3 years ago

CI is also having no problems - https://github.com/DidierRLopes/GamestonkTerminal/runs/2122933994?check_suite_focus=true

On Mac OS X, you need a compiler - https://stackoverflow.com/questions/9329243/how-to-install-xcode-command-line-tools. You can also get a compiler view Homebrew.

No it still can not work out with the complier Xcode installed. I do have a complier Visual Studio Code before I installed Xcode, I think the main problem is the matplotlib installation failed in the poetry install.

Screenshot 2021-03-17 at 2 14 12 pm
aia commented 3 years ago

There is something strange about your environment, but the WHL is indeed failing for you.

You can try Python 3.8. Same steps. Perhaps you will have a better luck with a 3.8 WHL.

groove-kidman commented 3 years ago

Can I run that in VScode?

larenspear commented 3 years ago

So I've just found the solution to this issue! It has to do with MacOS post-Catalina. I was really frustrated because I have a C++ compiler, but MacOS still couldn't find the header files. Turns out it's some Apple funny business.

Below is what finally helped me (after installing gcc from homebrew).

https://stackoverflow.com/questions/58278260/cant-compile-a-c-program-on-a-mac-after-upgrading-to-catalina-10-15/58349403#58349403

GST now runs as intended!

groove-kidman commented 3 years ago

@larenspear @aia @DidierRLopes I just worked out the problem and ran the script successfully

Screenshot 2021-03-17 at 3 42 15 pm

The key to work out this issue is the python version (which may require the latest version of python) at step 2: "conda create -n gst python=3.8.5". Situations may vary but it works to me.