TASK edxapp : code sandbox fails

Problem

During installation, a failure appears like this:

TASK [edxapp : code sandbox | Install base sandbox requirements and create sandbox virtualenv] ***
fatal: [localhost]: FAILED! => {"changed": false, "cmd": "/edx/app/edxapp/venvs/edxapp-sandbox/bin/pip2 install -i https://pypi.python.org/simple --exists-action w -r /edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt", "failed": true, "msg": "stdout: Collecting setuptools==34.0.2 (from -r /edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt (line 8))\n  Using cached setuptools-34.0.2-py2.py3-none-any.whl\nRequirement already satisfied: pip==9.0.1 in /edx/app/edxapp/venvs/edxapp-sandbox/lib/python2.7/site-packages (from -r /edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt (line 9))\nCollecting numpy==1.6.2 (from -r /edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt (line 12))\n  Using cached numpy-1.6.2-cp27-cp27mu-manylinux1_x86_64.whl\nCollecting networkx==1.7 (from -r /edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt (line 13))\n  Using cached networkx-1.7.zip\nCollecting sympy==0.7.1 (from -r /edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt (line 14))\n  Using cached sympy-0.7.1.tar.gz\nCollecting pyparsing==2.0.7 (from -r /edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt (line 15))\n  Using cached pyparsing-2.0.7-py2.py3-none-any.whl\nCollecting matplotlib==1.3.1 (from -r /edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt (line 16))\n  Using cached matplotlib-1.3.1.tar.gz\n    Complete output from command python setup.py egg_info:\n    ============================================================================\n    Edit setup.cfg to change the build options\n    \n    BUILDING MATPLOTLIB\n                matplotlib: yes [1.3.1]\n                    python: yes [2.7.12 (default, Nov 19 2016, 06:48:10)  [GCC\n                            5.4.0 20160609]]\n                  platform: yes [linux2]\n    \n    REQUIRED DEPENDENCIES AND EXTENSIONS\n                     numpy: yes [not found. pip may install it below.]\n                  dateutil: yes [dateutil was not found. It is required for date\n                            axis support. pip/easy_install may attempt to\n                            install it after matplotlib.]\n                   tornado: yes [tornado was not found. It is required for the\n                            WebAgg backend. pip/easy_install may attempt to\n                            install it after matplotlib.]\n                 pyparsing: yes [using pyparsing version 2.2.0]\n                     pycxx: yes [Couldn't import.  Using local copy.]\n                    libagg: yes [pkg-config information for 'libagg' could not\n                            be found. Using local copy.]\n                  freetype: yes [version 18.1.12]\n                       png: yes [version 1.2.54]\n    \n    OPTIONAL SUBPACKAGES\n               sample_data: yes [installing]\n                  toolkits: yes [installing]\n                     tests: yes [nose 0.11.1 or later is required to run the\n                            matplotlib test suite]\n    \n    OPTIONAL BACKEND EXTENSIONS\n                    macosx: no  [Mac OS-X only]\n                    qt4agg: no  [PyQt4 not found]\n                   gtk3agg: no  [Requires pygobject to be installed.]\n    Running from numpy source directory.\n    /tmp/easy_install-_lNJnb/numpy-1.13.0rc2/setup.py:367: UserWarning: Unrecognized setuptools command, proceeding with generating Cython sources and expanding templates\n      run_build = parse_setuppy_commands()\n    /tmp/easy_install-_lNJnb/numpy-1.13.0rc2/numpy/distutils/system_info.py:572: UserWarning:\n        Atlas (http://math-atlas.sourceforge.net/) libraries not found.\n        Directories to search for the libraries can be specified in the\n        numpy/distutils/site.cfg file (section [atlas]) or by setting\n        the ATLAS environment variable.\n      self.calc_info()\n    /bin/sh: 1: svnversion: not found\n    /bin/sh: 1: svnversion: not found\n    /usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'define_macros'\n      warnings.warn(msg)\n                 gtk3cairo: no  [Requires cairo to be installed.]\n                    gtkagg: no  [Requires pygtk]\n                     tkagg: no  [TKAgg requires Tkinter.]\n                     wxagg: no  [requires wxPython]\n                       gtk: no  [Requires pygtk]\n                       agg: yes [installing]\n                     cairo: no  [cairo not found]\n                 windowing: no  [Microsoft Windows only]\n    \n    OPTIONAL LATEX DEPENDENCIES\n                    dvipng: no\n               ghostscript: no\n                     latex: no\n                   pdftops: no\n    \n    \n    non-existing path in 'numpy/distutils': 'site.cfg'\n    Could not locate executable ifort\n    Could not locate executable ifc\n    Could not locate executable lf95\n    Could not locate executable pgfortran\n    Could not locate executable f90\n    absoft: no Fortran 90 compiler found\n    absoft: no Fortran 90 compiler found\n    Could not locate executable fort\n    Could not locate executable efort\n    Could not locate executable efc\n    Could not locate executable g77\n    gnu: no Fortran 90 compiler found\n    gnu: no Fortran 90 compiler found\n    Could not locate executable g95\n    Could not locate executable pathf95\n    don't know how to compile Fortran code on platform 'posix'\n    \n    Traceback (most recent call last):\n      File \"<string>\", line 1, in <module>\n      File \"/tmp/pip-build-I9rhjg/matplotlib/setup.py\", line 268, in <module>\n        **extra_args\n      File \"/usr/lib/python2.7/distutils/core.py\", line 111, in setup\n        _setup_distribution = dist = klass(attrs)\n      File \"/edx/app/edxapp/venvs/edxapp-sandbox/local/lib/python2.7/site-packages/setuptools/dist.py\", line 318, in __init__\n        self.fetch_build_eggs(attrs['setup_requires'])\n      File \"/edx/app/edxapp/venvs/edxapp-sandbox/local/lib/python2.7/site-packages/setuptools/dist.py\", line 375, in fetch_build_eggs\n        replace_conflicting=True,\n      File \"/edx/app/edxapp/venvs/edxapp-sandbox/local/lib/python2.7/site-packages/pkg_resources/__init__.py\", line 851, in resolve\n        dist = best[req.key] = env.best_match(req, ws, installer)\n      File \"/edx/app/edxapp/venvs/edxapp-sandbox/local/lib/python2.7/site-packages/pkg_resources/__init__.py\", line 1123, in best_match\n        return self.obtain(req, installer)\n      File \"/edx/app/edxapp/venvs/edxapp-sandbox/local/lib/python2.7/site-packages/pkg_resources/__init__.py\", line 1135, in obtain\n        return installer(requirement)\n      File \"/edx/app/edxapp/venvs/edxapp-sandbox/local/lib/python2.7/site-packages/setuptools/dist.py\", line 443, in fetch_build_egg\n        return cmd.easy_install(req)\n      File \"/edx/app/edxapp/venvs/edxapp-sandbox/local/lib/python2.7/site-packages/setuptools/command/easy_install.py\", line 673, in easy_install\n        return self.install_item(spec, dist.location, tmpdir, deps)\n      File \"/edx/app/edxapp/venvs/edxapp-sandbox/local/lib/python2.7/site-packages/setuptools/command/easy_install.py\", line 699, in install_item\n        dists = self.install_eggs(spec, download, tmpdir)\n      File \"/edx/app/edxapp/venvs/edxapp-sandbox/local/lib/python2.7/site-packages/setuptools/command/easy_install.py\", line 880, in install_eggs\n        return self.build_and_install(setup_script, setup_base)\n      File \"/edx/app/edxapp/venvs/edxapp-sandbox/local/lib/python2.7/site-packages/setuptools/command/easy_install.py\", line 1119, in build_and_install\n        self.run_setup(setup_script, setup_base, args)\n      File \"/edx/app/edxapp/venvs/edxapp-sandbox/local/lib/python2.7/site-packages/setuptools/command/easy_install.py\", line 1105, in run_setup\n        run_setup(setup_script, args)\n      File \"/edx/app/edxapp/venvs/edxapp-sandbox/local/lib/python2.7/site-packages/setuptools/sandbox.py\", line 258, in run_setup\n        raise\n      File \"/usr/lib/python2.7/contextlib.py\", line 35, in __exit__\n        self.gen.throw(type, value, traceback)\n      File \"/edx/app/edxapp/venvs/edxapp-sandbox/local/lib/python2.7/site-packages/setuptools/sandbox.py\", line 198, in setup_context\n        yield\n      File \"/usr/lib/python2.7/contextlib.py\", line 35, in __exit__\n        self.gen.throw(type, value, traceback)\n      File \"/edx/app/edxapp/venvs/edxapp-sandbox/local/lib/python2.7/site-packages/setuptools/sandbox.py\", line 169, in save_modules\n        saved_exc.resume()\n      File \"/edx/app/edxapp/venvs/edxapp-sandbox/local/lib/python2.7/site-packages/setuptools/sandbox.py\", line 144, in resume\n        six.reraise(type, exc, self._tb)\n      File \"/edx/app/edxapp/venvs/edxapp-sandbox/local/lib/python2.7/site-packages/setuptools/sandbox.py\", line 157, in save_modules\n        yield saved\n      File \"/edx/app/edxapp/venvs/edxapp-sandbox/local/lib/python2.7/site-packages/setuptools/sandbox.py\", line 198, in setup_context\n        yield\n      File \"/edx/app/edxapp/venvs/edxapp-sandbox/local/lib/python2.7/site-packages/setuptools/sandbox.py\", line 255, in run_setup\n        DirectorySandbox(setup_dir).run(runner)\n      File \"/edx/app/edxapp/venvs/edxapp-sandbox/local/lib/python2.7/site-packages/setuptools/sandbox.py\", line 285, in run\n        return func()\n      File \"/edx/app/edxapp/venvs/edxapp-sandbox/local/lib/python2.7/site-packages/setuptools/sandbox.py\", line 253, in runner\n        _execfile(setup_script, ns)\n      File \"/edx/app/edxapp/venvs/edxapp-sandbox/local/lib/python2.7/site-packages/setuptools/sandbox.py\", line 47, in _execfile\n        exec(code, globals, locals)\n      File \"/tmp/easy_install-_lNJnb/numpy-1.13.0rc2/setup.py\", line 392, in <module>\n    \n      File \"/tmp/easy_install-_lNJnb/numpy-1.13.0rc2/setup.py\", line 384, in setup_package\n    \n      File \"/tmp/easy_install-_lNJnb/numpy-1.13.0rc2/numpy/distutils/core.py\", line 169, in setup\n      File \"/usr/lib/python2.7/distutils/core.py\", line 151, in setup\n        dist.run_commands()\n      File \"/usr/lib/python2.7/distutils/dist.py\", line 953, in run_commands\n        self.run_command(cmd)\n      File \"/usr/lib/python2.7/distutils/dist.py\", line 972, in run_command\n        cmd_obj.run()\n      File \"/edx/app/edxapp/venvs/edxapp-sandbox/local/lib/python2.7/site-packages/setuptools/command/bdist_egg.py\", line 152, in run\n        self.run_command(\"egg_info\")\n      File \"/usr/lib/python2.7/distutils/cmd.py\", line 326, in run_command\n        self.distribution.run_command(command)\n      File \"/usr/lib/python2.7/distutils/dist.py\", line 972, in run_command\n        cmd_obj.run()\n      File \"/tmp/easy_install-_lNJnb/numpy-1.13.0rc2/numpy/distutils/command/egg_info.py\", line 26, in run\n      File \"/usr/lib/python2.7/distutils/cmd.py\", line 326, in run_command\n        self.distribution.run_command(command)\n      File \"/usr/lib/python2.7/distutils/dist.py\", line 972, in run_command\n        cmd_obj.run()\n      File \"/tmp/easy_install-_lNJnb/numpy-1.13.0rc2/numpy/distutils/command/build_src.py\", line 148, in run\n      File \"/tmp/easy_install-_lNJnb/numpy-1.13.0rc2/numpy/distutils/command/build_src.py\", line 159, in build_sources\n      File \"/tmp/easy_install-_lNJnb/numpy-1.13.0rc2/numpy/distutils/command/build_src.py\", line 294, in build_library_sources\n      File \"/tmp/easy_install-_lNJnb/numpy-1.13.0rc2/numpy/distutils/command/build_src.py\", line 377, in generate_sources\n      File \"numpy/core/setup.py\", line 674, in get_mathlib_info\n    \n    RuntimeError: Brokentoolchain: cannot link a simple C program\n    \n    ----------------------------------------\n\n:stderr: Command \"python setup.py egg_info\" failed with error code 1 in /tmp/pip-build-I9rhjg/matplotlib/\n"}

Solution

This problem occurred in open-release/ficus.3.  It has been fixed on the open-release/ficus.master branch.  Install with "open-release/ficus.master" instead of ficus.3.