julia

This is an old revision of the document!


Julia is a high-level, high-performance dynamic language for technical computing. The main homepage for Julia can be found at https://julialang.org.

This page will record related ecosystem between FreeBSD and Julia.

The package manager of julia v0.6 is Pkg, which is part of standard library. If a package requires one or more native extensions, like C or Fortran libraries, Pkg.install("...") will invoke the Pkg.build("..."), then it will spawn a standalone julia process with the script deps/build.jl.

Usually, build.jl script relies on BinDeps.jl to

  1. Checks the availability of native libraries.
  1. If not available, manage to install prebuilt binary via OS's package manager (note that current implementation (ps. when I write down these words, it's v0.8.8) will invoke sudo).
  1. If not prebuilt binary available, manage to build from source.
  1. Otherwise, Pkg.build throws exception of build failure.

Since BinDeps.jl v0.6.0, FreeBSD's package manager pkg has been supported (see https://github.com/JuliaLang/BinDeps.jl/pull/296). There is a julia struct BSDPkg to provide related features.

Example Usage

If you encounter similar problem of installing native libraries, please checkout these patches.

  • julia.1525600259.txt.gz
  • Last modified: 2018/05/06 09:50
  • by IblisLin