Environment Variables
BinaryBuilder.jl
supports multiple environment variables to modify its behavior globally:
BINARYBUILDER_AUTOMATIC_APPLE
: when set totrue
, this automatically agrees to the Apple macOS SDK license agreement, enabling the building of binary objects for macOS systems.BINARYBUILDER_USE_SQUASHFS
: when set totrue
, this uses.squashfs
images instead of tarballs to download cross-compiler shards. This consumes significantly less space on-disk and boasts a modest reduction in download size as well, but requiressudo
on the local machine to mount the.squashfs
images. This is used by default on Travis, as the disk space requirements are tight. This is always used on OSX, as the QEMU runner always usessquashfs
images.BINARYBUILDER_DOWNLOADS_CACHE
: When set to a path, cross-compiler shards will be downloaded to this location, instead of the default location of<binarybuilder_root>/deps/downloads
.BINARYBUILDER_ROOTFS_DIR
: When set to a path, the base root FS will be unpacked/mounted to this location, instead of the default location of<binarybuilder_root>/deps/root
. Shards will be bind-mounted into this root directory, depending on the runner used.BINARYBUILDER_SHARDS_DIR
: When set to a path, cross-compiler shards will be unpacked to this location, instead of the default location of<binarybuilder_root>/deps/shards
.BINARYBUILDER_QEMU_DIR
: When set to a path, qemu/the linux kernel will be installed here (if using theQemuRunner
) instead of the default location of<binarybuilder_root>/deps/qemu
BINARYBUILDER_RUNNER
: When set to a runner string, alters the execution engine thatBinaryBuilder.jl
will use to wrap the build process in a sandbox. Valid values are one of"userns"
,"privileged"
and"qemu"
. If not given,BinaryBuilder.jl
will do its best to guess.BINARYBUILDER_ALLOW_ECRYPTFS
: When set totrue
, this allows the mounting of rootfs/shard/workspace directories from within encrypted mounts. This is disabled by default, as at the time of writing, this triggers kernel bugs. To avoid these kernel bugs on a system where e.g. the home directory has been encrypted, set theBINARYBUILDER_ROOTFS_DIR
andBINARYBUILDER_SHARDS_DIR
environment variables to a path outside of the encrypted home directory.BINARYBUILDER_USE_CCACHE
: When set totrue
, this causes a/root/.ccache
volume to be mounted within the build environment, and for theCC
,CXX
andFC
environment variables to haveccache
prepended to them. This can significantly accelerate rebuilds of the same package on the same host. Note thatccache
will, by default, store 5G of cached data.BINARYBUILDER_SANDBOX_PATH
: When set to a valid executable path, overrides the user namespace runner's choice ofsandbox
executable. This is mostly useful for developing newsandbox
executables.