From a0cec60d7ae56c560c38bd8891f4b4b0f04b1a4d Mon Sep 17 00:00:00 2001 From: Curtis Vogt Date: Mon, 19 Sep 2016 13:58:44 -0500 Subject: [PATCH] Update require build tools in README (#18530) * Update require build tools Notes: - LLVM fails to build unless you have Python 2.7+ installed: - cmake fails to build libgit2 unless the version is at least 3.1.2. For details see: https://cmake.org/Bug/view.php?id=15386 * Fix Python link * Add build troubleshooting row * Remove CMake version requirement --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index bf89ab33271bf..094b3fba994a3 100644 --- a/README.md +++ b/README.md @@ -217,6 +217,7 @@ Install or contact your systems administrator to install a more recent version o ------------------------|--------------------- OpenBLAS build failure | Set one of the following build options in `Make.user` and build again:

If you get an error that looks like ```../kernel/x86_64/dgemm_kernel_4x4_haswell.S:1709: Error: no such instruction: `vpermpd $ 0xb1,%ymm0,%ymm0'```, then you need to set `OPENBLAS_DYNAMIC_ARCH = 0` or `OPENBLAS_NO_AVX2 = 1`, or you need a newer version of `binutils` (2.18 or newer). ([Issue #7653](https://github.com/JuliaLang/julia/issues/7653)) Illegal Instruction error | Check if your CPU supports AVX while your OS does not (e.g. through virtualization, as described in [this issue](https://github.com/JuliaLang/julia/issues/3263)). +LibGit2 build failure | If LibGit2 configuration step reports `CMake Error at /usr/share/cmake-3.0/Modules/FindOpenSSL.cmake:294 (list):` then the versions of [OpenSSL and CMake are probably incompatible](https://cmake.org/Bug/view.php?id=15386). The recommended solution is to upgrade the version of CMake to 3.1.2 or above. ### OS X @@ -266,6 +267,7 @@ Building Julia requires that the following software be installed: - **[GNU make]** — building dependencies. - **[gcc & g++][gcc]** (>= 4.7) or **[Clang][clang]** (>= 3.1, Xcode 4.3.3 on OS X) — compiling and linking C, C++ +- **[python]** (>=2.7) - needed to build LLVM. - **[gfortran]** — compiling and linking Fortran libraries - **[perl]** — preprocessing of header files of libraries. - **[wget]**, **[curl]**, or **[fetch]** (FreeBSD) — to automatically download external libraries. @@ -273,7 +275,7 @@ Building Julia requires that the following software be installed: - **[patch]** — for modifying source code. - **[cmake]** — needed to build `libgit2`. - **[openssl]** — needed for HTTPS support in `libgit2` on Linux, install via `apt-get install libssl-dev` or `yum install openssl-devel`. -- **[pkg-config]** - needed to build libgit2 correctly, especially for proxy support +- **[pkg-config]** - needed to build `libgit2` correctly, especially for proxy support Julia uses the following external libraries, which are automatically downloaded (or in a few cases, included in the Julia source repository) and then compiled from source the first time you run `make`: @@ -308,6 +310,7 @@ For a longer overview of Julia's dependencies, see these [slides](https://github [m4]: http://www.gnu.org/software/m4 [gcc]: http://gcc.gnu.org [clang]: http://clang.llvm.org +[python]: https://www.python.org/ [gfortran]: https://gcc.gnu.org/fortran/ [curl]: http://curl.haxx.se [fetch]: http://www.freebsd.org/cgi/man.cgi?fetch(1)