Build log
nerves_system_rpi0
tuning_fork_midi 0.1.11 · fail · run tuning_fork_midi-0.1.11-1791145763815
1014 of 1014 lines
1Resolving Hex dependencies...2Resolution completed in 0.118s3Unchanged:4 circular_buffer 1.1.05 elixir_make 0.10.06 interactive_cmd 0.1.47 nerves 2.0.0-pre.28 nerves_discovery 0.1.59 nerves_logging 0.2.410 nerves_runtime 0.13.1311 nerves_system_bbb 2.30.212 nerves_system_br 1.34.413 nerves_system_mangopi_mq_pro 0.17.214 nerves_system_qemu_aarch64 0.4.215 nerves_system_rpi0 2.1.216 nerves_system_rpi4 2.1.217 nerves_system_rpi5 2.1.218 nerves_system_trellis 0.5.019 nerves_system_x86_64 1.34.220 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.121 nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.122 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.123 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.124 nerves_toolchain_x86_64_nerves_linux_musl 15.3.125 nerves_uevent 0.1.726 property_table 0.3.427 ring_logger 0.11.728 tablet 0.3.329 toolshed 0.5.030 tuning_fork 0.1.1131 tuning_fork_midi 0.1.1132 uboot_env 1.0.233* Getting tuning_fork_midi (Hex package)34* Getting nerves (Hex package)35* Getting ring_logger (Hex package)36* Getting toolshed (Hex package)37* Getting nerves_runtime (Hex package)38* Getting nerves_system_bbb (Hex package)39* Getting nerves_system_mangopi_mq_pro (Hex package)40* Getting nerves_system_qemu_aarch64 (Hex package)41* Getting nerves_system_rpi0 (Hex package)42* Getting nerves_system_rpi4 (Hex package)43* Getting nerves_system_rpi5 (Hex package)44* Getting nerves_system_trellis (Hex package)45* Getting nerves_system_x86_64 (Hex package)46* Getting nerves_system_br (Hex package)47* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)48* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)49* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)50* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)51* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)52* Getting nerves_logging (Hex package)53* Getting nerves_uevent (Hex package)54* Getting uboot_env (Hex package)55* Getting elixir_make (Hex package)56* Getting property_table (Hex package)57* Getting circular_buffer (Hex package)58* Getting interactive_cmd (Hex package)59* Getting nerves_discovery (Hex package)60* Getting tablet (Hex package)61* Getting tuning_fork (Hex package)62==> nerves_system_br63Generated nerves_system_br app64==> circular_buffer65Compiling 1 file (.ex)66Generated circular_buffer app67==> tablet68Compiling 2 files (.ex)69Generated tablet app70==> elixir_make71Compiling 8 files (.ex)72Generated elixir_make app73==> nerves_logging74 CC kmsg_tailer.o75 LD kmsg_tailer76Compiling 5 files (.ex)77Generated nerves_logging app78==> nerves_discovery79Compiling 5 files (.ex)80Generated nerves_discovery app81==> ring_logger82Compiling 7 files (.ex)83Generated ring_logger app84==> interactive_cmd85Compiling 1 file (.ex)86Generated interactive_cmd app87==> nerves88Compiling 65 files (.ex)89 warning: redefining module Mix.Tasks.Nerves.Init (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Mix.Tasks.Nerves.Init.beam)90 │91 6 │ defmodule Mix.Tasks.Nerves.Init do92 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~93 │94 └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)9596 warning: redefining module Nerves (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.beam)97 │98 6 │ defmodule Nerves do99 │ ~~~~~~~~~~~~~~~~~~~100 │101 └─ lib/nerves.ex:6: Nerves (module)102103 warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.ArtifactResolver.beam)104 │105 5 │ defmodule Nerves.ArtifactResolver do106 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~107 │108 └─ lib/nerves/artifact_resolver.ex:5: Nerves.ArtifactResolver (module)109110 warning: redefining module Nerves.BuildAction.AppModes (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.AppModes.beam)111 │112 6 │ defmodule Nerves.BuildAction.AppModes do113 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~114 │115 └─ lib/nerves/build_action/app_modes.ex:6: Nerves.BuildAction.AppModes (module)116117 warning: redefining module Nerves.BuildAction.CheckExecutables (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.CheckExecutables.beam)118 │119 5 │ defmodule Nerves.BuildAction.CheckExecutables do120 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~121 │122 └─ lib/nerves/build_action/check_executables.ex:5: Nerves.BuildAction.CheckExecutables (module)123124 warning: redefining module Nerves.BuildAction.Erlinit (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)125 │126 8 │ defmodule Nerves.BuildAction.Erlinit do127 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~128 │129 └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)130131 warning: redefining module Nerves.BuildAction.Firmware (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)132 │133 5 │ defmodule Nerves.BuildAction.Firmware do134 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~135 │136 └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)137138 warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.IExStartupCheck.beam)139 │140 7 │ defmodule Nerves.BuildAction.IExStartupCheck do141 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~142 │143 └─ lib/nerves/build_action/iex_startup_check.ex:7: Nerves.BuildAction.IExStartupCheck (module)144145 warning: redefining module Nerves.BuildAction.NervesV1System (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1System.beam)146 │147 5 │ defmodule Nerves.BuildAction.NervesV1System do148 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~149 │150 └─ lib/nerves/build_action/nerves_v1_system.ex:5: Nerves.BuildAction.NervesV1System (module)151152 warning: redefining module Nerves.BuildAction.NervesV1Toolchain (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1Toolchain.beam)153 │154 5 │ defmodule Nerves.BuildAction.NervesV1Toolchain do155 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~156 │157 └─ lib/nerves/build_action/nerves_v1_toolchain.ex:5: Nerves.BuildAction.NervesV1Toolchain (module)158159 warning: redefining module Nerves.BuildAction.Rootfs (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.Rootfs.beam)160 │161 5 │ defmodule Nerves.BuildAction.Rootfs do162 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~163 │164 └─ lib/nerves/build_action/rootfs.ex:5: Nerves.BuildAction.Rootfs (module)165166 warning: redefining module Nerves.BuildAction.SortApps (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.SortApps.beam)167 │168 6 │ defmodule Nerves.BuildAction.SortApps do169 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~170 │171 └─ lib/nerves/build_action/sort_apps.ex:6: Nerves.BuildAction.SortApps (module)172173 warning: redefining module Nerves.BuildAction.StripAll (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.StripAll.beam)174 │175 5 │ defmodule Nerves.BuildAction.StripAll do176 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~177 │178 └─ lib/nerves/build_action/strip_all.ex:5: Nerves.BuildAction.StripAll (module)179180 warning: redefining module Nerves.BuildAction.Trimmer (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.Trimmer.beam)181 │182 5 │ defmodule Nerves.BuildAction.Trimmer do183 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~184 │185 └─ lib/nerves/build_action/trimmer.ex:5: Nerves.BuildAction.Trimmer (module)186187 warning: redefining module Nerves.BuildPlan (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildPlan.beam)188 │189 5 │ defmodule Nerves.BuildPlan do190 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~191 │192 └─ lib/nerves/build_plan.ex:5: Nerves.BuildPlan (module)193194 warning: redefining module Nerves.BuildPlan.Checks (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildPlan.Checks.beam)195 │196 5 │ defmodule Nerves.BuildPlan.Checks do197 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~198 │199 └─ lib/nerves/build_plan/checks.ex:5: Nerves.BuildPlan.Checks (module)200201 warning: redefining module Nerves.Container (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.Container.beam)202 │203 6 │ defmodule Nerves.Container do204 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~205 │206 └─ lib/nerves/container.ex:6: Nerves.Container (module)207208 warning: redefining module Nerves.Fingerprint (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.Fingerprint.beam)209 │210 5 │ defmodule Nerves.Fingerprint do211 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~212 │213 └─ lib/nerves/fingerprint.ex:5: Nerves.Fingerprint (module)214215 warning: redefining module Nerves.MixPackage (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.MixPackage.beam)216 │217 5 │ defmodule Nerves.MixPackage do218 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~219 │220 └─ lib/nerves/mix_package.ex:5: Nerves.MixPackage (module)221222 warning: redefining module Nerves.Paths (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.Paths.beam)223 │224 5 │ defmodule Nerves.Paths do225 │ ~~~~~~~~~~~~~~~~~~~~~~~~~226 │227 └─ lib/nerves/paths.ex:5: Nerves.Paths (module)228229 warning: redefining module Nerves.TargetTuple (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.TargetTuple.beam)230 │231 5 │ defmodule Nerves.TargetTuple do232 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~233 │234 └─ lib/nerves/target_tuple.ex:5: Nerves.TargetTuple (module)235236Generated nerves app237==> nerves_toolchain_armv6_nerves_linux_gnueabihf238Compiling 1 file (.ex)239Generated nerves_toolchain_armv6_nerves_linux_gnueabihf app240==> nerves_system_rpi0241Generated nerves_system_rpi0 app242==> tuning_fork243Compiling 70 files (.ex)244 warning: the variable "length" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator245 │246 82 │ <<_block::binary-size(length), after_block::binary>> ->247 │ ~248 │249 └─ lib/tuning_fork/flac.ex:82:29: TuningFork.Flac.metadata/2250251 warning: the variable "pad" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator252 │253 102 │ <<_pad::size(pad), _crc::16, next::binary>> = rest254 │ ~255 │256 └─ lib/tuning_fork/flac.ex:102:20: TuningFork.Flac.frames/3257258 warning: the variable "bits" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator259 │260 206 │ <<value::signed-size(bits), rest::bits>> -> {:ok, List.duplicate(value, size), rest}261 │ ~262 │263 └─ lib/tuning_fork/flac.ex:206:28: TuningFork.Flac.subframe_of/4264265 warning: the variable "total" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator266 │267 215 │ <<raw::bits-size(total), rest::bits>> ->268 │ ~269 │270 └─ lib/tuning_fork/flac.ex:215:24: TuningFork.Flac.subframe_of/4271272 warning: the variable "bits" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator273 │274 216 │ {:ok, for(<<value::signed-size(bits) <- raw>>, do: value), rest}275 │ ~276 │277 └─ lib/tuning_fork/flac.ex:216:40: TuningFork.Flac.subframe_of/4278279 warning: the variable "total" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator280 │281 248 │ <<raw::bits-size(total), rest::bits>> ->282 │ ~283 │284 └─ lib/tuning_fork/flac.ex:248:24: TuningFork.Flac.warmup/3285286 warning: the variable "bits" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator287 │288 249 │ {:ok, for(<<value::signed-size(bits) <- raw>>, do: value), rest}289 │ ~290 │291 └─ lib/tuning_fork/flac.ex:249:40: TuningFork.Flac.warmup/3292293 warning: the variable "total" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator294 │295 262 │ <<raw::bits-size(total), rest::bits>> ->296 │ ~297 │298 └─ lib/tuning_fork/flac.ex:262:24: TuningFork.Flac.lpc_coefficients/2299300 warning: the variable "bits" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator301 │302 263 │ {:ok, for(<<value::signed-size(bits) <- raw>>, do: value), shift, rest}303 │ ~304 │305 └─ lib/tuning_fork/flac.ex:263:40: TuningFork.Flac.lpc_coefficients/2306307 warning: the variable "param_bits" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator308 │309 292 │ <<^escape::size(param_bits), raw_bits::5, rest::bits>> -> raw(rest, samples, raw_bits)310 │ ~311 │312 └─ lib/tuning_fork/flac.ex:292:25: TuningFork.Flac.partitions/8313314 warning: the variable "param_bits" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator315 │316 293 │ <<param::size(param_bits), rest::bits>> -> rice(rest, param, samples, [])317 │ ~318 │319 └─ lib/tuning_fork/flac.ex:293:23: TuningFork.Flac.partitions/8320321 warning: the variable "total" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator322 │323 306 │ <<raw::bits-size(total), rest::bits>> ->324 │ ~325 │326 └─ lib/tuning_fork/flac.ex:306:24: TuningFork.Flac.raw/3327328 warning: the variable "raw_bits" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator329 │330 307 │ {:ok, for(<<value::signed-size(raw_bits) <- raw>>, do: value), rest}331 │ ~332 │333 └─ lib/tuning_fork/flac.ex:307:40: TuningFork.Flac.raw/3334335 warning: the variable "param" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator336 │337 318 │ {quotient, <<remainder::size(param), rest::bits>>} ->338 │ ~339 │340 └─ lib/tuning_fork/flac.ex:318:36: TuningFork.Flac.rice/4341342 warning: the variable "zeros" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator343 │344 332 │ <<_::size(zeros + 1), rest::bits>> = bits345 │ ~346 │347 └─ lib/tuning_fork/flac.ex:332:15: TuningFork.Flac.unary/2348349 warning: the variable "at" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator350 │351 60 │ <<before::binary-size(at), rest::binary>> = base352 │ ~353 │354 └─ lib/tuning_fork/mixer.ex:60:31: TuningFork.Mixer.mix_at/4355356 warning: the variable "space" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator357 │358 64 │ <<fits::binary-size(space), over::binary>> = buffer359 │ ~360 │361 └─ lib/tuning_fork/mixer.ex:64:29: TuningFork.Mixer.mix_at/4362363 warning: the variable "at" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator364 │365 65 │ <<before::binary-size(at), rest::binary>> = base366 │ ~367 │368 └─ lib/tuning_fork/mixer.ex:65:31: TuningFork.Mixer.mix_at/4369370 warning: the variable "wanted" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator371 │372 81 │ <<chunk::binary-size(wanted), rest::binary>> ->373 │ ~374 │375 └─ lib/tuning_fork/mixer.ex:81:28: TuningFork.Mixer.take/3376377 warning: the variable "keep" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator378 │379 103 │ <<head::binary-size(keep), tail::binary>> when tail != <<>> ->380 │ ~381 │382 └─ lib/tuning_fork/mixer.ex:103:27: TuningFork.Mixer.fold/3383384 warning: the variable "size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator385 │386 86 │ <<blob::binary-size(size), left::binary>> = rest387 │ ~388 │389 └─ lib/tuning_fork/osc.ex:86:25: TuningFork.Osc.argument_of/2390391 warning: the variable "over" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator392 │393 88 │ <<_padding::binary-size(over), after_padding::binary>> = left394 │ ~395 │396 └─ lib/tuning_fork/osc.ex:88:29: TuningFork.Osc.argument_of/2397398 warning: unused require Logger399 │400 11 │ require Logger401 │ ~402 │403 └─ lib/tuning_fork/osc/client.ex:11:3404405 warning: the variable "room" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator406 │407 220 │ <<head::binary-size(room), tail::binary>> when tail != <<>> ->408 │ ~409 │410 └─ lib/tuning_fork/score.ex:220:27: TuningFork.Score.wrap/4411412 warning: the variable "length" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator413 │414 417 │ <<data::binary-size(length), rest::binary>> = rest415 │ ~416 │417 └─ lib/tuning_fork/midi.ex:417:25: TuningFork.Midi.event/2418419 warning: the variable "length" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator420 │421 427 │ <<_data::binary-size(length), rest::binary>> = rest422 │ ~423 │424 └─ lib/tuning_fork/midi.ex:427:26: TuningFork.Midi.event/2425426 warning: the variable "channels" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator427 │428 167 │ for <<frame::binary-size(channels * 2) <- pcm>>, reduce: {0, <<>>} do429 │ ~430 │431 └─ lib/tuning_fork/stage/bed.ex:167:30: TuningFork.Stage.Bed.ramp/4432433 warning: the variable "channels" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator434 │435 734 │ for <<sample::16-signed-little, _rest::binary-size(channels * 2 - 2) <- pcm>>, do: sample436 │ ~437 │438 └─ lib/tuning_fork/stage.ex:734:58: TuningFork.Stage.thinned/3439440Compiling lib/tuning_fork.ex (it's taking more than 10s)441 warning: the following conditional expression:442443 File.mkdir_p!(TuningFork.Sample.Fetch.dir())444445 will always evaluate to:446447 dynamic(:ok)448449 type warning found at:450 │451 144 │ unless File.exists?(path), do: File.mkdir_p!(Fetch.dir()) && File.write!(path, bytes)452 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~453 │454 └─ lib/tuning_fork/sample/font.ex:144: TuningFork.Sample.Font.decode/3455456Generated tuning_fork app457==> tuning_fork_midi458mkdir -p priv459/home/nerves/.nerves/artifacts/nerves_toolchain_armv6_nerves_linux_gnueabihf-15.3.1/bin/armv6-nerves-linux-gnueabihf-gcc -mabi=aapcs-linux -mfpu=vfp -marm -fstack-protector-strong -mfloat-abi=hard -mcpu=arm1176jzf-s -fPIE -pie -Wl,-z,now -Wl,-z,relro -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -O2 --sysroot /home/nerves/.nerves/artifacts/nerves_system_rpi0-2.1.2/staging -I/home/nerves/.nerves/artifacts/nerves_system_rpi0-2.1.2/staging/usr/lib/erlang/erts-17.0.6/include -Ic_src -o priv/tuning_fork_midi_nif.so c_src/tuning_fork_midi_nif.c --sysroot=/home/nerves/.nerves/artifacts/nerves_system_rpi0-2.1.2/staging -shared -lpthread -lasound460In file included from c_src/tuning_fork_midi_nif.c:22:461c_src/minimidio.h:483:5: error: unknown type name 'snd_seq_t'; did you mean 'snd_sctl_t'?462 483 | snd_seq_t* seq;463 | ^~~~~~~~~464 | snd_sctl_t465c_src/minimidio.h:497:5: error: unknown type name 'snd_midi_event_t'; did you mean 'snd_mixer_event_t'?466 497 | snd_midi_event_t* midi_ev; /* raw path: byte<->event coder (NULL otherwise) */467 | ^~~~~~~~~~~~~~~~468 | snd_mixer_event_t469c_src/minimidio.h: In function 'mm_context_init':470c_src/minimidio.h:1493:9: error: implicit declaration of function 'snd_seq_open'; did you mean 'snd_ctl_open'? [-Wimplicit-function-declaration]471 1493 | if (snd_seq_open(&ctx->al.seq, "default", SND_SEQ_OPEN_DUPLEX, 0) < 0)472 | ^~~~~~~~~~~~473 | snd_ctl_open474c_src/minimidio.h:1493:47: error: 'SND_SEQ_OPEN_DUPLEX' undeclared (first use in this function)475 1493 | if (snd_seq_open(&ctx->al.seq, "default", SND_SEQ_OPEN_DUPLEX, 0) < 0)476 | ^~~~~~~~~~~~~~~~~~~477c_src/minimidio.h:1493:47: note: each undeclared identifier is reported only once for each function it appears in478c_src/minimidio.h:1495:5: error: implicit declaration of function 'snd_seq_set_client_name' [-Wimplicit-function-declaration]479 1495 | snd_seq_set_client_name(ctx->al.seq, ctx->name);480 | ^~~~~~~~~~~~~~~~~~~~~~~481c_src/minimidio.h:1496:25: error: implicit declaration of function 'snd_seq_client_id' [-Wimplicit-function-declaration]482 1496 | ctx->al.client_id = snd_seq_client_id(ctx->al.seq);483 | ^~~~~~~~~~~~~~~~~484c_src/minimidio.h: In function 'mm_context_uninit':485c_src/minimidio.h:1502:5: error: implicit declaration of function 'snd_seq_close'; did you mean 'snd_ctl_close'? [-Wimplicit-function-declaration]486 1502 | snd_seq_close(ctx->al.seq);487 | ^~~~~~~~~~~~~488 | snd_ctl_close489c_src/minimidio.h: In function 'mm__alsa_enum':490c_src/minimidio.h:1529:5: error: unknown type name 'snd_seq_client_info_t'; did you mean 'snd_ctl_elem_info_t'?491 1529 | snd_seq_client_info_t* ci;492 | ^~~~~~~~~~~~~~~~~~~~~493 | snd_ctl_elem_info_t494c_src/minimidio.h:1530:5: error: unknown type name 'snd_seq_port_info_t'; did you mean 'snd_ctl_card_info_t'?495 1530 | snd_seq_port_info_t* pi;496 | ^~~~~~~~~~~~~~~~~~~497 | snd_ctl_card_info_t498c_src/minimidio.h:1531:5: error: implicit declaration of function 'snd_seq_client_info_alloca'; did you mean 'snd_ctl_elem_info_alloca'? [-Wimplicit-function-declaration]499 1531 | snd_seq_client_info_alloca(&ci);500 | ^~~~~~~~~~~~~~~~~~~~~~~~~~501 | snd_ctl_elem_info_alloca502c_src/minimidio.h:1532:5: error: implicit declaration of function 'snd_seq_port_info_alloca'; did you mean 'snd_ctl_card_info_alloca'? [-Wimplicit-function-declaration]503 1532 | snd_seq_port_info_alloca(&pi);504 | ^~~~~~~~~~~~~~~~~~~~~~~~505 | snd_ctl_card_info_alloca506c_src/minimidio.h:1534:5: error: implicit declaration of function 'snd_seq_client_info_set_client' [-Wimplicit-function-declaration]507 1534 | snd_seq_client_info_set_client(ci, -1);508 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~509c_src/minimidio.h:1535:12: error: implicit declaration of function 'snd_seq_query_next_client' [-Wimplicit-function-declaration]510 1535 | while (snd_seq_query_next_client(al->seq, ci) >= 0) {511 | ^~~~~~~~~~~~~~~~~~~~~~~~~512c_src/minimidio.h:1536:19: error: implicit declaration of function 'snd_seq_client_info_get_client'; did you mean 'snd_ctl_elem_info_get_count'? [-Wimplicit-function-declaration]513 1536 | int cid = snd_seq_client_info_get_client(ci);514 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~515 | snd_ctl_elem_info_get_count516c_src/minimidio.h:1538:9: error: implicit declaration of function 'snd_seq_port_info_set_client' [-Wimplicit-function-declaration]517 1538 | snd_seq_port_info_set_client(pi, cid);518 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~519c_src/minimidio.h:1539:9: error: implicit declaration of function 'snd_seq_port_info_set_port' [-Wimplicit-function-declaration]520 1539 | snd_seq_port_info_set_port(pi, -1);521 | ^~~~~~~~~~~~~~~~~~~~~~~~~~522c_src/minimidio.h:1540:16: error: implicit declaration of function 'snd_seq_query_next_port' [-Wimplicit-function-declaration]523 1540 | while (snd_seq_query_next_port(al->seq, pi) >= 0) {524 | ^~~~~~~~~~~~~~~~~~~~~~~525c_src/minimidio.h:1541:32: error: implicit declaration of function 'snd_seq_port_info_get_capability' [-Wimplicit-function-declaration]526 1541 | unsigned int cap = snd_seq_port_info_get_capability(pi);527 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~528c_src/minimidio.h:1546:25: error: implicit declaration of function 'snd_seq_port_info_get_port' [-Wimplicit-function-declaration]529 1546 | p->port = snd_seq_port_info_get_port(pi);530 | ^~~~~~~~~~~~~~~~~~~~~~~~~~531c_src/minimidio.h:1548:22: error: implicit declaration of function 'snd_seq_client_info_get_name'; did you mean 'snd_ctl_elem_info_get_name'? [-Wimplicit-function-declaration]532 1548 | snd_seq_client_info_get_name(ci),533 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~534 | snd_ctl_elem_info_get_name535c_src/minimidio.h:1549:22: error: implicit declaration of function 'snd_seq_port_info_get_name'; did you mean 'snd_ctl_card_info_get_name'? [-Wimplicit-function-declaration]536 1549 | snd_seq_port_info_get_name(pi), cid, p->port);537 | ^~~~~~~~~~~~~~~~~~~~~~~~~~538 | snd_ctl_card_info_get_name539c_src/minimidio.h: In function 'mm_in_count':540c_src/minimidio.h:1559:9: error: 'SND_SEQ_PORT_CAP_READ' undeclared (first use in this function)541 1559 | SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,542 | ^~~~~~~~~~~~~~~~~~~~~543c_src/minimidio.h:1559:31: error: 'SND_SEQ_PORT_CAP_SUBS_READ' undeclared (first use in this function)544 1559 | SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,545 | ^~~~~~~~~~~~~~~~~~~~~~~~~~546c_src/minimidio.h: In function 'mm_out_count':547c_src/minimidio.h:1567:9: error: 'SND_SEQ_PORT_CAP_WRITE' undeclared (first use in this function)548 1567 | SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE, 0);549 | ^~~~~~~~~~~~~~~~~~~~~~550c_src/minimidio.h:1567:32: error: 'SND_SEQ_PORT_CAP_SUBS_WRITE' undeclared (first use in this function)551 1567 | SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE, 0);552 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~553c_src/minimidio.h: In function 'mm_in_name':554c_src/minimidio.h:1574:9: error: 'SND_SEQ_PORT_CAP_READ' undeclared (first use in this function)555 1574 | SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,556 | ^~~~~~~~~~~~~~~~~~~~~557c_src/minimidio.h:1574:31: error: 'SND_SEQ_PORT_CAP_SUBS_READ' undeclared (first use in this function)558 1574 | SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,559 | ^~~~~~~~~~~~~~~~~~~~~~~~~~560c_src/minimidio.h: In function 'mm_out_name':561c_src/minimidio.h:1583:9: error: 'SND_SEQ_PORT_CAP_WRITE' undeclared (first use in this function)562 1583 | SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE, 0);563 | ^~~~~~~~~~~~~~~~~~~~~~564c_src/minimidio.h:1583:32: error: 'SND_SEQ_PORT_CAP_SUBS_WRITE' undeclared (first use in this function)565 1583 | SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE, 0);566 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~567c_src/minimidio.h: In function 'mm__alsa_recv_thread':568c_src/minimidio.h:1597:17: error: implicit declaration of function 'snd_seq_poll_descriptors_count'; did you mean 'snd_ctl_poll_descriptors_count'? [-Wimplicit-function-declaration]569 1597 | int nalsa = snd_seq_poll_descriptors_count(al->seq, POLLIN);570 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~571 | snd_ctl_poll_descriptors_count572c_src/minimidio.h:1603:5: error: implicit declaration of function 'snd_seq_poll_descriptors'; did you mean 'snd_ctl_poll_descriptors'? [-Wimplicit-function-declaration]573 1603 | snd_seq_poll_descriptors(al->seq, pfds, (unsigned)nalsa, POLLIN);574 | ^~~~~~~~~~~~~~~~~~~~~~~~575 | snd_ctl_poll_descriptors576c_src/minimidio.h:1619:16: error: implicit declaration of function 'snd_seq_event_input_pending' [-Wimplicit-function-declaration]577 1619 | while (snd_seq_event_input_pending(al->seq, 1) > 0) {578 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~579c_src/minimidio.h:1654:17: error: unknown type name 'snd_seq_event_t'; did you mean 'snd_ctl_event_t'?580 1654 | snd_seq_event_t* ev = NULL;581 | ^~~~~~~~~~~~~~~582 | snd_ctl_event_t583c_src/minimidio.h:1655:26: error: implicit declaration of function 'snd_seq_event_input' [-Wimplicit-function-declaration]584 1655 | int rc = snd_seq_event_input(al->seq, &ev);585 | ^~~~~~~~~~~~~~~~~~~586c_src/minimidio.h:1662:23: error: request for member 'type' in something not a structure or union587 1662 | if (ev->type == SND_SEQ_EVENT_SYSEX) {588 | ^~589c_src/minimidio.h:1662:33: error: 'SND_SEQ_EVENT_SYSEX' undeclared (first use in this function)590 1662 | if (ev->type == SND_SEQ_EVENT_SYSEX) {591 | ^~~~~~~~~~~~~~~~~~~592c_src/minimidio.h:1663:46: error: request for member 'data' in something not a structure or union593 1663 | uint8_t* d = (uint8_t*)ev->data.ext.ptr;594 | ^~595c_src/minimidio.h:1664:36: error: request for member 'data' in something not a structure or union596 1664 | size_t n = ev->data.ext.len;597 | ^~598c_src/minimidio.h:1678:30: error: implicit declaration of function 'snd_midi_event_decode' [-Wimplicit-function-declaration]599 1678 | long n = snd_midi_event_decode(da->midi_ev, buf,600 | ^~~~~~~~~~~~~~~~~~~~~601c_src/minimidio.h:1687:13: error: unknown type name 'snd_seq_event_t'; did you mean 'snd_ctl_event_t'?602 1687 | snd_seq_event_t* ev = NULL;603 | ^~~~~~~~~~~~~~~604 | snd_ctl_event_t605c_src/minimidio.h:1696:23: error: request for member 'type' in something not a structure or union606 1696 | switch (ev->type) {607 | ^~608c_src/minimidio.h:1698:22: error: 'SND_SEQ_EVENT_NOTEON' undeclared (first use in this function)609 1698 | case SND_SEQ_EVENT_NOTEON:610 | ^~~~~~~~~~~~~~~~~~~~611c_src/minimidio.h:1699:38: error: request for member 'data' in something not a structure or union612 1699 | msg.type = (ev->data.note.velocity > 0) ? MM_NOTE_ON : MM_NOTE_OFF;613 | ^~614c_src/minimidio.h:1700:37: error: request for member 'data' in something not a structure or union615 1700 | msg.channel = ev->data.note.channel;616 | ^~617c_src/minimidio.h:1701:37: error: request for member 'data' in something not a structure or union618 1701 | msg.data[0] = ev->data.note.note;619 | ^~620c_src/minimidio.h:1702:37: error: request for member 'data' in something not a structure or union621 1702 | msg.data[1] = ev->data.note.velocity;622 | ^~623c_src/minimidio.h:1705:22: error: 'SND_SEQ_EVENT_NOTEOFF' undeclared (first use in this function)624 1705 | case SND_SEQ_EVENT_NOTEOFF:625 | ^~~~~~~~~~~~~~~~~~~~~626c_src/minimidio.h:1706:57: error: request for member 'data' in something not a structure or union627 1706 | msg.type=MM_NOTE_OFF; msg.channel=ev->data.note.channel;628 | ^~629c_src/minimidio.h:1707:35: error: request for member 'data' in something not a structure or union630 1707 | msg.data[0]=ev->data.note.note; msg.data[1]=ev->data.note.velocity;631 | ^~632c_src/minimidio.h:1707:67: error: request for member 'data' in something not a structure or union633 1707 | msg.data[0]=ev->data.note.note; msg.data[1]=ev->data.note.velocity;634 | ^~635c_src/minimidio.h:1710:22: error: 'SND_SEQ_EVENT_KEYPRESS' undeclared (first use in this function)636 1710 | case SND_SEQ_EVENT_KEYPRESS:637 | ^~~~~~~~~~~~~~~~~~~~~~638c_src/minimidio.h:1711:62: error: request for member 'data' in something not a structure or union639 1711 | msg.type=MM_POLY_PRESSURE; msg.channel=ev->data.note.channel;640 | ^~641c_src/minimidio.h:1712:35: error: request for member 'data' in something not a structure or union642 1712 | msg.data[0]=ev->data.note.note; msg.data[1]=ev->data.note.velocity;643 | ^~644c_src/minimidio.h:1712:67: error: request for member 'data' in something not a structure or union645 1712 | msg.data[0]=ev->data.note.note; msg.data[1]=ev->data.note.velocity;646 | ^~647c_src/minimidio.h:1715:22: error: 'SND_SEQ_EVENT_CONTROLLER' undeclared (first use in this function)648 1715 | case SND_SEQ_EVENT_CONTROLLER:649 | ^~~~~~~~~~~~~~~~~~~~~~~~650c_src/minimidio.h:1716:63: error: request for member 'data' in something not a structure or union651 1716 | msg.type=MM_CONTROL_CHANGE; msg.channel=ev->data.control.channel;652 | ^~653c_src/minimidio.h:1717:44: error: request for member 'data' in something not a structure or union654 1717 | msg.data[0]=(uint8_t)ev->data.control.param;655 | ^~656c_src/minimidio.h:1718:44: error: request for member 'data' in something not a structure or union657 1718 | msg.data[1]=(uint8_t)ev->data.control.value;658 | ^~659c_src/minimidio.h:1721:22: error: 'SND_SEQ_EVENT_PGMCHANGE' undeclared (first use in this function)660 1721 | case SND_SEQ_EVENT_PGMCHANGE:661 | ^~~~~~~~~~~~~~~~~~~~~~~662c_src/minimidio.h:1722:63: error: request for member 'data' in something not a structure or union663 1722 | msg.type=MM_PROGRAM_CHANGE; msg.channel=ev->data.control.channel;664 | ^~665c_src/minimidio.h:1723:44: error: request for member 'data' in something not a structure or union666 1723 | msg.data[0]=(uint8_t)ev->data.control.value;667 | ^~668c_src/minimidio.h:1726:22: error: 'SND_SEQ_EVENT_CHANPRESS' undeclared (first use in this function)669 1726 | case SND_SEQ_EVENT_CHANPRESS:670 | ^~~~~~~~~~~~~~~~~~~~~~~671c_src/minimidio.h:1727:65: error: request for member 'data' in something not a structure or union672 1727 | msg.type=MM_CHANNEL_PRESSURE; msg.channel=ev->data.control.channel;673 | ^~674c_src/minimidio.h:1728:44: error: request for member 'data' in something not a structure or union675 1728 | msg.data[0]=(uint8_t)ev->data.control.value;676 | ^~677c_src/minimidio.h:1731:22: error: 'SND_SEQ_EVENT_PITCHBEND' undeclared (first use in this function)678 1731 | case SND_SEQ_EVENT_PITCHBEND: {679 | ^~~~~~~~~~~~~~~~~~~~~~~680c_src/minimidio.h:1732:30: error: request for member 'data' in something not a structure or union681 1732 | int pb=ev->data.control.value+8192;682 | ^~683c_src/minimidio.h:1733:59: error: request for member 'data' in something not a structure or union684 1733 | msg.type=MM_PITCH_BEND; msg.channel=ev->data.control.channel;685 | ^~686c_src/minimidio.h:1739:22: error: 'SND_SEQ_EVENT_CLOCK' undeclared (first use in this function)687 1739 | case SND_SEQ_EVENT_CLOCK:688 | ^~~~~~~~~~~~~~~~~~~689c_src/minimidio.h:1741:22: error: 'SND_SEQ_EVENT_START' undeclared (first use in this function); did you mean 'SND_TIMER_EVENT_START'?690 1741 | case SND_SEQ_EVENT_START:691 | ^~~~~~~~~~~~~~~~~~~692 | SND_TIMER_EVENT_START693c_src/minimidio.h:1743:22: error: 'SND_SEQ_EVENT_CONTINUE' undeclared (first use in this function); did you mean 'SND_TIMER_EVENT_CONTINUE'?694 1743 | case SND_SEQ_EVENT_CONTINUE:695 | ^~~~~~~~~~~~~~~~~~~~~~696 | SND_TIMER_EVENT_CONTINUE697c_src/minimidio.h:1745:22: error: 'SND_SEQ_EVENT_STOP' undeclared (first use in this function); did you mean 'SND_TIMER_EVENT_STOP'?698 1745 | case SND_SEQ_EVENT_STOP:699 | ^~~~~~~~~~~~~~~~~~700 | SND_TIMER_EVENT_STOP701c_src/minimidio.h:1749:22: error: 'SND_SEQ_EVENT_SONGPOS' undeclared (first use in this function)702 1749 | case SND_SEQ_EVENT_SONGPOS: {703 | ^~~~~~~~~~~~~~~~~~~~~704c_src/minimidio.h:1750:46: error: request for member 'data' in something not a structure or union705 1750 | uint16_t pos=(uint16_t)ev->data.control.value;706 | ^~707c_src/minimidio.h:1758:22: error: 'SND_SEQ_EVENT_QFRAME' undeclared (first use in this function)708 1758 | case SND_SEQ_EVENT_QFRAME:709 | ^~~~~~~~~~~~~~~~~~~~710c_src/minimidio.h:1760:44: error: request for member 'data' in something not a structure or union711 1760 | msg.data[0]=(uint8_t)ev->data.control.value;712 | ^~713c_src/minimidio.h:1764:22: error: 'SND_SEQ_EVENT_SONGSEL' undeclared (first use in this function)714 1764 | case SND_SEQ_EVENT_SONGSEL:715 | ^~~~~~~~~~~~~~~~~~~~~716c_src/minimidio.h:1766:44: error: request for member 'data' in something not a structure or union717 1766 | msg.data[0]=(uint8_t)ev->data.control.value;718 | ^~719c_src/minimidio.h:1770:22: error: 'SND_SEQ_EVENT_SENSING' undeclared (first use in this function)720 1770 | case SND_SEQ_EVENT_SENSING:721 | ^~~~~~~~~~~~~~~~~~~~~722c_src/minimidio.h:1775:22: error: 'SND_SEQ_EVENT_TUNE_REQUEST' undeclared (first use in this function)723 1775 | case SND_SEQ_EVENT_TUNE_REQUEST:724 | ^~~~~~~~~~~~~~~~~~~~~~~~~~725c_src/minimidio.h:1780:22: error: 'SND_SEQ_EVENT_RESET' undeclared (first use in this function); did you mean 'SND_CTL_EVENT_LAST'?726 1780 | case SND_SEQ_EVENT_RESET:727 | ^~~~~~~~~~~~~~~~~~~728 | SND_CTL_EVENT_LAST729c_src/minimidio.h:1786:44: error: request for member 'data' in something not a structure or union730 1786 | uint8_t* d=(uint8_t*)ev->data.ext.ptr;731 | ^~732c_src/minimidio.h:1787:34: error: request for member 'data' in something not a structure or union733 1787 | size_t n=ev->data.ext.len;734 | ^~735c_src/minimidio.h: In function 'mm_in_open':736c_src/minimidio.h:1819:9: error: 'SND_SEQ_PORT_CAP_READ' undeclared (first use in this function)737 1819 | SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,738 | ^~~~~~~~~~~~~~~~~~~~~739c_src/minimidio.h:1819:31: error: 'SND_SEQ_PORT_CAP_SUBS_READ' undeclared (first use in this function)740 1819 | SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,741 | ^~~~~~~~~~~~~~~~~~~~~~~~~~742c_src/minimidio.h:1831:23: error: implicit declaration of function 'snd_seq_create_simple_port' [-Wimplicit-function-declaration]743 1831 | dev->al.port_id = snd_seq_create_simple_port(ctx->al.seq, portname,744 | ^~~~~~~~~~~~~~~~~~~~~~~~~~745c_src/minimidio.h:1832:9: error: 'SND_SEQ_PORT_CAP_WRITE' undeclared (first use in this function)746 1832 | SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE,747 | ^~~~~~~~~~~~~~~~~~~~~~748c_src/minimidio.h:1832:32: error: 'SND_SEQ_PORT_CAP_SUBS_WRITE' undeclared (first use in this function)749 1832 | SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE,750 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~751c_src/minimidio.h:1833:9: error: 'SND_SEQ_PORT_TYPE_APPLICATION' undeclared (first use in this function)752 1833 | SND_SEQ_PORT_TYPE_APPLICATION);753 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~754c_src/minimidio.h: In function 'mm_in_open_raw':755c_src/minimidio.h:1887:9: error: 'SND_SEQ_PORT_CAP_READ' undeclared (first use in this function)756 1887 | SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,757 | ^~~~~~~~~~~~~~~~~~~~~758c_src/minimidio.h:1887:31: error: 'SND_SEQ_PORT_CAP_SUBS_READ' undeclared (first use in this function)759 1887 | SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,760 | ^~~~~~~~~~~~~~~~~~~~~~~~~~761c_src/minimidio.h:1896:9: error: implicit declaration of function 'snd_midi_event_new'; did you mean 'snd_mixer_elem_new'? [-Wimplicit-function-declaration]762 1896 | if (snd_midi_event_new(MM_SYSEX_BUF_SIZE, &dev->al.midi_ev) < 0)763 | ^~~~~~~~~~~~~~~~~~764 | snd_mixer_elem_new765c_src/minimidio.h:1898:5: error: implicit declaration of function 'snd_midi_event_no_status' [-Wimplicit-function-declaration]766 1898 | snd_midi_event_no_status(dev->al.midi_ev, 1);767 | ^~~~~~~~~~~~~~~~~~~~~~~~768c_src/minimidio.h:1901:9: error: implicit declaration of function 'snd_midi_event_free'; did you mean 'snd_ctl_event_free'? [-Wimplicit-function-declaration]769 1901 | snd_midi_event_free(dev->al.midi_ev); dev->al.midi_ev=NULL; return MM_ERROR;770 | ^~~~~~~~~~~~~~~~~~~771 | snd_ctl_event_free772c_src/minimidio.h:1906:9: error: 'SND_SEQ_PORT_CAP_WRITE' undeclared (first use in this function)773 1906 | SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE,774 | ^~~~~~~~~~~~~~~~~~~~~~775c_src/minimidio.h:1906:32: error: 'SND_SEQ_PORT_CAP_SUBS_WRITE' undeclared (first use in this function)776 1906 | SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE,777 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~778c_src/minimidio.h:1907:9: error: 'SND_SEQ_PORT_TYPE_APPLICATION' undeclared (first use in this function)779 1907 | SND_SEQ_PORT_TYPE_APPLICATION);780 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~781c_src/minimidio.h: In function 'mm_in_open_virtual_raw':782c_src/minimidio.h:1932:9: error: 'SND_SEQ_PORT_CAP_WRITE' undeclared (first use in this function)783 1932 | SND_SEQ_PORT_CAP_WRITE | SND_SEQ_PORT_CAP_SUBS_WRITE,784 | ^~~~~~~~~~~~~~~~~~~~~~785c_src/minimidio.h:1932:34: error: 'SND_SEQ_PORT_CAP_SUBS_WRITE' undeclared (first use in this function)786 1932 | SND_SEQ_PORT_CAP_WRITE | SND_SEQ_PORT_CAP_SUBS_WRITE,787 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~788c_src/minimidio.h:1933:9: error: 'SND_SEQ_PORT_TYPE_APPLICATION' undeclared (first use in this function)789 1933 | SND_SEQ_PORT_TYPE_APPLICATION | SND_SEQ_PORT_TYPE_MIDI_GENERIC);790 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~791c_src/minimidio.h:1933:41: error: 'SND_SEQ_PORT_TYPE_MIDI_GENERIC' undeclared (first use in this function)792 1933 | SND_SEQ_PORT_TYPE_APPLICATION | SND_SEQ_PORT_TYPE_MIDI_GENERIC);793 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~794c_src/minimidio.h: In function 'mm_in_start':795c_src/minimidio.h:1946:9: error: implicit declaration of function 'snd_seq_connect_from'; did you mean 'snd_ctl_convert_from_dB'? [-Wimplicit-function-declaration]796 1946 | snd_seq_connect_from(al->seq, dev->al.port_id,797 | ^~~~~~~~~~~~~~~~~~~~798 | snd_ctl_convert_from_dB799c_src/minimidio.h:1954:13: error: implicit declaration of function 'snd_seq_disconnect_from' [-Wimplicit-function-declaration]800 1954 | snd_seq_disconnect_from(al->seq, dev->al.port_id,801 | ^~~~~~~~~~~~~~~~~~~~~~~802c_src/minimidio.h: In function 'mm_in_close':803c_src/minimidio.h:1982:5: error: implicit declaration of function 'snd_seq_delete_port' [-Wimplicit-function-declaration]804 1982 | snd_seq_delete_port(dev->ctx->al.seq, dev->al.port_id);805 | ^~~~~~~~~~~~~~~~~~~806c_src/minimidio.h: In function 'mm_out_open':807c_src/minimidio.h:1991:9: error: 'SND_SEQ_PORT_CAP_WRITE' undeclared (first use in this function)808 1991 | SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE, 0);809 | ^~~~~~~~~~~~~~~~~~~~~~810c_src/minimidio.h:1991:32: error: 'SND_SEQ_PORT_CAP_SUBS_WRITE' undeclared (first use in this function)811 1991 | SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE, 0);812 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~813c_src/minimidio.h:1998:9: error: 'SND_SEQ_PORT_CAP_READ' undeclared (first use in this function)814 1998 | SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,815 | ^~~~~~~~~~~~~~~~~~~~~816c_src/minimidio.h:1998:31: error: 'SND_SEQ_PORT_CAP_SUBS_READ' undeclared (first use in this function)817 1998 | SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,818 | ^~~~~~~~~~~~~~~~~~~~~~~~~~819c_src/minimidio.h:1999:9: error: 'SND_SEQ_PORT_TYPE_APPLICATION' undeclared (first use in this function)820 1999 | SND_SEQ_PORT_TYPE_APPLICATION);821 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~822c_src/minimidio.h:2001:5: error: implicit declaration of function 'snd_seq_connect_to' [-Wimplicit-function-declaration]823 2001 | snd_seq_connect_to(ctx->al.seq, dev->al.port_id,824 | ^~~~~~~~~~~~~~~~~~825c_src/minimidio.h: At top level:826c_src/minimidio.h:2008:46: error: unknown type name 'snd_seq_event_t'; did you mean 'snd_ctl_event_t'?827 2008 | static void mm__alsa_send_ev(mm_device* dev, snd_seq_event_t* ev) {828 | ^~~~~~~~~~~~~~~829 | snd_ctl_event_t830c_src/minimidio.h: In function 'mm_out_send_raw':831c_src/minimidio.h:2028:5: error: implicit declaration of function 'snd_midi_event_reset_encode' [-Wimplicit-function-declaration]832 2028 | snd_midi_event_reset_encode(dev->al.midi_ev);833 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~834c_src/minimidio.h:2031:9: error: unknown type name 'snd_seq_event_t'; did you mean 'snd_ctl_event_t'?835 2031 | snd_seq_event_t ev; memset(&ev,0,sizeof(ev));836 | ^~~~~~~~~~~~~~~837 | snd_ctl_event_t838c_src/minimidio.h:2032:21: error: implicit declaration of function 'snd_midi_event_encode' [-Wimplicit-function-declaration]839 2032 | long used = snd_midi_event_encode(dev->al.midi_ev, data+off,840 | ^~~~~~~~~~~~~~~~~~~~~841c_src/minimidio.h:2036:15: error: request for member 'type' in something not a structure or union842 2036 | if (ev.type != SND_SEQ_EVENT_NONE)843 | ^844c_src/minimidio.h:2036:24: error: 'SND_SEQ_EVENT_NONE' undeclared (first use in this function)845 2036 | if (ev.type != SND_SEQ_EVENT_NONE)846 | ^~~~~~~~~~~~~~~~~~847c_src/minimidio.h:2037:13: error: implicit declaration of function 'mm__alsa_send_ev'; did you mean 'mm__alsa_enum'? [-Wimplicit-function-declaration]848 2037 | mm__alsa_send_ev(dev, &ev);849 | ^~~~~~~~~~~~~~~~850 | mm__alsa_enum851c_src/minimidio.h: In function 'mm_out_send':852c_src/minimidio.h:2045:5: error: unknown type name 'snd_seq_event_t'; did you mean 'snd_ctl_event_t'?853 2045 | snd_seq_event_t ev; memset(&ev,0,sizeof(ev));854 | ^~~~~~~~~~~~~~~855 | snd_ctl_event_t856c_src/minimidio.h:2048:13: error: implicit declaration of function 'snd_seq_ev_set_noteon' [-Wimplicit-function-declaration]857 2048 | snd_seq_ev_set_noteon(&ev,msg->channel,msg->data[0],msg->data[1]); break;858 | ^~~~~~~~~~~~~~~~~~~~~859c_src/minimidio.h:2050:13: error: implicit declaration of function 'snd_seq_ev_set_noteoff' [-Wimplicit-function-declaration]860 2050 | snd_seq_ev_set_noteoff(&ev,msg->channel,msg->data[0],msg->data[1]); break;861 | ^~~~~~~~~~~~~~~~~~~~~~862c_src/minimidio.h:2052:13: error: implicit declaration of function 'snd_seq_ev_set_controller' [-Wimplicit-function-declaration]863 2052 | snd_seq_ev_set_controller(&ev,msg->channel,msg->data[0],msg->data[1]); break;864 | ^~~~~~~~~~~~~~~~~~~~~~~~~865c_src/minimidio.h:2054:13: error: implicit declaration of function 'snd_seq_ev_set_keypress' [-Wimplicit-function-declaration]866 2054 | snd_seq_ev_set_keypress(&ev,msg->channel,msg->data[0],msg->data[1]); break;867 | ^~~~~~~~~~~~~~~~~~~~~~~868c_src/minimidio.h:2056:13: error: implicit declaration of function 'snd_seq_ev_set_chanpress' [-Wimplicit-function-declaration]869 2056 | snd_seq_ev_set_chanpress(&ev,msg->channel,msg->data[0]); break;870 | ^~~~~~~~~~~~~~~~~~~~~~~~871c_src/minimidio.h:2059:13: error: implicit declaration of function 'snd_seq_ev_set_pitchbend' [-Wimplicit-function-declaration]872 2059 | snd_seq_ev_set_pitchbend(&ev,msg->channel,pb-8192); break;873 | ^~~~~~~~~~~~~~~~~~~~~~~~874c_src/minimidio.h:2062:13: error: implicit declaration of function 'snd_seq_ev_set_pgmchange' [-Wimplicit-function-declaration]875 2062 | snd_seq_ev_set_pgmchange(&ev,msg->channel,msg->data[0]); break;876 | ^~~~~~~~~~~~~~~~~~~~~~~~877c_src/minimidio.h:2063:29: error: request for member 'type' in something not a structure or union878 2063 | case MM_CLOCK: ev.type=SND_SEQ_EVENT_CLOCK; break;879 | ^880c_src/minimidio.h:2063:35: error: 'SND_SEQ_EVENT_CLOCK' undeclared (first use in this function)881 2063 | case MM_CLOCK: ev.type=SND_SEQ_EVENT_CLOCK; break;882 | ^~~~~~~~~~~~~~~~~~~883c_src/minimidio.h:2064:29: error: request for member 'type' in something not a structure or union884 2064 | case MM_START: ev.type=SND_SEQ_EVENT_START; break;885 | ^886c_src/minimidio.h:2064:35: error: 'SND_SEQ_EVENT_START' undeclared (first use in this function); did you mean 'SND_TIMER_EVENT_START'?887 2064 | case MM_START: ev.type=SND_SEQ_EVENT_START; break;888 | ^~~~~~~~~~~~~~~~~~~889 | SND_TIMER_EVENT_START890c_src/minimidio.h:2065:29: error: request for member 'type' in something not a structure or union891 2065 | case MM_CONTINUE: ev.type=SND_SEQ_EVENT_CONTINUE; break;892 | ^893c_src/minimidio.h:2065:35: error: 'SND_SEQ_EVENT_CONTINUE' undeclared (first use in this function); did you mean 'SND_TIMER_EVENT_CONTINUE'?894 2065 | case MM_CONTINUE: ev.type=SND_SEQ_EVENT_CONTINUE; break;895 | ^~~~~~~~~~~~~~~~~~~~~~896 | SND_TIMER_EVENT_CONTINUE897c_src/minimidio.h:2066:29: error: request for member 'type' in something not a structure or union898 2066 | case MM_STOP: ev.type=SND_SEQ_EVENT_STOP; break;899 | ^900c_src/minimidio.h:2066:35: error: 'SND_SEQ_EVENT_STOP' undeclared (first use in this function); did you mean 'SND_TIMER_EVENT_STOP'?901 2066 | case MM_STOP: ev.type=SND_SEQ_EVENT_STOP; break;902 | ^~~~~~~~~~~~~~~~~~903 | SND_TIMER_EVENT_STOP904c_src/minimidio.h:2068:15: error: request for member 'type' in something not a structure or union905 2068 | ev.type=SND_SEQ_EVENT_SONGPOS;906 | ^907c_src/minimidio.h:2068:21: error: 'SND_SEQ_EVENT_SONGPOS' undeclared (first use in this function)908 2068 | ev.type=SND_SEQ_EVENT_SONGPOS;909 | ^~~~~~~~~~~~~~~~~~~~~910c_src/minimidio.h:2069:15: error: request for member 'data' in something not a structure or union911 2069 | ev.data.control.value=msg->song_position; break;912 | ^913c_src/minimidio.h:2071:15: error: request for member 'type' in something not a structure or union914 2071 | ev.type=SND_SEQ_EVENT_QFRAME;915 | ^916c_src/minimidio.h:2071:21: error: 'SND_SEQ_EVENT_QFRAME' undeclared (first use in this function)917 2071 | ev.type=SND_SEQ_EVENT_QFRAME;918 | ^~~~~~~~~~~~~~~~~~~~919c_src/minimidio.h:2072:15: error: request for member 'data' in something not a structure or union920 2072 | ev.data.control.value=msg->data[0]; break;921 | ^922c_src/minimidio.h:2074:15: error: request for member 'type' in something not a structure or union923 2074 | ev.type=SND_SEQ_EVENT_SONGSEL;924 | ^925c_src/minimidio.h:2074:21: error: 'SND_SEQ_EVENT_SONGSEL' undeclared (first use in this function)926 2074 | ev.type=SND_SEQ_EVENT_SONGSEL;927 | ^~~~~~~~~~~~~~~~~~~~~928c_src/minimidio.h:2075:15: error: request for member 'data' in something not a structure or union929 2075 | ev.data.control.value=msg->data[0]; break;930 | ^931c_src/minimidio.h:2076:34: error: request for member 'type' in something not a structure or union932 2076 | case MM_TUNE_REQUEST: ev.type=SND_SEQ_EVENT_TUNE_REQUEST; break;933 | ^934c_src/minimidio.h:2076:40: error: 'SND_SEQ_EVENT_TUNE_REQUEST' undeclared (first use in this function)935 2076 | case MM_TUNE_REQUEST: ev.type=SND_SEQ_EVENT_TUNE_REQUEST; break;936 | ^~~~~~~~~~~~~~~~~~~~~~~~~~937c_src/minimidio.h:2077:34: error: request for member 'type' in something not a structure or union938 2077 | case MM_ACTIVE_SENSE: ev.type=SND_SEQ_EVENT_SENSING; break;939 | ^940c_src/minimidio.h:2077:40: error: 'SND_SEQ_EVENT_SENSING' undeclared (first use in this function)941 2077 | case MM_ACTIVE_SENSE: ev.type=SND_SEQ_EVENT_SENSING; break;942 | ^~~~~~~~~~~~~~~~~~~~~943c_src/minimidio.h:2078:34: error: request for member 'type' in something not a structure or union944 2078 | case MM_RESET: ev.type=SND_SEQ_EVENT_RESET; break;945 | ^946c_src/minimidio.h:2078:40: error: 'SND_SEQ_EVENT_RESET' undeclared (first use in this function); did you mean 'SND_CTL_EVENT_LAST'?947 2078 | case MM_RESET: ev.type=SND_SEQ_EVENT_RESET; break;948 | ^~~~~~~~~~~~~~~~~~~949 | SND_CTL_EVENT_LAST950c_src/minimidio.h: In function 'mm_out_send_sysex':951c_src/minimidio.h:2115:5: error: unknown type name 'snd_seq_event_t'; did you mean 'snd_ctl_event_t'?952 2115 | snd_seq_event_t ev; memset(&ev,0,sizeof(ev));953 | ^~~~~~~~~~~~~~~954 | snd_ctl_event_t955c_src/minimidio.h:2116:7: error: request for member 'type' in something not a structure or union956 2116 | ev.type=SND_SEQ_EVENT_SYSEX;957 | ^958c_src/minimidio.h:2116:13: error: 'SND_SEQ_EVENT_SYSEX' undeclared (first use in this function)959 2116 | ev.type=SND_SEQ_EVENT_SYSEX;960 | ^~~~~~~~~~~~~~~~~~~961c_src/minimidio.h:2117:7: error: request for member 'data' in something not a structure or union962 2117 | ev.data.ext.len=(unsigned int)size;963 | ^964c_src/minimidio.h:2118:7: error: request for member 'data' in something not a structure or union965 2118 | ev.data.ext.ptr=dev->al.sysex_buf;966 | ^967c_src/minimidio.h:2119:7: error: request for member 'flags' in something not a structure or union968 2119 | ev.flags=SND_SEQ_EVENT_LENGTH_VARIABLE;969 | ^970c_src/minimidio.h:2119:14: error: 'SND_SEQ_EVENT_LENGTH_VARIABLE' undeclared (first use in this function)971 2119 | ev.flags=SND_SEQ_EVENT_LENGTH_VARIABLE;972 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~973c_src/minimidio.h: In function 'mm_out_close':974c_src/minimidio.h:2127:9: error: implicit declaration of function 'snd_seq_disconnect_to' [-Wimplicit-function-declaration]975 2127 | snd_seq_disconnect_to(al->seq,dev->al.port_id,976 | ^~~~~~~~~~~~~~~~~~~~~977c_src/minimidio.h: In function 'mm_in_open_virtual':978c_src/minimidio.h:2160:9: error: 'SND_SEQ_PORT_CAP_WRITE' undeclared (first use in this function)979 2160 | SND_SEQ_PORT_CAP_WRITE | SND_SEQ_PORT_CAP_SUBS_WRITE,980 | ^~~~~~~~~~~~~~~~~~~~~~981c_src/minimidio.h:2160:34: error: 'SND_SEQ_PORT_CAP_SUBS_WRITE' undeclared (first use in this function)982 2160 | SND_SEQ_PORT_CAP_WRITE | SND_SEQ_PORT_CAP_SUBS_WRITE,983 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~984c_src/minimidio.h:2161:9: error: 'SND_SEQ_PORT_TYPE_APPLICATION' undeclared (first use in this function)985 2161 | SND_SEQ_PORT_TYPE_APPLICATION | SND_SEQ_PORT_TYPE_MIDI_GENERIC);986 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~987c_src/minimidio.h:2161:41: error: 'SND_SEQ_PORT_TYPE_MIDI_GENERIC' undeclared (first use in this function)988 2161 | SND_SEQ_PORT_TYPE_APPLICATION | SND_SEQ_PORT_TYPE_MIDI_GENERIC);989 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~990c_src/minimidio.h: In function 'mm_out_open_virtual':991c_src/minimidio.h:2180:9: error: 'SND_SEQ_PORT_CAP_READ' undeclared (first use in this function)992 2180 | SND_SEQ_PORT_CAP_READ | SND_SEQ_PORT_CAP_SUBS_READ,993 | ^~~~~~~~~~~~~~~~~~~~~994c_src/minimidio.h:2180:33: error: 'SND_SEQ_PORT_CAP_SUBS_READ' undeclared (first use in this function)995 2180 | SND_SEQ_PORT_CAP_READ | SND_SEQ_PORT_CAP_SUBS_READ,996 | ^~~~~~~~~~~~~~~~~~~~~~~~~~997c_src/minimidio.h:2181:9: error: 'SND_SEQ_PORT_TYPE_APPLICATION' undeclared (first use in this function)998 2181 | SND_SEQ_PORT_TYPE_APPLICATION | SND_SEQ_PORT_TYPE_MIDI_GENERIC);999 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~1000c_src/minimidio.h:2181:41: error: 'SND_SEQ_PORT_TYPE_MIDI_GENERIC' undeclared (first use in this function)1001 2181 | SND_SEQ_PORT_TYPE_APPLICATION | SND_SEQ_PORT_TYPE_MIDI_GENERIC);1002 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1003make: *** [Makefile:24: priv/tuning_fork_midi_nif.so] Error 11004could not compile dependency :tuning_fork_midi, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile tuning_fork_midi --force", update it with "mix deps.update tuning_fork_midi" or clean it with "mix deps.clean tuning_fork_midi"1005==> nerves_compatibility_test1006** (Mix) Could not compile with "make" (exit status: 2).1007tuning_fork_midi's MIDI ports did not build.10081009This package is only the ports. tuning_fork itself is pure Elixir and needs none of it:1010drop this dependency and everything but playing to and reading from a MIDI device still1011works, including writing a .mid file with TuningFork.Midi.write!/3.10121013Building it needs a C compiler, and on Linux the ALSA headers (libasound2-dev).1014