PackageCompiler can't load library - wrong ELFCLASS32


I would like to compile a little test application, which is just using Gkt package. It runs in general, but if I try to compile it with PackageCompiler I get the following error message:

julia> create_app("CompilerTest", "bin", force=true)
[ Info: PackageCompiler: creating base system image (incremental=false)...
[ Info: PackageCompiler: creating system image object file, this might take a while...
ERROR: LoadError: LoadError: InitError: could not load library "/home/stefan/.julia/artifacts/29096e59ce220ab1664c8b174bc1be5d28eb8794/lib/"
/home/stefan/.julia/artifacts/29096e59ce220ab1664c8b174bc1be5d28eb8794/lib/ falsche ELF-Klasse: ELFCLASS32

If I understand correctly the charset library is a 32 bit version, but why? Julia is installed as 64 bit version, the two packages Gtk and PackageCompiler are up to date.

What am I doing wrong? Thank you for your feedback.


Yes, 29096e59ce220ab1664c8b174bc1be5d28eb8794 is the 32-bit version of libiconv:

No idea. What version of Julia is it? With Julia v1.5 you can check what platform Julia thinks you’re using with

julia> using Pkg.BinaryPlatforms

julia> platform_key_abi()
Linux(:x86_64, libc=:glibc, compiler_abi=CompilerABI(libgfortran_version=v"4.0.0", cxxstring_abi=:cxx11))

Hmmm, I’m running Julia 1.5 on Fedora and Julia seems to be aware of the correct architecture:

julia> platform_key_abi()
Linux(:x86_64, libc=:glibc, compiler_abi=CompilerABI(libgfortran_version=v"5.0.0", libstdcxx_version=v"3.4.26", cxxstring_abi=:cxx11))

julia> versioninfo()
Julia Version 1.5.3
Commit 788b2c77c1* (2020-11-09 13:37 UTC)
Platform Info:
  OS: Linux (x86_64-redhat-linux)
  CPU: Intel(R) Core(TM) i5-4300U CPU @ 1.90GHz
  LIBM: libopenlibm
  LLVM: libLLVM-9.0.1 (ORCJIT, haswell)


Sorry, I’m not familiar with PkgCompiler internals, no idea where it’s drawing the wrong platform from :disappointed: