X Tutup
Skip to content

Failed install with "OSError: [Errno 12] Cannot allocate memory" #7955

@blaiseli

Description

@blaiseli

Bug report

Bug summary

Installation of matplotlib using pip3.6 fails with OSError: [Errno 12] Cannot allocate memory

I'm running some long computations while trying the install, but there are several GB memory available according to htop.

Code for reproduction

$ pip3.6 install matplotlib

Actual outcome


Collecting matplotlib
  Downloading matplotlib-2.0.0.tar.gz (53.2MB)
    100% |████████████████████████████████| 53.2MB 12.8MB/s 
    Complete output from command python setup.py egg_info:
    ============================================================================
    Edit setup.cfg to change the build options
    
    BUILDING MATPLOTLIB
                matplotlib: yes [2.0.0]
                    python: yes [3.6.0 (default, Jan 25 2017, 17:55:12)  [GCC
                            5.4.0 20160609]]
                  platform: yes [linux]
    
    REQUIRED DEPENDENCIES AND EXTENSIONS
                     numpy: yes [version 1.12.0]
                       six: yes [using six version 1.10.0]
                  dateutil: yes [using dateutil version 2.6.0]
               functools32: yes [Not required]
              subprocess32: yes [Not required]
                      pytz: yes [using pytz version 2016.10]
                    cycler: yes [cycler was not found. pip will attempt to
                            install it after matplotlib.]
                   tornado: yes [tornado was not found. It is required for the
                            WebAgg backend. pip/easy_install may attempt to
                            install it after matplotlib.]
                 pyparsing: yes [pyparsing was not found. It is required for
                            mathtext support. pip/easy_install may attempt to
                            install it after matplotlib.]
                    libagg: yes [pkg-config information for 'libagg' could not
                            be found. Using local copy.]
                  freetype: yes [version 2.6.1]
                       png: yes [version 1.2.54]
                     qhull: yes [pkg-config information for 'qhull' could not be
                            found. Using local copy.]
    
    OPTIONAL SUBPACKAGES
               sample_data: yes [installing]
                  toolkits: yes [installing]
                     tests: no  [skipping due to configuration]
            toolkits_tests: no  [skipping due to configuration]
    
    OPTIONAL BACKEND EXTENSIONS
                    macosx: no  [Mac OS-X only]
                    qt5agg: no  [PyQt5 not found]
                    qt4agg: no  [PySide not found; PyQt4 not found]
                   gtk3agg: yes [installing, unknown (can not use
                            multiprocessing to determine)]
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-tph91xce/matplotlib/setup.py", line 184, in <module>
        result = package.check()
      File "/tmp/pip-build-tph91xce/matplotlib/setupext.py", line 2064, in check
        stderr=subprocess.STDOUT)
      File "/home/bli/lib/python3.6/subprocess.py", line 336, in check_output
        **kwargs).stdout
      File "/home/bli/lib/python3.6/subprocess.py", line 403, in run
        with Popen(*popenargs, **kwargs) as process:
      File "/home/bli/lib/python3.6/subprocess.py", line 707, in __init__
        restore_signals, start_new_session)
      File "/home/bli/lib/python3.6/subprocess.py", line 1260, in _execute_child
        restore_signals, start_new_session, preexec_fn)
    OSError: [Errno 12] Cannot allocate memory
                 gtk3cairo: yes [installing, unknown (can not use
                            multiprocessing to determine)]
                    gtkagg: no  [Requires pygtk]
                     tkagg: yes [installing; run-time loading from Python Tcl /
                            Tk]
                     wxagg: no  [requires wxPython]
                       gtk: no  [Requires pygtk]
                       agg: yes [installing]
                     cairo: no  [cairocffi or pycairo not found]
                 windowing: no  [Microsoft Windows only]
    
    OPTIONAL LATEX DEPENDENCIES
    
    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-tph91xce/matplotlib/

Expected outcome

I expect that the installation completes.

For instance, it works if I install one of the dependencies:

$ pip3.6 install pyparsing
Collecting pyparsing
  Downloading pyparsing-2.1.10.zip (1.4MB)
    100% |████████████████████████████████| 1.4MB 8.6MB/s 
Installing collected packages: pyparsing
  Running setup.py install for pyparsing ... done
Successfully installed pyparsing-2.1.10

(install of matplotlib still fails as previously if I retry)

Matplotlib version

I tried to install Matplotlib 2.0.0 using pip with Python 3.6 compiled from source on Xubuntu 16.04.

Some config files that could be relevant:

$ cat ~/.config/pip/pip.conf
[global]
timeout = 30
no-cache-dir = false
[install]
user=1
compile=1
no-binary=:all:
$ cat ~/.pydistutils.cfg
[install]
user=1
optimize=1
[build_ext]
include_dirs=${HOME}/include
library_dirs=${HOME}/lib
rpath=${HOME}/lib
user=1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      X Tutup