dfm/george

Installation failure with conflicting error messages.

mar-ses opened this issue · 3 comments

Following the installation instructions I tried first using the pip method (on two computers). First one worked (Ubuntu 16.10), second one failed (Ubuntu 14.04, but similar python environment) with the following error code (copy pasting the relevant part):

gcc -pthread -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -Iinclude -I/home/marko/anaconda3/lib/python3.5/site-packages/numpy/core/include -I/usr/include/eigen3 -I./hodlr/header -I/home/marko/anaconda3/include/python3.5m -c george/_kernels.cpp -o build/temp.linux-x86_64-3.5/george/_kernels.o -Wno-unused-function -Wno-uninitialized
  gcc: error trying to exec 'cc1plus': execvp: No such file or directory
  error: command 'gcc' failed with exit status 1
  
  ----------------------------------------
  Failed building wheel for george
  Running setup.py clean for george
Failed to build george
Installing collected packages: george
  Running setup.py install for george ... error
    Complete output from command /home/marko/anaconda3/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-qf6ggi46/george/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-is44ebst-record/install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.5
    creating build/lib.linux-x86_64-3.5/george
    copying george/utils.py -> build/lib.linux-x86_64-3.5/george
    copying george/kernels.py -> build/lib.linux-x86_64-3.5/george
    copying george/gp.py -> build/lib.linux-x86_64-3.5/george
    copying george/generate_kernel_defs.py -> build/lib.linux-x86_64-3.5/george
    copying george/__init__.py -> build/lib.linux-x86_64-3.5/george
    copying george/basic.py -> build/lib.linux-x86_64-3.5/george
    creating build/lib.linux-x86_64-3.5/george/testing
    copying george/testing/test_solvers.py -> build/lib.linux-x86_64-3.5/george/testing
    copying george/testing/test_tutorial.py -> build/lib.linux-x86_64-3.5/george/testing
    copying george/testing/test_gp.py -> build/lib.linux-x86_64-3.5/george/testing
    copying george/testing/__init__.py -> build/lib.linux-x86_64-3.5/george/testing
    copying george/testing/test_pickle.py -> build/lib.linux-x86_64-3.5/george/testing
    copying george/testing/test_kernels.py -> build/lib.linux-x86_64-3.5/george/testing
    running egg_info
    writing dependency_links to george.egg-info/dependency_links.txt
    writing top-level names to george.egg-info/top_level.txt
    writing george.egg-info/PKG-INFO
    warning: manifest_maker: standard file '-c' not found
    
    reading manifest file 'george.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    writing manifest file 'george.egg-info/SOURCES.txt'
    copying george/_kernels.cpp -> build/lib.linux-x86_64-3.5/george
    copying george/hodlr.cpp -> build/lib.linux-x86_64-3.5/george
    running build_ext
    Found Eigen version 3.2.0 in: /usr/include/eigen3
    Found HODLR headers in: ./hodlr/header
    building 'george._kernels' extension
    creating build/temp.linux-x86_64-3.5
    creating build/temp.linux-x86_64-3.5/george
    gcc -pthread -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -Iinclude -I/home/marko/anaconda3/lib/python3.5/site-packages/numpy/core/include -I/usr/include/eigen3 -I./hodlr/header -I/home/marko/anaconda3/include/python3.5m -c george/_kernels.cpp -o build/temp.linux-x86_64-3.5/george/_kernels.o -Wno-unused-function -Wno-uninitialized
    gcc: error trying to exec 'cc1plus': execvp: No such file or directory
    error: command 'gcc' failed with exit status 1
    
    ----------------------------------------
Command "/home/marko/anaconda3/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-qf6ggi46/george/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-is44ebst-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-qf6ggi46/george/

I think it's relevant that it seems to find "HODLR" on my machine Found HODLR headers in: ./hodlr/header

So I tried installing the development version by cloning off github, and then I get the following error:

running build_ext
Found Eigen version 3.2.0 in: /usr/include/eigen3
Traceback (most recent call last):
  File "setup.py", line 177, in <module>
    "Programming Language :: Python",
  File "/home/marko/anaconda3/lib/python3.5/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/home/marko/anaconda3/lib/python3.5/distutils/dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "/home/marko/anaconda3/lib/python3.5/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/home/marko/anaconda3/lib/python3.5/site-packages/setuptools-27.2.0-py3.5.egg/setuptools/command/install.py", line 67, in run
  File "/home/marko/anaconda3/lib/python3.5/site-packages/setuptools-27.2.0-py3.5.egg/setuptools/command/install.py", line 109, in do_egg_install
  File "/home/marko/anaconda3/lib/python3.5/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/home/marko/anaconda3/lib/python3.5/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/home/marko/anaconda3/lib/python3.5/site-packages/setuptools-27.2.0-py3.5.egg/setuptools/command/bdist_egg.py", line 161, in run
  File "/home/marko/anaconda3/lib/python3.5/site-packages/setuptools-27.2.0-py3.5.egg/setuptools/command/bdist_egg.py", line 147, in call_command
  File "/home/marko/anaconda3/lib/python3.5/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/home/marko/anaconda3/lib/python3.5/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/home/marko/anaconda3/lib/python3.5/site-packages/setuptools-27.2.0-py3.5.egg/setuptools/command/install_lib.py", line 11, in run
  File "/home/marko/anaconda3/lib/python3.5/distutils/command/install_lib.py", line 107, in build
    self.run_command('build_ext')
  File "/home/marko/anaconda3/lib/python3.5/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/home/marko/anaconda3/lib/python3.5/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/home/marko/anaconda3/lib/python3.5/site-packages/setuptools-27.2.0-py3.5.egg/setuptools/command/build_ext.py", line 77, in run
  File "/home/marko/anaconda3/lib/python3.5/site-packages/Cython/Distutils/build_ext.py", line 164, in run
    _build_ext.build_ext.run(self)
  File "/home/marko/anaconda3/lib/python3.5/distutils/command/build_ext.py", line 338, in run
    self.build_extensions()
  File "/home/marko/anaconda3/lib/python3.5/site-packages/Cython/Distutils/build_ext.py", line 172, in build_extensions
    self.build_extension(ext)
  File "setup.py", line 99, in build_extension
    raise RuntimeError("Required library HODLR not found. "
RuntimeError: Required library HODLR not found. Check the documentation for solutions.

Which seems contradictory as it found HODLR the first time. Also I didn't understand the first error message.

dfm commented

I'm not sure what's up with the first one but the second error is because you didn't run:

git submodule init
git submodule update

This is not a contradiction because HODLR is a submodule in the development version.

Sorry I must have skimmed through that my bad. However, now trying the development version seems to be giving me the same error message as in the first case, gcc failing to exec 'cc1plus': execvp. Is this some dependency that I need to download?

My bad, hadn't install g++ apparently. Doing that made it work.