exoplanet-dev / exoplanet

Fast & scalable MCMC for all your exoplanet needs!
https://docs.exoplanet.codes
MIT License
206 stars 52 forks source link

Eigen/Core file not found #137

Closed eas342 closed 3 years ago

eas342 commented 3 years ago

Describe the bug Get a fatal error: Eigen/Core file not found when installing the test dependencies.

To Reproduce

python -m pip install -U exoplanet
git clone https://github.com/exoplanet-dev/exoplanet.git
cd exoplanet/
python -m pip install .[test]

Expected behavior Expected to install dependencies needed for tests. I also ran python -m pip install -e ., which says all requirements are satisfied and get the same result with pip install .[test].

Your setup (please complete the following information):

Additional context Log of output is below:

Log of details ``` python (py36) MacBook-Pro-4:exoplanet eas342$ python -m pip install -e . Obtaining file:///Users/eas342/outside_progs/exoplanet Installing build dependencies ... done Getting requirements to build wheel ... done Preparing wheel metadata ... done Requirement already satisfied: pymc3-ext>=0.0.1 in /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages (from exoplanet==0.4.4.dev24+g810b7f0) (0.0.2) Requirement already satisfied: numpy>=1.13.0 in /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages (from exoplanet==0.4.4.dev24+g810b7f0) (1.18.1) Requirement already satisfied: pymc3>=3.5 in /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages (from exoplanet==0.4.4.dev24+g810b7f0) (3.10.0) Requirement already satisfied: astropy>=3.1 in /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages (from exoplanet==0.4.4.dev24+g810b7f0) (4.0.1.post1) Requirement already satisfied: pybind11>=2.4 in /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages (from exoplanet==0.4.4.dev24+g810b7f0) (2.4.3) Requirement already satisfied: dill in /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages (from pymc3>=3.5->exoplanet==0.4.4.dev24+g810b7f0) (0.3.3) Requirement already satisfied: theano-pymc==1.0.11 in /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages (from pymc3>=3.5->exoplanet==0.4.4.dev24+g810b7f0) (1.0.11) Requirement already satisfied: typing-extensions>=3.7.4 in /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages (from pymc3>=3.5->exoplanet==0.4.4.dev24+g810b7f0) (3.7.4.3) Requirement already satisfied: contextvars in /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages (from pymc3>=3.5->exoplanet==0.4.4.dev24+g810b7f0) (2.4) Requirement already satisfied: pandas>=0.18.0 in /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages (from pymc3>=3.5->exoplanet==0.4.4.dev24+g810b7f0) (1.1.5) Requirement already satisfied: fastprogress>=0.2.0 in /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages (from pymc3>=3.5->exoplanet==0.4.4.dev24+g810b7f0) (1.0.0) Requirement already satisfied: scipy>=0.18.1 in /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages (from pymc3>=3.5->exoplanet==0.4.4.dev24+g810b7f0) (1.5.4) Requirement already satisfied: dataclasses in /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages (from pymc3>=3.5->exoplanet==0.4.4.dev24+g810b7f0) (0.8) Requirement already satisfied: arviz>=0.9.0 in /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages (from pymc3>=3.5->exoplanet==0.4.4.dev24+g810b7f0) (0.11.0) Requirement already satisfied: patsy>=0.5.1 in /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages (from pymc3>=3.5->exoplanet==0.4.4.dev24+g810b7f0) (0.5.1) Requirement already satisfied: matplotlib>=3.0 in /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages (from arviz>=0.9.0->pymc3>=3.5->exoplanet==0.4.4.dev24+g810b7f0) (3.1.3) Requirement already satisfied: xarray>=0.16.1 in /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages (from arviz>=0.9.0->pymc3>=3.5->exoplanet==0.4.4.dev24+g810b7f0) (0.16.2) Requirement already satisfied: packaging in /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages (from arviz>=0.9.0->pymc3>=3.5->exoplanet==0.4.4.dev24+g810b7f0) (20.3) Requirement already satisfied: setuptools>=38.4 in /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages (from arviz>=0.9.0->pymc3>=3.5->exoplanet==0.4.4.dev24+g810b7f0) (51.1.0) Requirement already satisfied: netcdf4 in /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages (from arviz>=0.9.0->pymc3>=3.5->exoplanet==0.4.4.dev24+g810b7f0) (1.5.3) Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages (from matplotlib>=3.0->arviz>=0.9.0->pymc3>=3.5->exoplanet==0.4.4.dev24+g810b7f0) (2.4.7) Requirement already satisfied: kiwisolver>=1.0.1 in /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages (from matplotlib>=3.0->arviz>=0.9.0->pymc3>=3.5->exoplanet==0.4.4.dev24+g810b7f0) (1.2.0) Requirement already satisfied: cycler>=0.10 in /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages (from matplotlib>=3.0->arviz>=0.9.0->pymc3>=3.5->exoplanet==0.4.4.dev24+g810b7f0) (0.10.0) Requirement already satisfied: python-dateutil>=2.1 in /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages (from matplotlib>=3.0->arviz>=0.9.0->pymc3>=3.5->exoplanet==0.4.4.dev24+g810b7f0) (2.8.1) Requirement already satisfied: six in /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages (from cycler>=0.10->matplotlib>=3.0->arviz>=0.9.0->pymc3>=3.5->exoplanet==0.4.4.dev24+g810b7f0) (1.14.0) Requirement already satisfied: pytz>=2017.2 in /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages (from pandas>=0.18.0->pymc3>=3.5->exoplanet==0.4.4.dev24+g810b7f0) (2020.1) Requirement already satisfied: immutables>=0.9 in /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages (from contextvars->pymc3>=3.5->exoplanet==0.4.4.dev24+g810b7f0) (0.11) Requirement already satisfied: cftime in /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages (from netcdf4->arviz>=0.9.0->pymc3>=3.5->exoplanet==0.4.4.dev24+g810b7f0) (1.1.0) Installing collected packages: exoplanet Attempting uninstall: exoplanet Found existing installation: exoplanet 0.4.3 Uninstalling exoplanet-0.4.3: Successfully uninstalled exoplanet-0.4.3 Running setup.py develop for exoplanet ERROR: Command errored out with exit status 1: command: /Users/eas342/anaconda/envs/py36/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/Users/eas342/outside_progs/exoplanet/setup.py'"'"'; __file__='"'"'/Users/eas342/outside_progs/exoplanet/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' develop --no-deps cwd: /Users/eas342/outside_progs/exoplanet/ Complete output (34 lines): running develop running egg_info creating src/exoplanet.egg-info writing src/exoplanet.egg-info/PKG-INFO writing dependency_links to src/exoplanet.egg-info/dependency_links.txt writing requirements to src/exoplanet.egg-info/requires.txt writing top-level names to src/exoplanet.egg-info/top_level.txt writing manifest file 'src/exoplanet.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no directories found matching 'src/exoplanet/theano_ops/lib/vendor/eigen' writing manifest file 'src/exoplanet.egg-info/SOURCES.txt' running build_ext creating var creating var/folders creating var/folders/mf creating var/folders/mf/jzbqy3z14sx1s6qkkkpgs4rc0000gn creating var/folders/mf/jzbqy3z14sx1s6qkkkpgs4rc0000gn/T gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/eas342/anaconda/envs/py36/include -arch x86_64 -I/Users/eas342/anaconda/envs/py36/include -arch x86_64 -I/Users/eas342/anaconda/envs/py36/include/python3.6m -c /var/folders/mf/jzbqy3z14sx1s6qkkkpgs4rc0000gn/T/tmpltjoqq_a.cpp -o var/folders/mf/jzbqy3z14sx1s6qkkkpgs4rc0000gn/T/tmpltjoqq_a.o -std=c++17 gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/eas342/anaconda/envs/py36/include -arch x86_64 -I/Users/eas342/anaconda/envs/py36/include -arch x86_64 -I/Users/eas342/anaconda/envs/py36/include/python3.6m -c /var/folders/mf/jzbqy3z14sx1s6qkkkpgs4rc0000gn/T/tmps_uqjdic.cpp -o var/folders/mf/jzbqy3z14sx1s6qkkkpgs4rc0000gn/T/tmps_uqjdic.o -fvisibility=hidden building 'exoplanet.theano_ops.driver' extension creating build creating build/temp.macosx-10.7-x86_64-3.6 creating build/temp.macosx-10.7-x86_64-3.6/src creating build/temp.macosx-10.7-x86_64-3.6/src/exoplanet creating build/temp.macosx-10.7-x86_64-3.6/src/exoplanet/theano_ops gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/eas342/anaconda/envs/py36/include -arch x86_64 -I/Users/eas342/anaconda/envs/py36/include -arch x86_64 -Isrc/exoplanet/theano_ops/lib/include -Isrc/exoplanet/theano_ops/lib/vendor/eigen -I/private/var/folders/mf/jzbqy3z14sx1s6qkkkpgs4rc0000gn/T/pip-build-env-mod1y3ro/overlay/lib/python3.6/site-packages/numpy/core/include -I/private/var/folders/mf/jzbqy3z14sx1s6qkkkpgs4rc0000gn/T/pip-build-env-mod1y3ro/overlay/lib/python3.6/site-packages/pybind11/include -I/private/var/folders/mf/jzbqy3z14sx1s6qkkkpgs4rc0000gn/T/pip-build-env-mod1y3ro/overlay/lib/python3.6/site-packages/pybind11/include -I/Users/eas342/anaconda/envs/py36/include/python3.6m -c src/exoplanet/theano_ops/driver.cpp -o build/temp.macosx-10.7-x86_64-3.6/src/exoplanet/theano_ops/driver.o -stdlib=libc++ -mmacosx-version-min=10.14 -march=native -DVERSION_INFO="0.4.4.dev24+g810b7f0" -std=c++17 -fvisibility=hidden In file included from src/exoplanet/theano_ops/driver.cpp:3: In file included from src/exoplanet/theano_ops/lib/include/exoplanet/starry.h:4: In file included from src/exoplanet/theano_ops/lib/include/exoplanet/starry/ellip.h:21: src/exoplanet/theano_ops/lib/include/exoplanet/starry/utils.h:13:10: fatal error: 'Eigen/Core' file not found #include ^~~~~~~~~~~~ 1 error generated. error: command 'gcc' failed with exit status 1 ---------------------------------------- Rolling back uninstall of exoplanet Moving to /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages/exoplanet-0.4.3.dist-info/ from /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages/~xoplanet-0.4.3.dist-info Moving to /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages/exoplanet/ from /Users/eas342/anaconda/envs/py36/lib/python3.6/site-packages/~xoplanet ERROR: Command errored out with exit status 1: /Users/eas342/anaconda/envs/py36/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/Users/eas342/outside_progs/exoplanet/setup.py'"'"'; __file__='"'"'/Users/eas342/outside_progs/exoplanet/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' develop --no-deps Check the logs for full command output. ```
dfm commented 3 years ago

You need to git clone with the recursive flag or update the submodule manually as described here: https://docs.exoplanet.codes/en/stable/user/install/#from-source

eas342 commented 3 years ago

Ah thanks! I did

git submodule init
git submodule update
python -m pip install .[test]

and it no longer has errors.