Stronghold
HomeServicesDocumentationBlog
  • Highly Secure Computing (Stronghold)
  • Data Management
    • SFTP Data Transfers
      • Data Imports
      • Data Exports
    • HTTPS Direct Downloads
      • FastX 3
      • FastX 2
    • Data Storage
    • Globus Transfers
      • Windows Tenants
      • Adding New Users
  • Usage
    • New Tenant Onboarding
    • Windows Environments
      • Access from Mac
      • Access from Windows
      • RDP Gateway from Mac
      • RDP Gateway from Windows
    • Linux Environments
      • FastX 3
      • FastX 2
  • Software
    • Windows Standard Software
    • Linux Standard Software
      • Julia
    • Package Archive Mirrors
      • BioConductor Mirror
      • CRAN Mirror
      • PyPI Mirror
    • Install R/Python Packages from Local File
    • Jupyter Lab on Linux Workstations
    • Changing the temporary folder for softwares
      • SAS
      • STATA
      • RStudio
    • Changing Default Package install locations on Windows
      • Python (Pypi packages)
      • R (CRAN Packages)
      • Stata packages
  • Git
    • Git Sync
    • GitLab
  • Access & Security Groups
    • User Groups
    • Lifespan Staff Access
  • Multi-Protocol Access
    • Access Same Data from Windows and Linux Workstations
Powered by GitBook
On this page
  • Introduction
  • DEPOT_PATH Variable

Was this helpful?

  1. Software
  2. Linux Standard Software

Julia

Introduction

This section briefly describes some of the nuances of using Julia in Stronghold. In particular, there are some subtle issues that we must keep in mind when using Julia in Stronghold. These subtleties are primarily related to the cache files that Julia writes as part of its normal operations.

Note that the documentation below pertains only to Julia installations that are part of Conda environment modules in Stronghold. If you are working with the "container-ized" Julia in Stronghold, then the issues discussed below do not apply.

DEPOT_PATH Variable

Julia has a built-in variable called DEPOT_PATH . The variable controls where the package manager looks for registries, installed packages, named Julia environments, cloned repos, cached compiled package images, configuration files, as well as the REPL history file. This variable is an array of directory paths on the file system. In Stronghold, the default is for DEPOT_PATH to hold only the location of the installed Julia packages for a given Conda environment. For example, in the conda/bcbi_v0.2.6 environment, the Julia DEPOT_PATH will (by default) contain only the following:

/opt/browncis/conda/envs/bcbi_v0.2.6/julia-1.2.0/local/share/julia

The Problem

The major caveat in Stronghold is that the software that is shared across workstations lives in a central read-only file system. This creates a problem when Julia tries to write cached files to the file system, since it is not write-able.

The Solution

The way we address the above problem of the read-only file system is by adding an entry to the DEPOT_PATH variable. More specifically, we will create a new directory at ~/.julia_depot and then add this as an entry to the DEPOT_PATH variable in Julia. This has a few steps, which are outlined below (note that these steps only need to be complete once).

  1. In a new Terminal window, run mkdir ~/.julia_depot to create a location for storing cache files

  2. Next, run mkdir -p ~/.julia/config to create the location for storing our startup.jl file

  3. Run touch ~/.julia/config/startup.jl to create the start-up configuration file

  4. Finally, run the command below

echo 'pushfirst!(DEPOT_PATH, "/data/home/<USERNAME>/.julia_depot")' >> ~/.julia/config/startup.jl

where <USERNAME> contains the given user's username—note that you can obtain your username by running whoami from the Linux command line.

PreviousLinux Standard SoftwareNextPackage Archive Mirrors

Last updated 5 years ago

Was this helpful?