Skip to content

Commit 40dc73c

Browse files
ViralBShahsimeonschaub
authored andcommitted
Update build dependencies (JuliaLang#36123)
C/C++ compiler based on LLVM recommendation: https://llvm.org/docs/GettingStarted.html#host-c-toolchain-both-compiler-and-standard-library Powershell based on: https://julialang.org/downloads/platform/#windows Remove version numbers for the libraries in deps since they are quite out of date, and change frequently. Instead point to Versions.make. [ci skip]
1 parent 6c54ef7 commit 40dc73c

File tree

1 file changed

+16
-13
lines changed

1 file changed

+16
-13
lines changed

doc/build/build.md

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ Notes for various architectures:
144144
Building Julia requires that the following software be installed:
145145

146146
- **[GNU make]** — building dependencies.
147-
- **[gcc & g++][gcc]** (>= 4.7) or **[Clang][clang]** (>= 3.1, Xcode 4.3.3 on macOS) — compiling and linking C, C++.
147+
- **[gcc & g++][gcc]** (>= 5.1) or **[Clang][clang]** (>= 3.5, >= 6.0 for Apple Clang) — compiling and linking C, C++.
148148
- **[libatomic][gcc]** — provided by **[gcc]** and needed to support atomic operations.
149149
- **[python]** (>=2.7) — needed to build LLVM.
150150
- **[gfortran]** — compiling and linking Fortran libraries.
@@ -155,6 +155,7 @@ Building Julia requires that the following software be installed:
155155
- **[patch]** — for modifying source code.
156156
- **[cmake]** (>= 3.4.3) — needed to build `libgit2`.
157157
- **[pkg-config]** — needed to build `libgit2` correctly, especially for proxy support.
158+
- **[powershell]** (>= 3.0) — necessary only on Windows.
158159

159160
On Debian-based distributions (e.g. Ubuntu), you can easily install them with `apt-get`:
160161
```
@@ -164,25 +165,26 @@ sudo apt-get install build-essential libatomic1 python gfortran perl wget m4 cma
164165
Julia uses the following external libraries, which are automatically
165166
downloaded (or in a few cases, included in the Julia source
166167
repository) and then compiled from source the first time you run
167-
`make`:
168+
`make`. The specific version numbers of these libraries that Julia
169+
uses are listed in [`deps/Versions.make`](https://github.com/JuliaLang/julia/blob/master/deps/Versions.make):
168170

169171
- **[LLVM]** (9.0 + [patches](https://github.com/JuliaLang/julia/tree/master/deps/patches)) — compiler infrastructure (see [note below](#llvm)).
170172
- **[FemtoLisp]** — packaged with Julia source, and used to implement the compiler front-end.
171173
- **[libuv]** (custom fork) — portable, high-performance event-based I/O library.
172174
- **[OpenLibm]** — portable libm library containing elementary math functions.
173175
- **[DSFMT]** — fast Mersenne Twister pseudorandom number generator library.
174-
- **[OpenBLAS]** — fast, open, and maintained [basic linear algebra subprograms (BLAS)](https://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms) library, based on [Kazushige Goto's](https://en.wikipedia.org/wiki/Kazushige_Goto) famous [GotoBLAS](https://www.tacc.utexas.edu/research-development/tacc-software/gotoblas2) (see [note below](#blas-and-lapack)).
175-
- **[LAPACK]** (>= 3.5) — library of linear algebra routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems.
176+
- **[OpenBLAS]** — fast, open, and maintained [basic linear algebra subprograms (BLAS)]
177+
- **[LAPACK]** — library of linear algebra routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems.
176178
- **[MKL]** (optional) – OpenBLAS and LAPACK may be replaced by Intel's MKL library.
177-
- **[SuiteSparse]** (>= 4.1) — library of linear algebra routines for sparse matrices.
178-
- **[PCRE]** (>= 10.00) — Perl-compatible regular expressions library.
179-
- **[GMP]** (>= 5.0) — GNU multiple precision arithmetic library, needed for `BigInt` support.
180-
- **[MPFR]** (>= 4.0) — GNU multiple precision floating point library, needed for arbitrary precision floating point (`BigFloat`) support.
181-
- **[libgit2]** (>= 0.23) — Git linkable library, used by Julia's package manager.
182-
- **[curl]** (>= 7.50) — libcurl provides download and proxy support for Julia's package manager.
183-
- **[libssh2]** (>= 1.7) — library for SSH transport, used by libgit2 for packages with SSH remotes.
184-
- **[mbedtls]** (>= 2.2) — library used for cryptography and transport layer security, used by libssh2
185-
- **[utf8proc]** (>= 2.1) — a library for processing UTF-8 encoded Unicode strings.
179+
- **[SuiteSparse]** — library of linear algebra routines for sparse matrices.
180+
- **[PCRE]** — Perl-compatible regular expressions library.
181+
- **[GMP]** — GNU multiple precision arithmetic library, needed for `BigInt` support.
182+
- **[MPFR]** — GNU multiple precision floating point library, needed for arbitrary precision floating point (`BigFloat`) support.
183+
- **[libgit2]** — Git linkable library, used by Julia's package manager.
184+
- **[curl]** — libcurl provides download and proxy support for Julia's package manager.
185+
- **[libssh2]** — library for SSH transport, used by libgit2 for packages with SSH remotes.
186+
- **[mbedtls]** — library used for cryptography and transport layer security, used by libssh2
187+
- **[utf8proc]** — a library for processing UTF-8 encoded Unicode strings.
186188
- **[libosxunwind]** — fork of [libunwind], a library that determines the call-chain of a program.
187189

188190
[GNU make]: https://www.gnu.org/software/make
@@ -217,6 +219,7 @@ repository) and then compiled from source the first time you run
217219
[libssh2]: https://www.libssh2.org
218220
[mbedtls]: https://tls.mbed.org/
219221
[pkg-config]: https://www.freedesktop.org/wiki/Software/pkg-config/
222+
[powershell]: https://docs.microsoft.com/en-us/powershell/scripting/wmf/overview
220223

221224
## Build dependencies
222225

0 commit comments

Comments
 (0)