Hi.
I am attempting to build an application with create_app
that will run on a Raspberry Pi 5 (8 GB RAM). I am therefore also compiling my application on the PI. The PI is running the latest Rasbian and is a 64-bit device. Iβm running on a 16 GB SD card for the OS, but is outputting the application to a memory stick with lots of storage space.
The code is not massive, but it takes forever to compile, and has thus far, crashed every time.
julia> versioninfo()
Julia Version 1.10.4
Commit 48d4fd48430 (2024-06-04 10:41 UTC)
Build Info:
Official https://julialang.org/ release
Platform Info:
OS: Linux (aarch64-linux-gnu)
CPU: 4 Γ Cortex-A76
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-15.0.7 (ORCJIT, cortex-a76)
Threads: 4 default, 0 interactive, 2 GC (on 4 virtual cores)
Environment:
JULIA_CONDAPKG_BACKEND = Null
JULIA_PYTHONCALL_EXE = /usr/bin/python3
JULIA_NUM_THREADS = 4
julia> create_app(".", "/home/myUser/storage/MyApp", incremental=true, force=true)
PackageCompiler: bundled libraries:
βββ Base:
β βββ libLLVM-15jl.so - 80.875 MiB
β βββ libatomic.so.1.2.0 - 241.727 KiB
β βββ libdSFMT.so - 65.727 KiB
β βββ libgcc_s.so.1 - 582.016 KiB
β βββ libgfortran.so.5.0.0 - 6.107 MiB
β βββ libgmp.so.10.4.1 - 475.820 KiB
β βββ libgmpxx.so.4.6.1 - 38.641 KiB
β βββ libgomp.so.1.0.0 - 1.435 MiB
β βββ libjulia-codegen.so.1.10.4 - 64.452 MiB
β βββ libjulia-internal.so.1.10.4 - 12.554 MiB
β βββ libmpfr.so.6.2.0 - 2.515 MiB
β βββ libopenlibm.so.4.0 - 430.963 KiB
β βββ libpcre2-8.so.0.11.2 - 567.703 KiB
β βββ libssp.so.0.0.0 - 89.047 KiB
β βββ libstdc++.so.6.0.32 - 19.951 MiB
β βββ libunwind.so.8.0.1 - 579.992 KiB
β βββ libuv.so.2.0.0 - 718.633 KiB
β βββ libz.so.1.2.13 - 106.587 KiB
β βββ libjulia.so.1.10.4 - 265.258 KiB
βββ Stdlibs:
β βββ LibGit2_jll
β β βββ libgit2.so.1.6.4 - 1.403 MiB
β βββ SuiteSparse_jll
β β βββ libamd.so.3.2.1 - 65.516 KiB
β β βββ libbtf.so.2.2.1 - 65.117 KiB
β β βββ libcamd.so.3.2.1 - 65.555 KiB
β β βββ libccolamd.so.3.2.1 - 65.586 KiB
β β βββ libcholmod.so.4.2.1 - 1.159 MiB
β β βββ libcolamd.so.3.2.1 - 65.289 KiB
β β βββ libklu.so.2.2.1 - 195.539 KiB
β β βββ libldl.so.3.2.1 - 65.383 KiB
β β βββ librbio.so.4.2.1 - 65.453 KiB
β β βββ libspqr.so.4.2.1 - 415.094 KiB
β β βββ libsuitesparseconfig.so.7.2.1 - 14.149 KiB
β β βββ libumfpack.so.6.2.1 - 716.008 KiB
β βββ libblastrampoline_jll
β β βββ libblastrampoline.so.5 - 2.673 MiB
β βββ OpenBLAS_jll
β β βββ libopenblas64_.0.3.23.so - 22.221 MiB
β βββ LibSSH2_jll
β β βββ libssh2.so.1.0.1 - 327.594 KiB
β βββ LibCURL_jll
β β βββ libcurl.so.4.8.0 - 650.422 KiB
β βββ MbedTLS_jll
β β βββ libmbedcrypto.so.2.28.2 - 645.416 KiB
β β βββ libmbedtls.so.2.28.2 - 267.172 KiB
β β βββ libmbedx509.so.2.28.2 - 202.734 KiB
β βββ nghttp2_jll
β β βββ libnghttp2.so.14.24.1 - 830.447 KiB
Total library file size: 224.022 MiB
PackageCompiler: bundled artifacts:
βββ FFTW_jll - 2.725 MiB
βββ HDF5_jll - 12.965 MiB
βββ Hwloc_jll - 6.790 MiB
βββ MPICH_jll - 10.584 MiB
βββ OpenSSL_jll - 8.598 MiB
βββ OpenSpecFun_jll - 487.436 KiB
βββ ZeroMQ_jll - 884.858 KiB
βββ libaec_jll - 211.364 KiB
βββ libsodium_jll - 4.119 MiB
βββ oneTBB_jll - 1.713 MiB
Total artifact file size: 49.039 MiB
Precompiling project...
69 dependencies successfully precompiled in 91 seconds. 6 already precompiled.
β’° [06h:45m:35s] PackageCompiler: compiling incremental system image
β Warning: Free system memory dropped to 42.031 MiB during sysimage compilation.
β If the reason the subprocess errored isn't clear, it may have been OOM-killed.
β @ PackageCompiler ~/.julia/packages/PackageCompiler/nT5sD/src/PackageCompiler.jl:137
ERROR: failed process: Process(`/home/myUser/.julia/juliaup/julia-1.10.4+0.aarch64.linux.gnu/bin/julia --color=yes --startup-file=no --pkgimages=no --cpu-target=generic --sysimage=/home/myUser/.julia/juliaup/julia-1.10.4+0.aarch64.linux.gnu/lib/julia/sys.so --project=/home/myUser/myRepo/julia --output-o=/tmp/jl_7qTwNyT4Be.o /tmp/jl_9wxCNEbEtE`, ProcessSignaled(9)) [0]
When I run with incremental=false
, it gives the same warning, but after 45 minutes.
I have access to a lot more powerful hardware, but it seems that cross-compilation is not possible with PackageCompiler.
Do you have any recommendations on what to try next, or maybe a solution for cross-compilation?
Thanks!