Build log
host
membrane_element_sdl 0.3.2 · fail · run membrane_element_sdl-0.3.2-1790991206702
837 of 837 lines
1Resolving Hex dependencies...2Resolution completed in 0.138s3Unchanged:4 bunch 1.6.45 bunch_native 0.2.16 bundlex 0.2.87 circular_buffer 1.1.08 coerce 1.0.29 elixir_make 0.10.010 interactive_cmd 0.1.411 membrane_caps_video_raw 0.1.012 membrane_common_c 0.3.013 membrane_core 0.5.314 membrane_element_sdl 0.3.2 RETIRED!15 (renamed) Renamed to membrane_sdl_plugin16 nerves 2.0.0-pre.217 nerves_discovery 0.1.518 nerves_logging 0.2.419 nerves_runtime 0.13.1320 nerves_system_bbb 2.30.221 nerves_system_br 1.34.422 nerves_system_mangopi_mq_pro 0.17.223 nerves_system_qemu_aarch64 0.4.224 nerves_system_rpi0 2.1.225 nerves_system_rpi4 2.1.226 nerves_system_rpi5 2.1.227 nerves_system_trellis 0.5.028 nerves_system_x86_64 1.34.229 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.130 nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.131 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.132 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.133 nerves_toolchain_x86_64_nerves_linux_musl 15.3.134 nerves_uevent 0.1.735 numbers 5.2.536 property_table 0.3.437 qex 0.5.238 ratio 2.4.239 ring_logger 0.11.740 secure_random 0.5.141 shmex 0.2.142 tablet 0.3.343 toolshed 0.5.044 uboot_env 1.0.245 unifex 0.2.646Found retired packages, see above for details47All dependencies have been fetched48==> membrane_caps_video_raw49Compiling 1 file (.ex)50Generated membrane_caps_video_raw app51==> secure_random52Compiling 1 file (.ex)53 warning: use Bitwise is deprecated. import Bitwise instead54 │55 2 │ use Bitwise56 │ ~~~~~~~~~~~57 │58 └─ lib/secure_random.ex:2: SecureRandom (module)5960Generated secure_random app61==> bundlex62Compiling 26 files (.ex)63 warning: using single-quoted strings to represent charlists is deprecated.64 Use ~c"" if you indeed want a charlist or use "" instead.65 You may run "mix format --migrate" to change all single-quoted66 strings to use the ~c sigil and fix this warning.67 │68 38 │ {port, {:data, {:eol, 'ready'}}},69 │ ~70 │71 └─ lib/bundlex/cnode/server.ex:38:317273 warning: using single-quoted strings to represent charlists is deprecated.74 Use ~c"" if you indeed want a charlist or use "" instead.75 You may run "mix format --migrate" to change all single-quoted76 strings to use the ~c sigil and fix this warning.77 │78 48 │ :ok = :win32reg.change_key(reg, '\\hklm\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion')79 │ ~80 │81 └─ lib/bundlex/platform.ex:48:418283 warning: using single-quoted strings to represent charlists is deprecated.84 Use ~c"" if you indeed want a charlist or use "" instead.85 You may run "mix format --migrate" to change all single-quoted86 strings to use the ~c sigil and fix this warning.87 │88 49 │ {:ok, build} = :win32reg.value(reg, 'BuildLabEx')89 │ ~90 │91 └─ lib/bundlex/platform.ex:49:459293 warning: expected a map or struct when accessing .toolchain_module in expression:9495 Bundlex.Platform.get_module(platform).toolchain_module9697 but got type:9899 dynamic(100 Bundlex.Platform.Linux or Bundlex.Platform.MacOSX or Bundlex.Platform.Windows32 or101 Bundlex.Platform.Windows64102 )103104 where "platform" was given the type:105106 # type: dynamic(:linux or :macosx or :windows32 or :windows64)107 # from: lib/tasks/compile.bundlex.ex:34:37108 Bundlex.Platform.get_module(platform)109110 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()111112 type warning found at:113 │114 34 │ commands = commands ++ Platform.get_module(platform).toolchain_module.before_all!(platform)115 │ ~116 │117 └─ lib/tasks/compile.bundlex.ex:34:58: Mix.Tasks.Compile.Bundlex.run/1118119 warning: expected a map or struct when accessing .toolchain_module in expression:120121 Bundlex.Platform.get_module(platform).toolchain_module122123 but got type:124125 dynamic(126 Bundlex.Platform.Linux or Bundlex.Platform.MacOSX or Bundlex.Platform.Windows32 or127 Bundlex.Platform.Windows64128 )129130 where "platform" was given the type:131132 # type: dynamic(:linux or :macosx or :windows32 or :windows64)133 # from: lib/bundlex/native.ex:86:27134 Bundlex.Platform.get_module(platform)135136 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()137138 type warning found at:139 │140 86 │ commands = Platform.get_module(platform).toolchain_module.compiler_commands(native)141 │ ~142 │143 └─ lib/bundlex/native.ex:86:48: Bundlex.Native.resolve_native/4144145Generated bundlex app146warning: using map.field notation (without parentheses) to invoke function Bundlex.Platform.Linux.toolchain_module() is deprecated, you must add parentheses instead: remote.function()147 (bundlex 0.2.8) lib/tasks/compile.bundlex.ex:34: Mix.Tasks.Compile.Bundlex.run/1148 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5149 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2150 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4151 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2152153==> bunch_native154Bundlex: Building natives: bunch, bunch_nif155warning: using map.field notation (without parentheses) to invoke function Bundlex.Platform.Linux.toolchain_module() is deprecated, you must add parentheses instead: remote.function()156 (bundlex 0.2.8) lib/bundlex/native.ex:86: Bundlex.Native.resolve_native/4157 (bunch 1.6.4) lib/bunch/enum.ex:244: Bunch.Enum.do_try_flat_map/3158 (bundlex 0.2.8) lib/tasks/compile.bundlex.ex:38: Mix.Tasks.Compile.Bundlex.run/1159 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5160 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2161162Generated bunch_native app163==> shmex164Bundlex: Building natives: lib, lib_nif, lib_cnode, shmex165Compiling 2 files (.ex)166 warning: the following pattern will never match:167168 {:ok, trimmed_front} <- trim_leading(shm, bytes)169170 because the right-hand side has type:171172 none()173174 where "bytes" was given the type:175176 # type: dynamic()177 # from: lib/shmex_native.ex:119:17178 bytes179180 where "shm" was given the type:181182 # type: dynamic()183 # from: lib/shmex_native.ex:119:12184 shm185186 type warning found at:187 │188 120 │ with {:ok, trimmed_front} <- trim_leading(shm, bytes),189 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~190 │191 └─ lib/shmex_native.ex:120: Shmex.Native.trim/2192193Generated shmex app194==> unifex195Bundlex: Building natives: unifex196Compiling 18 files (.ex)197 warning: using single-quoted strings to represent charlists is deprecated.198 Use ~c"" if you indeed want a charlist or use "" instead.199 You may run "mix format --migrate" to change all single-quoted200 strings to use the ~c sigil and fix this warning.201 │202 180 │ #{do_generate_arg_parse(elem_name, type, ~g<elem>, ctx) |> gen('i')}203 │ ~204 │205 └─ lib/unifex/base_type.ex:180:70206207 warning: using single-quoted strings to represent charlists is deprecated.208 Use ~c"" if you indeed want a charlist or use "" instead.209 You may run "mix format --migrate" to change all single-quoted210 strings to use the ~c sigil and fix this warning.211 │212 56 │ def sigil_g(content, 'r' ++ flags) do213 │ ~214 │215 └─ lib/unifex/native_code_generator.ex:56:24216217 warning: using single-quoted strings to represent charlists is deprecated.218 Use ~c"" if you indeed want a charlist or use "" instead.219 You may run "mix format --migrate" to change all single-quoted220 strings to use the ~c sigil and fix this warning.221 │222 71 │ def sigil_g(content, 't' ++ flags) do223 │ ~224 │225 └─ lib/unifex/native_code_generator.ex:71:24226227 warning: using single-quoted strings to represent charlists is deprecated.228 Use ~c"" if you indeed want a charlist or use "" instead.229 You may run "mix format --migrate" to change all single-quoted230 strings to use the ~c sigil and fix this warning.231 │232 76 │ def sigil_g(content, 'i' ++ flags) do233 │ ~234 │235 └─ lib/unifex/native_code_generator.ex:76:24236237 warning: using single-quoted strings to represent charlists is deprecated.238 Use ~c"" if you indeed want a charlist or use "" instead.239 You may run "mix format --migrate" to change all single-quoted240 strings to use the ~c sigil and fix this warning.241 │242 82 │ def sigil_g(content, 'I' ++ flags) do243 │ ~244 │245 └─ lib/unifex/native_code_generator.ex:82:24246247 warning: using single-quoted strings to represent charlists is deprecated.248 Use ~c"" if you indeed want a charlist or use "" instead.249 You may run "mix format --migrate" to change all single-quoted250 strings to use the ~c sigil and fix this warning.251 │252 103 │ def gen(content, 'j(' ++ flags) when is_list(content) do253 │ ~254 │255 └─ lib/unifex/native_code_generator.ex:103:20256257 warning: using single-quoted strings to represent charlists is deprecated.258 Use ~c"" if you indeed want a charlist or use "" instead.259 You may run "mix format --migrate" to change all single-quoted260 strings to use the ~c sigil and fix this warning.261 │262 104 │ {joiner, ')' ++ flags} = flags |> Enum.split_while(&([&1] != ')'))263 │ ~264 │265 └─ lib/unifex/native_code_generator.ex:104:14266267 warning: using single-quoted strings to represent charlists is deprecated.268 Use ~c"" if you indeed want a charlist or use "" instead.269 You may run "mix format --migrate" to change all single-quoted270 strings to use the ~c sigil and fix this warning.271 │272 104 │ {joiner, ')' ++ flags} = flags |> Enum.split_while(&([&1] != ')'))273 │ ~274 │275 └─ lib/unifex/native_code_generator.ex:104:66276277 warning: using single-quoted strings to represent charlists is deprecated.278 Use ~c"" if you indeed want a charlist or use "" instead.279 You may run "mix format --migrate" to change all single-quoted280 strings to use the ~c sigil and fix this warning.281 │282 109 │ def gen(content, 'n' ++ flags) when is_list(content) do283 │ ~284 │285 └─ lib/unifex/native_code_generator.ex:109:20286287 warning: using single-quoted strings to represent charlists is deprecated.288 Use ~c"" if you indeed want a charlist or use "" instead.289 You may run "mix format --migrate" to change all single-quoted290 strings to use the ~c sigil and fix this warning.291 │292 110 │ gen(content, 'j(\n)' ++ flags)293 │ ~294 │295 └─ lib/unifex/native_code_generator.ex:110:18296297 warning: using single-quoted strings to represent charlists is deprecated.298 Use ~c"" if you indeed want a charlist or use "" instead.299 You may run "mix format --migrate" to change all single-quoted300 strings to use the ~c sigil and fix this warning.301 │302 210 │ return #{result |> gen('it')};303 │ ~304 │305 └─ lib/unifex/native_code_generator.ex:210:30306307 warning: using single-quoted strings to represent charlists is deprecated.308 Use ~c"" if you indeed want a charlist or use "" instead.309 You may run "mix format --migrate" to change all single-quoted310 strings to use the ~c sigil and fix this warning.311 │312 233 │ ERL_NIF_TERM term = #{result |> gen('it')};313 │ ~314 │315 └─ lib/unifex/native_code_generator.ex:233:43316317 warning: using single-quoted strings to represent charlists is deprecated.318 Use ~c"" if you indeed want a charlist or use "" instead.319 You may run "mix format --migrate" to change all single-quoted320 strings to use the ~c sigil and fix this warning.321 │322 262 │ |> gen('nIt')323 │ ~324 │325 └─ lib/unifex/native_code_generator.ex:262:14326327 warning: using single-quoted strings to represent charlists is deprecated.328 Use ~c"" if you indeed want a charlist or use "" instead.329 You may run "mix format --migrate" to change all single-quoted330 strings to use the ~c sigil and fix this warning.331 │332 267 │ |> gen('nIt')333 │ ~334 │335 └─ lib/unifex/native_code_generator.ex:267:14336337 warning: using single-quoted strings to represent charlists is deprecated.338 Use ~c"" if you indeed want a charlist or use "" instead.339 You may run "mix format --migrate" to change all single-quoted340 strings to use the ~c sigil and fix this warning.341 │342 273 │ |> gen('nIt')343 │ ~344 │345 └─ lib/unifex/native_code_generator.ex:273:14346347 warning: using single-quoted strings to represent charlists is deprecated.348 Use ~c"" if you indeed want a charlist or use "" instead.349 You may run "mix format --migrate" to change all single-quoted350 strings to use the ~c sigil and fix this warning.351 │352 279 │ |> gen('nIt')353 │ ~354 │355 └─ lib/unifex/native_code_generator.ex:279:14356357 warning: using single-quoted strings to represent charlists is deprecated.358 Use ~c"" if you indeed want a charlist or use "" instead.359 You may run "mix format --migrate" to change all single-quoted360 strings to use the ~c sigil and fix this warning.361 │362 465 │ |> gen('j(,\n)i')363 │ ~364 │365 └─ lib/unifex/native_code_generator.ex:465:14366367 warning: using single-quoted strings to represent charlists is deprecated.368 Use ~c"" if you indeed want a charlist or use "" instead.369 You may run "mix format --migrate" to change all single-quoted370 strings to use the ~c sigil and fix this warning.371 │372 533 │ #{content |> gen('j(,\n)iit')}373 │ ~374 │375 └─ lib/unifex/native_code_generator.ex:533:26376377Generated unifex app378==> membrane_core379Compiling 106 files (.ex)380 warning: unused require Record381 │382 35 │ require Record383 │ ~384 │385 └─ lib/membrane/caps/matcher.ex:35:3386387 warning: unused require Membrane.Core.Message388 │389 13 │ require Message390 │ ~391 │392 └─ lib/membrane/core/input_buffer.ex:13:3393394 warning: use Bunch.Typespec is deprecated. `use Bunch.Typespec` only brings to scope the deprecated @/1395 │396 15 │ use Bunch.Typespec397 │ ~~~~~~~~~~~~~~~~~~398 │399 └─ lib/membrane/pad.ex:15: Membrane.Pad (module)400401warning: Bunch.Typespec.@list_type is deprecated. Use Bunch.Typespec.enum_to_alternative/1 instead.402 (bunch 1.6.4) lib/bunch/typespec.ex:33: Bunch.Typespec."MACRO-@"/2403 (elixir 1.20.3) src/elixir_dispatch.erl:263: :elixir_dispatch.expand_macro_fun/7404 (elixir 1.20.3) src/elixir_dispatch.erl:122: :elixir_dispatch.dispatch_import/6405 (elixir 1.20.3) src/elixir_expand.erl:679: :elixir_expand.expand_block/5406 (elixir 1.20.3) src/elixir_expand.erl:53: :elixir_expand.expand/3407 (elixir 1.20.3) src/elixir_expand.erl:18: :elixir_expand.expand/3408409 warning: unused require Membrane.Pad410 │411 14 │ require Pad412 │ ~413 │414 └─ lib/membrane/core/element/state.ex:14:3415416 warning: unused require Membrane.Core.Message417 │418 8 │ require Message419 │ ~420 │421 └─ lib/membrane/core/bin/linking_buffer.ex:8:3422423 warning: unused require Membrane.Core.Message424 │425 14 │ require Message426 │ ~427 │428 └─ lib/membrane/core/parent/child_life_controller/link_handler.ex:14:3429430 warning: unused require Membrane.Core.Child.PadModel431 │432 16 │ require PadModel433 │ ~434 │435 └─ lib/membrane/core/child/pad_controller.ex:16:3436437 warning: unused require Membrane.Core.Message438 │439 14 │ require Message440 │ ~441 │442 └─ lib/membrane/core/child/pad_controller.ex:14:3443444 warning: unused require Membrane.Core.Message445 │446 6 │ require Membrane.Core.Message447 │ ~448 │449 └─ lib/membrane/core/parent/child_life_controller/startup_handler.ex:6:3450451 warning: unused require Membrane.Core.Child.PadModel452 │453 14 │ require PadModel454 │ ~455 │456 └─ lib/membrane/core/element/event_controller.ex:14:3457458 warning: unused require Membrane.Core.Message459 │460 13 │ require Message461 │ ~462 │463 └─ lib/membrane/core/element/event_controller.ex:13:3464465 warning: unused require Membrane.Core.Child.PadModel466 │467 19 │ require PadModel468 │ ~469 │470 └─ lib/membrane/core/element/demand_handler.ex:19:3471472 warning: unused require Membrane.Core.Message473 │474 18 │ require Message475 │ ~476 │477 └─ lib/membrane/core/element/demand_handler.ex:18:3478479 warning: unused require Membrane.Core.Child.PadModel480 │481 23 │ require PadModel482 │ ~483 │484 └─ lib/membrane/core/element/action_handler.ex:23:3485486 warning: unused require Membrane.Core.Message487 │488 22 │ require Message489 │ ~490 │491 └─ lib/membrane/core/element/action_handler.ex:22:3492493 warning: unused require Membrane.Pad494 │495 9 │ require Pad496 │ ~497 │498 └─ lib/membrane/core/child/pad_spec_handler.ex:9:3499500 warning: unused require Membrane.Core.Message501 │502 10 │ require Message503 │ ~504 │505 └─ lib/membrane/core/bin/action_handler.ex:10:3506507 warning: the variable "at_pos" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator508 │509 100 │ <<part1::binary-size(at_pos), part2::binary>> = payload510 │ ~511 │512 └─ lib/membrane/payload.ex:100:26: Membrane.Payload.BitString.split_at/2513514 warning: the variable "bytes" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator515 │516 113 │ <<_dropped::binary-size(bytes), rest::binary>> = payload517 │ ~518 │519 └─ lib/membrane/payload.ex:113:29: Membrane.Payload.BitString.drop/2520521 warning: unused require Membrane.Core.Child.PadModel522 │523 40 │ require PadModel524 │ ~525 │526 └─ lib/membrane/bin.ex:40:3527528 warning: unused require Membrane.Element529 │530 36 │ require Element531 │ ~532 │533 └─ lib/membrane/bin.ex:36:3534535 warning: unused require Membrane.Pad536 │537 38 │ require Pad538 │ ~539 │540 └─ lib/membrane/bin.ex:38:3541542 warning: unused require Membrane.PlaybackState543 │544 41 │ require Membrane.PlaybackState545 │ ~546 │547 └─ lib/membrane/bin.ex:41:3548549 warning: unused require Membrane.Core.Message550 │551 30 │ require Message552 │ ~553 │554 └─ lib/membrane/pipeline.ex:30:3555556 warning: unused require Membrane.Element557 │558 28 │ require Element559 │ ~560 │561 └─ lib/membrane/pipeline.ex:28:3562563 warning: unused require Membrane.Pad564 │565 31 │ require Pad566 │ ~567 │568 └─ lib/membrane/pipeline.ex:31:3569570 warning: unused require Membrane.PlaybackState571 │572 29 │ require PlaybackState573 │ ~574 │575 └─ lib/membrane/pipeline.ex:29:3576577 warning: unused require Membrane.Bin578 │579 6 │ require Membrane.Bin580 │ ~581 │582 └─ lib/membrane/core/parent/child_life_controller.ex:6:3583584 warning: unused require Membrane.Core.Message585 │586 7 │ require Membrane.Core.Message587 │ ~588 │589 └─ lib/membrane/core/parent/child_life_controller.ex:7:3590591 warning: unused require Membrane.Element592 │593 8 │ require Membrane.Element594 │ ~595 │596 └─ lib/membrane/core/parent/child_life_controller.ex:8:3597598 warning: unused require Membrane.PlaybackState599 │600 9 │ require Membrane.PlaybackState601 │ ~602 │603 └─ lib/membrane/core/parent/child_life_controller.ex:9:3604605 warning: unused require Membrane.Core.Message606 │607 15 │ require Message608 │ ~609 │610 └─ lib/membrane/core/playback_handler.ex:15:3611612 warning: unused require Membrane.Core.Child.PadModel613 │614 23 │ require PadModel615 │ ~616 │617 └─ lib/membrane/core/parent/lifecycle_controller.ex:23:3618619 warning: unused require Membrane.Core.Message620 │621 22 │ require Message622 │ ~623 │624 └─ lib/membrane/core/parent/lifecycle_controller.ex:22:3625626 warning: unused require Membrane.PlaybackState627 │628 24 │ require PlaybackState629 │ ~630 │631 └─ lib/membrane/core/parent/lifecycle_controller.ex:24:3632633 warning: unused require Membrane.Core.Child.PadModel634 │635 10 │ require Membrane.Core.Child.PadModel636 │ ~637 │638 └─ lib/membrane/core/element/lifecycle_controller.ex:10:3639640 warning: unused require Membrane.Core.Message641 │642 11 │ require Membrane.Core.Message643 │ ~644 │645 └─ lib/membrane/core/element/lifecycle_controller.ex:11:3646647 warning: unused require Membrane.Core.Playback648 │649 12 │ require Membrane.Core.Playback650 │ ~651 │652 └─ lib/membrane/core/element/lifecycle_controller.ex:12:365365465501:34:08.492 [warning] Passing :require_if option to Bunch.Config.parse/2 is deprecated, pass function returning constraints instead65665701:34:08.566 [warning] Passing :require_if option to Bunch.Config.parse/2 is deprecated, pass function returning constraints instead658 warning: the following clause will never match:659660 {{:error, reason}, state} ->661662 it is expected to match on type:663664 none()665666 type warning found at:667 │668 56 │ do: {{:error, reason}, state} ->669 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~670 │671 └─ lib/membrane/core/element/event_controller.ex:56: Membrane.Core.Element.EventController.exec_handle_event/4672673 warning: expected a map or struct when accessing .membrane_element_type in expression:674675 &1.module.membrane_element_type676677 but got type:678679 dynamic(atom())680681 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()682683 type warning found at:684 │685 37 │ &(Membrane.Element.element?(&1.module) and &1.module.membrane_element_type == :sink)686 │ ~687 │688 └─ lib/membrane/core/parent/child_life_controller/startup_handler.ex:37:62: Membrane.Core.Parent.ChildLifeController.StartupHandler.setup_syncs/2689690 warning: a struct for Membrane.Core.Parent.Link is expected on struct update:691692 %Membrane.Core.Parent.Link{693 &1694 | from: resolve_endpoint(&1.from, state),695 to: resolve_endpoint(&1.to, state)696 }697698 but got type:699700 dynamic()701702 instead of using &1, you must define an anonymous function, define a variable and pattern match on "%Membrane.Core.Parent.Link{}"703704 type warning found at:705 │706 22 │ &%Link{&1 | from: resolve_endpoint(&1.from, state), to: resolve_endpoint(&1.to, state)}707 │ ~708 │709 └─ lib/membrane/core/parent/child_life_controller/link_handler.ex:22:8: Membrane.Core.Parent.ChildLifeController.LinkHandler.resolve_links/2710711 warning: the following clause will never match:712713 {:error, reason} ->714715 it is expected to match on type:716717 none()718719 type warning found at:720 │721 56 │ {:error, reason} -> raise LinkError, "#{inspect(reason)}"722 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~723 │724 └─ lib/membrane/core/child/pad_controller.ex:56: Membrane.Core.Child.PadController.handle_link/7725726 warning: a struct for Membrane.Core.InputBuffer is expected on struct update:727728 %Membrane.Core.InputBuffer{buf | toilet?: true}729730 but got type:731732 dynamic()733734 where "buf" was given the type:735736 # type: dynamic()737 # from: lib/membrane/core/input_buffer.ex:112:21738 buf739740 when defining the variable "buf", you must also pattern match on "%Membrane.Core.InputBuffer{}"741742 type warning found at:743 │744 112 │ def enable_toilet(buf), do: %__MODULE__{buf | toilet?: true}745 │ ~746 │747 └─ lib/membrane/core/input_buffer.ex:112:31: Membrane.Core.InputBuffer.enable_toilet/1748749 warning: expected a map or struct when accessing .input_buf_preferred_size in expression:750751 metric.input_buf_preferred_size752753 where "metric" was given the type:754755 # type: dynamic(Membrane.Buffer.Metric.ByteSize or Membrane.Buffer.Metric.Count)756 # from: lib/membrane/core/input_buffer.ex:91:12757 metric = Membrane.Buffer.Metric.from_unit(demand_unit)758759 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()760761 type warning found at:762 │763 92 │ preferred_size = props[:preferred_size] || metric.input_buf_preferred_size764 │ ~765 │766 └─ lib/membrane/core/input_buffer.ex:92:55: Membrane.Core.InputBuffer.init/5767768 warning: a struct for Membrane.Core.Timer is expected on struct update:769770 %Membrane.Core.Timer{timer | ratio: ratio}771772 but got type:773774 dynamic()775776 where "timer" was given the type:777778 # type: dynamic()779 # from: lib/membrane/core/timer.ex:36:20780 timer781782 when defining the variable "timer", you must also pattern match on "%Membrane.Core.Timer{}"783784 type warning found at:785 │786 37 │ %__MODULE__{timer | ratio: ratio}787 │ ~788 │789 └─ lib/membrane/core/timer.ex:37:5: Membrane.Core.Timer.update_ratio/2790791 warning: a struct for Membrane.Core.Timer is expected on struct update:792793 %Membrane.Core.Timer{timer | interval: interval}794795 but got type:796797 dynamic(not %Membrane.Core.Timer{interval: :no_interval})798799 where "timer" was given the type:800801 # type: dynamic(not %Membrane.Core.Timer{interval: :no_interval})802 # from: lib/membrane/core/timer.ex:67:20803 timer804805 when defining the variable "timer", you must also pattern match on "%Membrane.Core.Timer{}"806807 type warning found at:808 │809 68 │ %__MODULE__{timer | interval: interval}810 │ ~811 │812 └─ lib/membrane/core/timer.ex:68:5: Membrane.Core.Timer.set_interval/2813814Generated membrane_core app815==> membrane_common_c816Bundlex: Building natives: membrane, membrane_ringbuffer817Compiling 1 file (.ex)818Generated membrane_common_c app819==> membrane_element_sdl820Bundlex: Building natives: player821Package sdl2 was not found in the pkg-config search path.822Perhaps you should add the directory containing `sdl2.pc'823to the PKG_CONFIG_PATH environment variable824Package 'sdl2', required by 'virtual:world', not found825could not compile dependency :membrane_element_sdl, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile membrane_element_sdl --force", update it with "mix deps.update membrane_element_sdl" or clean it with "mix deps.clean membrane_element_sdl"826** (MatchError) no match of right hand side value:827828 {"", 1}829830 (bundlex 0.2.8) lib/bundlex/toolchain/common/unix.ex:87: Bundlex.Toolchain.Common.Unix.pkg_config/2831 (bundlex 0.2.8) lib/bundlex/toolchain/common/unix.ex:9: Bundlex.Toolchain.Common.Unix.compiler_commands/4832 (bundlex 0.2.8) lib/bundlex/native.ex:86: Bundlex.Native.resolve_native/4833 (bunch 1.6.4) lib/bunch/enum.ex:244: Bunch.Enum.do_try_flat_map/3834 (bundlex 0.2.8) lib/tasks/compile.bundlex.ex:38: Mix.Tasks.Compile.Bundlex.run/1835 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5836 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2837 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4