JuliaPackaging / Yggdrasil

Collection of builder repositories for BinaryBuilder.jl
https://binarybuilder.org
Other
310 stars 557 forks source link

Cannot compile PortAudio package on Raspberry Pi / armv8 #3602

Open thomarse-ef opened 3 years ago

thomarse-ef commented 3 years ago

Trying to use Port Audio on a Raspberry Pi 3A+ running Raspberry Pi OS. It fails to compile, error seems to be caused by libvorbis_jll. These lines in expression starting at /home/pi/.julia/packages/FFMPEG_jll/xCSqL/src/wrappers/armv7l-linux-gnueabihf.jl:9 and in expression starting at /home/pi/.julia/packages/alsa_plugins_jll/hnVoe/src/wrappers/armv7l-linux-gnueabihf.jl:4 make me thing it's might be something to do with the arm version (Pi 3A+ is armv8), although I thought it was backwards compatible so armv7 should be fine.

Any ideas how to fix this?

julia> using PortAudio
[ Info: Precompiling PortAudio [80ea8bcb-4634-5cb3-8ee8-a132660d1d2d]
ERROR: LoadError: LoadError: Failed to precompile libvorbis_jll [f27f6e37-5d2b-51aa-960f-b287f2bc3b7a] to /home/pi/.julia/compiled/v1.6/libvorbis_jll/jl_DUodEy.
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:33
  [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::Base.TTY, internal_stdout::Base.TTY, ignore_loaded_modules::Bool)
    @ Base ./loading.jl:1385
  [3] compilecache(pkg::Base.PkgId, path::String)
    @ Base ./loading.jl:1329
  [4] _require(pkg::Base.PkgId)
    @ Base ./loading.jl:1043
  [5] require(uuidkey::Base.PkgId)
    @ Base ./loading.jl:936
  [6] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:923
  [7] include(mod::Module, _path::String)
    @ Base ./Base.jl:386
  [8] top-level scope
    @ ~/.julia/packages/JLLWrappers/bkwIo/src/toplevel_generators.jl:170
  [9] include
    @ ./Base.jl:386 [inlined]
 [10] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::String)
    @ Base ./loading.jl:1235
 [11] top-level scope
    @ none:1
 [12] eval
    @ ./boot.jl:360 [inlined]
 [13] eval(x::Expr)
    @ Base.MainInclude ./client.jl:446
 [14] top-level scope
    @ none:1
in expression starting at /home/pi/.julia/packages/FFMPEG_jll/xCSqL/src/wrappers/armv7l-linux-gnueabihf.jl:9
in expression starting at /home/pi/.julia/packages/FFMPEG_jll/xCSqL/src/FFMPEG_jll.jl:2
ERROR: LoadError: LoadError: Failed to precompile FFMPEG_jll [b22a6f82-2f65-5046-a5b2-351ab43fb4e5] to /home/pi/.julia/compiled/v1.6/FFMPEG_jll/jl_hBvL2U.
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:33
  [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::Base.TTY, internal_stdout::Base.TTY, ignore_loaded_modules::Bool)
    @ Base ./loading.jl:1385
  [3] compilecache(pkg::Base.PkgId, path::String)
    @ Base ./loading.jl:1329
  [4] _require(pkg::Base.PkgId)
    @ Base ./loading.jl:1043
  [5] require(uuidkey::Base.PkgId)
    @ Base ./loading.jl:936
  [6] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:923
  [7] include(mod::Module, _path::String)
    @ Base ./Base.jl:386
  [8] top-level scope
    @ ~/.julia/packages/JLLWrappers/bkwIo/src/toplevel_generators.jl:170
  [9] include
    @ ./Base.jl:386 [inlined]
 [10] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::String)
    @ Base ./loading.jl:1235
 [11] top-level scope
    @ none:1
 [12] eval
    @ ./boot.jl:360 [inlined]
 [13] eval(x::Expr)
    @ Base.MainInclude ./client.jl:446
 [14] top-level scope
    @ none:1
in expression starting at /home/pi/.julia/packages/alsa_plugins_jll/hnVoe/src/wrappers/armv7l-linux-gnueabihf.jl:4
in expression starting at /home/pi/.julia/packages/alsa_plugins_jll/hnVoe/src/alsa_plugins_jll.jl:2
ERROR: LoadError: Failed to precompile alsa_plugins_jll [5ac2f6bb-493e-5871-9171-112d4c21a6e7] to /home/pi/.julia/compiled/v1.6/alsa_plugins_jll/jl_2eiURx.
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:33
  [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::Base.TTY, internal_stdout::Base.TTY, ignore_loaded_modules::Bool)
    @ Base ./loading.jl:1385
  [3] compilecache(pkg::Base.PkgId, path::String)
    @ Base ./loading.jl:1329
  [4] _require(pkg::Base.PkgId)
    @ Base ./loading.jl:1043
  [5] require(uuidkey::Base.PkgId)
    @ Base ./loading.jl:936
  [6] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:923
  [7] include
    @ ./Base.jl:386 [inlined]
  [8] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::Nothing)
    @ Base ./loading.jl:1235
  [9] top-level scope
    @ none:1
 [10] eval
    @ ./boot.jl:360 [inlined]
 [11] eval(x::Expr)
    @ Base.MainInclude ./client.jl:446
 [12] top-level scope
    @ none:1
in expression starting at /home/pi/.julia/packages/PortAudio/iJ74y/src/PortAudio.jl:1
ERROR: Failed to precompile PortAudio [80ea8bcb-4634-5cb3-8ee8-a132660d1d2d] to /home/pi/.julia/compiled/v1.6/PortAudio/jl_vZ5E35.
Stacktrace:
 [1] error(s::String)
   @ Base ./error.jl:33
 [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::Base.TTY, internal_stdout::Base.TTY, ignore_loaded_modules::Bool)
   @ Base ./loading.jl:1385
 [3] compilecache(pkg::Base.PkgId, path::String)
   @ Base ./loading.jl:1329
 [4] _require(pkg::Base.PkgId)
   @ Base ./loading.jl:1043
 [5] require(uuidkey::Base.PkgId)
   @ Base ./loading.jl:936
 [6] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:923
ViralBShah commented 3 weeks ago

Probably all the related packages need to be updated.