Installation Guide
Here are the installation instructions for package Spglib. If you have trouble installing it, please refer to our Troubleshooting page for more information.
Install Julia
First, you should install Julia. We recommend downloading it from its official website. Please follow the detailed instructions on its website if you have to build Julia from source. Some computing centers provide preinstalled Julia. Please contact your administrator for more information in that case. Here's some additional information on how to set up Julia on HPC clusters.
If you have Homebrew installed, open the Terminal app and type
brew install julia
to install it as a formula.
If you are also using macOS and want to install it as a prebuilt binary app, type
brew install --cask julia
instead.
If you want to install multiple Julia versions in the same operating system, a recommended way is to use a version manager such as Juliaup. First, install Juliaup. Then, run
juliaup add release
juliaup default release
to configure the julia
command to start the latest stable version of Julia (this is also the default value).
Here is a short video introduction to Juliaup made by its authors.
Which version should I pick?
You can install the current stable release or the long-term support (LTS) release.
- The current stable release is the latest release of Julia. It has access to newer features, and is likely faster.
- The long-term support release is an older version of Julia that has continued to receive bug and security fixes. However, it may not have the latest features or performance improvements.
For most users, you should install the current stable release, and whenever Julia releases a new version of the current stable release, you should update your version of Julia. Note that any code you write on one version of the current stable release will continue to work on all subsequent releases.
For users in restricted software environments (e.g., your enterprise IT controls what software you can install), you may be better off installing the long-term support release because you will not have to update Julia as frequently.
Versions above v1.3
, especially the latest stable ones, are strongly recommended. This package is highly unlikely to work on v1.0
and earlier versions. Since the Julia team has set v1.6
as the LTS release, we will gradually drop support for versions below v1.6
.
Julia and Julia packages support multiple operating systems and CPU architectures; check this table to see if it can be installed on your machine. For Mac computers with M-series processors, this package and its dependencies may not work. Please install the Intel-compatible version of Julia (for macOS x86-64) if any platform-related error occurs.
Install the package
Now I am using macOS as a standard platform to explain the following steps:
Open the Terminal app, and type
julia
to start an interactive session (known as the REPL).Run the following commands and wait for them to finish:
julia> using Pkg julia> Pkg.update() julia> Pkg.add("Spglib")
Run
julia> using Spglib
and have fun!
Please keep the Julia session active while using it. Restarting the session may take some time.
If you want to install the latest in-development (probably buggy) version of Spglib, type
julia> using Pkg
julia> Pkg.update()
Updating registry at `~/.julia/registries/General.toml` Installed LLVMOpenMP_jll ────── v15.0.7+0 Installed spglib_jll ────────── v1.16.5+0 Installed Spglib ────────────── v0.7.0 Installed CrystallographyCore ─ v0.6.3 Updating `~/work/Spglib.jl/Spglib.jl/docs/Project.toml` [80545937] ↑ CrystallographyCore v0.3.3 ⇒ v0.6.3 ⌃ [f761d5c5] ↓ Spglib v0.9.3 ⇒ v0.7.0 Updating `~/work/Spglib.jl/Spglib.jl/docs/Manifest.toml` [80545937] ↑ CrystallographyCore v0.3.3 ⇒ v0.6.3 [1914dd2f] - MacroTools v0.5.13 ⌃ [f761d5c5] ↓ Spglib v0.9.3 ⇒ v0.7.0 [8e1ec7a9] - SumTypes v0.5.5 [1d63c593] + LLVMOpenMP_jll v15.0.7+0 ⌅ [ac4a9f1e] ↓ spglib_jll v2.1.0+0 ⇒ v1.16.5+0 Info Packages marked with ⌃ and ⌅ have new versions available. Those with ⌃ may be upgradable, but those with ⌅ are restricted by compatibility constraints from upgrading. To see why use `status --outdated -m` Precompiling project... ✓ LLVMOpenMP_jll ✓ CrystallographyCore ✓ spglib_jll ✓ Spglib 4 dependencies successfully precompiled in 1 seconds. 27 already precompiled. 3 dependencies precompiled but different versions are currently loaded. Restart julia to access the new versions
julia> pkg"add https://github.com/singularitti/Spglib.jl"
┌ Warning: The Pkg REPL mode is intended for interactive use only, and should not be used from scripts. It is recommended to use the functional API instead. └ @ Pkg.REPLMode /opt/hostedtoolcache/julia/1.10.0/x64/share/julia/stdlib/v1.10/Pkg/src/REPLMode/REPLMode.jl:382 Cloning git-repo `https://github.com/singularitti/Spglib.jl` Updating git-repo `https://github.com/singularitti/Spglib.jl` Resolving package versions... Updating `~/work/Spglib.jl/Spglib.jl/docs/Project.toml` ⌅ [80545937] ↓ CrystallographyCore v0.6.3 ⇒ v0.3.3 [f761d5c5] ~ Spglib v0.7.0 ⇒ v0.9.4 `https://github.com/singularitti/Spglib.jl#main` Updating `~/work/Spglib.jl/Spglib.jl/docs/Manifest.toml` ⌅ [80545937] ↓ CrystallographyCore v0.6.3 ⇒ v0.3.3 [f761d5c5] ~ Spglib v0.7.0 ⇒ v0.9.4 `https://github.com/singularitti/Spglib.jl#main` [1d63c593] - LLVMOpenMP_jll v15.0.7+0 ⌅ [ac4a9f1e] ↑ spglib_jll v1.16.5+0 ⇒ v2.1.0+0 Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated -m` Precompiling project... ✓ spglib_jll ✓ CrystallographyCore ✓ Spglib 3 dependencies successfully precompiled in 2 seconds. 27 already precompiled. 3 dependencies precompiled but different versions are currently loaded. Restart julia to access the new versions
in the second step above.
Update the package
Please watch our GitHub repository for new releases. Once we release a new version, you can update Spglib by typing
julia> using Pkg
julia> Pkg.update("Spglib")
Updating registry at `~/.julia/registries/General.toml` Updating git-repo `https://github.com/singularitti/Spglib.jl` No Changes to `~/work/Spglib.jl/Spglib.jl/docs/Project.toml` No Changes to `~/work/Spglib.jl/Spglib.jl/docs/Manifest.toml`
julia> Pkg.gc()
Active manifest files: 3 found Active artifact files: 7 found Active scratchspaces: 0 found Deleted no artifacts, repos, packages or scratchspaces
in the Julia REPL.
Uninstall and then reinstall the package
Sometimes errors may occur if the package is not properly installed. In this case, you may want to uninstall and reinstall the package. Here is how to do that:
To uninstall, in a Julia session, run
julia> using Pkg julia> Pkg.rm("Spglib") julia> Pkg.gc()
Press
Ctrl+D
to quit the current session. Start a new Julia session and reinstall Spglib.