Julia fully supports ARMv8 (AArch64) processors, and supports ARMv7 and ARMv6 (AArch32) with some caveats. This file provides general guidelines for compilation, in addition to instructions for specific devices.
A list ofknown issues for ARM is available. If you encounter difficulties, please create an issue including the output fromcat /proc/cpuinfo.
Julia has been successfully compiled on several variants of the following ARMv6 & ARMv7 devices:
Julia requires at least thearmv6 andvfpv2 instruction sets. It's recommended to usearmv7-a.armv5 or soft float are not supported.
If the type of ARM CPU used in the Raspberry Pi is not detected by LLVM, then explicitly set the CPU target by adding the following toMake.user:
JULIA_CPU_TARGET=arm1176jzf-sTo complete the build, you may need to increase the swap file size. To do so, edit/etc/dphys-swapfile, changing the line:
CONF_SWAPSIZE=100to:
CONF_SWAPSIZE=512before restarting the swapfile service:
sudo /etc/init.d/dphys-swapfile stopsudo /etc/init.d/dphys-swapfile startThe type of ARM CPU used in the Raspberry Pi 2 is not detected by LLVM. Explicitly set the CPU target by adding the following toMake.user:
JULIA_CPU_TARGET=cortex-a7
Depending on the exact compiler and distribution, there might be a build failure due to unsupported inline assembly. In that case, addMCPU=armv7-a toMake.user.
Julia is expected to work and build on ARMv8 cpus. One should follow the generalbuild instructions. Julia expects to have around 8GB of ram or swap enabled to build itself.
Starting from Julia v1.10,JITLink is automatically enabled on this architecture for all operating systems when linking to LLVM 15 or later versions. Due to abug in LLVM memory manager, non-trivial workloads may generate too many memory mappings that on Linux can exceed the limit of memory mappings (mmap) set in the file/proc/sys/vm/max_map_count, resulting in an error like
JIT session error: Cannot allocate memoryShould this happen, ask your system administrator to increase the limit of memory mappings for example with the command
sysctl -w vm.max_map_count=262144Settings
This document was generated withDocumenter.jl version 1.16.0 onThursday 20 November 2025. Using Julia version 1.12.2.