# PackageCompiler error creating sysimage

**URL:** https://discourse.julialang.org/t/packagecompiler-error-creating-sysimage/75710
**Category:** General Usage
**Tags:** package-compiler, sysimage
**Created:** [February 3, 2022, 8:24am UTC](https://discourse.julialang.org/t/packagecompiler-error-creating-sysimage/75710 "2022-02-03T08:24:27Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![notthetup](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/notthetup/32/31254_2.png) [@notthetup](https://discourse.julialang.org/u/notthetup)
#### Post date: [February 3, 2022, 8:24am UTC](https://discourse.julialang.org/t/packagecompiler-error-creating-sysimage/75710/1 "2022-02-03T08:24:27Z")

</div>

Hello,

I’m having issues using PackageCompiler on a Linux on aarch64(nVidia Jetson TX2) machine. Running through the [basic example from the documentation](https://julialang.github.io/PackageCompiler.jl/stable/sysimages.html) causes this error.

```julia
julia> create_sysimage(["Example"]; sysimage_path="ExampleSysimage.so")
⣠ [01m:01s] PackageCompiler: compiling incremental system imagefatal: error thrown and no exception handler available.
StackOverflowError()
⣄ [01m:01s] PackageCompiler: compiling incremental system imagejl_serialize_value_ at /buildworker/worker/package_linuxaarch64/build/src/staticdata.c:421
jl_serialize_value_ at /buildworker/worker/package_linuxaarch64/build/src/staticdata.c:458
⢰ [01m:02s] PackageCompiler: compiling incremental system image
ERROR: failed process: Process(`/usr/lib/julia/bin/julia --color=yes --startup-file=no --cpu-target=native -O3 --sysimage=/usr/lib/julia/lib/julia/sys.so --project=/home/ubuntu/NewSysImageEnv --output-o=/tmp/jl_kOZ89J.o /tmp/jl_215v2A`, ProcessExited(1)) [1]

Stacktrace:
 [1] pipeline_error
   @ ./process.jl:531 [inlined]
 [2] run(::Cmd; wait::Bool)
   @ Base ./process.jl:446
 [3] run
   @ ./process.jl:444 [inlined]
 [4] #14
   @ ~/.julia/packages/PackageCompiler/tdgyo/ext/TerminalSpinners.jl:157 [inlined]
 [5] spin(f::PackageCompiler.var"#14#15"{Cmd}, s::PackageCompiler.TerminalSpinners.Spinner{Base.TTY})
   @ PackageCompiler.TerminalSpinners ~/.julia/packages/PackageCompiler/tdgyo/ext/TerminalSpinners.jl:164
 [6] macro expansion
   @ ~/.julia/packages/PackageCompiler/tdgyo/ext/TerminalSpinners.jl:157 [inlined]
 [7] create_sysimg_object_file(object_file::String, packages::Vector{String}, packages_sysimg::Set{Base.PkgId}; project::String, base_sysimage::String, precompile_execution_file::Vector{String}, precompile_statements_file::Vector{String}, cpu_target::String, script::Nothing, sysimage_build_args::Cmd, extra_precompiles::String)
   @ PackageCompiler ~/.julia/packages/PackageCompiler/tdgyo/src/PackageCompiler.jl:356
 [8] create_sysimage(packages::Vector{String}; sysimage_path::String, project::String, precompile_execution_file::Vector{String}, precompile_statements_file::Vector{String}, incremental::Bool, filter_stdlibs::Bool, cpu_target::String, script::Nothing, sysimage_build_args::Cmd, include_transitive_dependencies::Bool, base_sysimage::Nothing, julia_init_c_file::Nothing, version::Nothing, soname::Nothing, compat_level::String, extra_precompiles::String)
   @ PackageCompiler ~/.julia/packages/PackageCompiler/tdgyo/src/PackageCompiler.jl:507
 [9] top-level scope
   @ REPL[6]:1

```

I’m on Julia 1.7.1

```julia
julia> versioninfo()
Julia Version 1.7.1
Commit ac5cc99908 (2021-12-22 19:35 UTC)
Platform Info:
  OS: Linux (aarch64-unknown-linux-gnu)
  CPU: unknown
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-12.0.1 (ORCJIT, cortex-a57)

```

Any ideas what is happening here?

---

<div class="post-metadata">

### Author: ![notthetup](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/notthetup/32/31254_2.png) [@notthetup](https://discourse.julialang.org/u/notthetup)
#### Post date: [February 3, 2022, 10:06am UTC](https://discourse.julialang.org/t/packagecompiler-error-creating-sysimage/75710/2 "2022-02-03T10:06:49Z")

</div>

I’m not sure if it’s related to this ARM CPU JIT issue [Segfault during JIT memory invalidation · Issue #41852 · JuliaLang/julia · GitHub](https://github.com/JuliaLang/julia/issues/41852) but seems similar to the `create_app` issue although it’s coming from different location…

> [@Segfault when using PackageCompiler on aarch64 on Julia 1.6.0 and up](https://discourse.julialang.org/t/segfault-when-using-packagecompiler-on-aarch64-on-julia-1-6-0-and-up/60722):
>
> It worked just fine before upgrading to Julia 1.6.0. Now when I try to use compile\_app it gives a segfault part way through. It doesn’t crash, but I haven’t tried waiting long after the segfault. [westly08:06~]$ julia -q --project julia\> using PackageCompiler julia\> create\_app("EPUBCreate", "EPUBCreate-linux-aarch64-bin") 0 dependencies successfully precompiled in 6 seconds (20 already precompiled) 1 dependency errored. To see a full report either run `import Pkg; Pkg.precompile()` or lo…

---

<div class="post-metadata">

### Author: ![cirobr](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cirobr/32/219994_2.png) [@cirobr](https://discourse.julialang.org/u/cirobr)
#### Post date: [May 7, 2023, 11:31am UTC](https://discourse.julialang.org/t/packagecompiler-error-creating-sysimage/75710/3 "2023-05-07T11:31:04Z")

</div>

Cheers,

I am using PackageCompiler to creating a sysimage for a Raspberry Pi 3 device. Per its documentation, MCU is a BCM 2837, AArch64, ARM Cortex-A53. Sysimage is being created on a much larger Linux instance, but also AArch64.

The following attempts created sysimages that ran smoothly at the larger system, but failed at the raspberry pi:

```julia
create_sysimage(["Flux", "CUDA"]; sysimage_path="img.so")
create_sysimage(["Flux", "CUDA"]; sysimage_path="img.so", cpu_target="generic")
create_sysimage(["Flux", "CUDA"]; sysimage_path="img.so", cpu_target="cortex-a53")

```

On the first case, the following error occurred:

```julia
ERROR: Unable to find compatible target in system image.

```

For the other cases, error is as follows:

```julia
fatal: error thrown and no exception handler available.
InitError(mod=:LLVMExtra_jll, error=ErrorException("Cannot locate artifact 'LLVMExtra' in '/home/ubuntu/.julia/packages/LLVMExtra_jll/Yq3Eb/Artifacts.toml'"))
error at ./error.jl:35
#ensure_artifact_installed#22 at /cache/build/default-armageddon-4/julialang/julia-release-1-dot-8/usr/share/julia/stdlib/v1.8/Pkg/src/Artifacts.jl:405
unknown function (ip: 0xffff946f03a7)
_jl_invoke at /cache/build/default-armageddon-4/julialang/julia-release-1-dot-8/src/gf.c:2377 [inlined]
ijl_apply_generic at /cache/build/default-armageddon-4/julialang/julia-release-1-dot-8/src/gf.c:2559
ensure_artifact_installed##kw at /cache/build/default-armageddon-4/julialang/julia-release-1-dot-8/usr/share/julia/stdlib/v1.8/Pkg/src/Artifacts.jl:397
unknown function (ip: 0xffff946f0127)
_jl_invoke at /cache/build/default-armageddon-4/julialang/julia-release-1-dot-8/src/gf.c:2377 [inlined]
ijl_apply_generic at /cache/build/default-armageddon-4/julialang/julia-release-1-dot-8/src/gf.c:2559
_artifact_str at /cache/build/default-armageddon-4/julialang/julia-release-1-dot-8/usr/share/julia/stdlib/v1.8/Artifacts/src/Artifacts.jl:548
jfptr__artifact_str_64644 at /home/ciro/flux-env/unetfluxarmgen.so (unknown line)
_jl_invoke at /cache/build/default-armageddon-4/julialang/julia-release-1-dot-8/src/gf.c:2377 [inlined]
ijl_apply_generic at /cache/build/default-armageddon-4/julialang/julia-release-1-dot-8/src/gf.c:2559
jl_apply at /cache/build/default-armageddon-4/julialang/julia-release-1-dot-8/src/julia.h:1843 [inlined]
jl_f__call_latest at /cache/build/default-armageddon-4/julialang/julia-release-1-dot-8/src/builtins.c:774
#invokelatest#2 at ./essentials.jl:729 [inlined]
invokelatest at ./essentials.jl:726 [inlined]
macro expansion at /cache/build/default-armageddon-4/julialang/julia-release-1-dot-8/usr/share/julia/stdlib/v1.8/Artifacts/src/Artifacts.jl:690 [inlined]
find_artifact_dir at /home/ubuntu/.julia/packages/JLLWrappers/QpMQW/src/wrapper_generators.jl:13 [inlined]
__init__ at /home/ubuntu/.julia/packages/LLVMExtra_jll/Yq3Eb/src/wrappers/aarch64-linux-gnu-cxx11-llvm_version+13.jl:7
jfptr ___init___ 79790 at /home/ciro/flux-env/unetfluxarmgen.so (unknown line)
_jl_invoke at /cache/build/default-armageddon-4/julialang/julia-release-1-dot-8/src/gf.c:2377 [inlined]
ijl_apply_generic at /cache/build/default-armageddon-4/julialang/julia-release-1-dot-8/src/gf.c:2559
jl_apply at /cache/build/default-armageddon-4/julialang/julia-release-1-dot-8/src/julia.h:1843 [inlined]
jl_module_run_initializer at /cache/build/default-armageddon-4/julialang/julia-release-1-dot-8/src/toplevel.c:75
_finish_julia_init at /cache/build/default-armageddon-4/julialang/julia-release-1-dot-8/src/init.c:765
julia_init at /cache/build/default-armageddon-4/julialang/julia-release-1-dot-8/src/init.c:698
jl_repl_entrypoint at /cache/build/default-armageddon-4/julialang/julia-release-1-dot-8/src/jlapi.c:713
main at julia (unknown line)
unknown function (ip: 0xffffbd3973fb)
__libc_start_main at /lib/aarch64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x4009ab)
unknown function (ip: 0x4009ab)

```

Julia’s developers documentation indicates usage of the flag  
`MCPU=armv8-a`  
that is apparently not accepted by create\_sysimage.

Any advise is appreciated. Thanks.
