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 julialang.org.
The port for FreeBSD is available at lang/julia. This page will record related ecosystem between FreeBSD and Julia.
Install a Package Required Native Extension
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
- Checks the availability of native libraries.
- 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).
- If not prebuilt binary available, manage to build from source.
- Otherwise,
Pkg.buildthrows 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.
Slack Channel
There is a #freebsd slack channel on julialang.slack.com.
This is a public slack, you can get invitation from https://slackinvite.julialang.org.