tuning_fork_midi

Build log

nerves_system_rpi5

tuning_fork_midi 0.1.11 · fail · run tuning_fork_midi-0.1.11-1791145763815
1013 of 1013 lines
1Resolving Hex dependencies...2Resolution completed in 0.481s3Unchanged: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/rpi5/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/rpi5/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/rpi5/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/rpi5/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/rpi5/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/rpi5/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/rpi5/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/rpi5/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/rpi5/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/rpi5/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/rpi5/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/rpi5/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/rpi5/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/rpi5/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/rpi5/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/rpi5/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/rpi5/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/rpi5/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/rpi5/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/rpi5/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/rpi5/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_aarch64_nerves_linux_gnu238Compiling 1 file (.ex)239Generated nerves_toolchain_aarch64_nerves_linux_gnu app240==> nerves_system_rpi5241Generated nerves_system_rpi5 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/3439440     warning: the following conditional expression:441442         File.mkdir_p!(TuningFork.Sample.Fetch.dir())443444     will always evaluate to:445446         dynamic(:ok)447448     type warning found at:449     │450 144 │     unless File.exists?(path), do: File.mkdir_p!(Fetch.dir()) && File.write!(path, bytes)451     │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~452     │453     └─ lib/tuning_fork/sample/font.ex:144: TuningFork.Sample.Font.decode/3454455Generated tuning_fork app456==> tuning_fork_midi457mkdir -p priv458/home/nerves/.nerves/artifacts/nerves_toolchain_aarch64_nerves_linux_gnu-15.3.1/bin/aarch64-nerves-linux-gnu-gcc -mabi=lp64 -Wl,-z,max-page-size=4096 -Wl,-z,common-page-size=4096 -fstack-protector-strong -mcpu=cortex-a76 -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_rpi5-2.1.2/staging -I/home/nerves/.nerves/artifacts/nerves_system_rpi5-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_rpi5-2.1.2/staging -shared -lpthread -lasound459In file included from c_src/tuning_fork_midi_nif.c:22:460c_src/minimidio.h:483:5: error: unknown type name 'snd_seq_t'; did you mean 'snd_sctl_t'?461  483 |     snd_seq_t* seq;462      |     ^~~~~~~~~463      |     snd_sctl_t464c_src/minimidio.h:497:5: error: unknown type name 'snd_midi_event_t'; did you mean 'snd_mixer_event_t'?465  497 |     snd_midi_event_t* midi_ev;     /* raw path: byte<->event coder (NULL otherwise) */466      |     ^~~~~~~~~~~~~~~~467      |     snd_mixer_event_t468c_src/minimidio.h: In function 'mm_context_init':469c_src/minimidio.h:1493:9: error: implicit declaration of function 'snd_seq_open'; did you mean 'snd_ctl_open'? [-Wimplicit-function-declaration]470 1493 |     if (snd_seq_open(&ctx->al.seq, "default", SND_SEQ_OPEN_DUPLEX, 0) < 0)471      |         ^~~~~~~~~~~~472      |         snd_ctl_open473c_src/minimidio.h:1493:47: error: 'SND_SEQ_OPEN_DUPLEX' undeclared (first use in this function)474 1493 |     if (snd_seq_open(&ctx->al.seq, "default", SND_SEQ_OPEN_DUPLEX, 0) < 0)475      |                                               ^~~~~~~~~~~~~~~~~~~476c_src/minimidio.h:1493:47: note: each undeclared identifier is reported only once for each function it appears in477c_src/minimidio.h:1495:5: error: implicit declaration of function 'snd_seq_set_client_name' [-Wimplicit-function-declaration]478 1495 |     snd_seq_set_client_name(ctx->al.seq, ctx->name);479      |     ^~~~~~~~~~~~~~~~~~~~~~~480c_src/minimidio.h:1496:25: error: implicit declaration of function 'snd_seq_client_id' [-Wimplicit-function-declaration]481 1496 |     ctx->al.client_id = snd_seq_client_id(ctx->al.seq);482      |                         ^~~~~~~~~~~~~~~~~483c_src/minimidio.h: In function 'mm_context_uninit':484c_src/minimidio.h:1502:5: error: implicit declaration of function 'snd_seq_close'; did you mean 'snd_ctl_close'? [-Wimplicit-function-declaration]485 1502 |     snd_seq_close(ctx->al.seq);486      |     ^~~~~~~~~~~~~487      |     snd_ctl_close488c_src/minimidio.h: In function 'mm__alsa_enum':489c_src/minimidio.h:1529:5: error: unknown type name 'snd_seq_client_info_t'; did you mean 'snd_ctl_elem_info_t'?490 1529 |     snd_seq_client_info_t* ci;491      |     ^~~~~~~~~~~~~~~~~~~~~492      |     snd_ctl_elem_info_t493c_src/minimidio.h:1530:5: error: unknown type name 'snd_seq_port_info_t'; did you mean 'snd_ctl_card_info_t'?494 1530 |     snd_seq_port_info_t*   pi;495      |     ^~~~~~~~~~~~~~~~~~~496      |     snd_ctl_card_info_t497c_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]498 1531 |     snd_seq_client_info_alloca(&ci);499      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~500      |     snd_ctl_elem_info_alloca501c_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]502 1532 |     snd_seq_port_info_alloca(&pi);503      |     ^~~~~~~~~~~~~~~~~~~~~~~~504      |     snd_ctl_card_info_alloca505c_src/minimidio.h:1534:5: error: implicit declaration of function 'snd_seq_client_info_set_client' [-Wimplicit-function-declaration]506 1534 |     snd_seq_client_info_set_client(ci, -1);507      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~508c_src/minimidio.h:1535:12: error: implicit declaration of function 'snd_seq_query_next_client' [-Wimplicit-function-declaration]509 1535 |     while (snd_seq_query_next_client(al->seq, ci) >= 0) {510      |            ^~~~~~~~~~~~~~~~~~~~~~~~~511c_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]512 1536 |         int cid = snd_seq_client_info_get_client(ci);513      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~514      |                   snd_ctl_elem_info_get_count515c_src/minimidio.h:1538:9: error: implicit declaration of function 'snd_seq_port_info_set_client' [-Wimplicit-function-declaration]516 1538 |         snd_seq_port_info_set_client(pi, cid);517      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~518c_src/minimidio.h:1539:9: error: implicit declaration of function 'snd_seq_port_info_set_port' [-Wimplicit-function-declaration]519 1539 |         snd_seq_port_info_set_port(pi, -1);520      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~521c_src/minimidio.h:1540:16: error: implicit declaration of function 'snd_seq_query_next_port' [-Wimplicit-function-declaration]522 1540 |         while (snd_seq_query_next_port(al->seq, pi) >= 0) {523      |                ^~~~~~~~~~~~~~~~~~~~~~~524c_src/minimidio.h:1541:32: error: implicit declaration of function 'snd_seq_port_info_get_capability' [-Wimplicit-function-declaration]525 1541 |             unsigned int cap = snd_seq_port_info_get_capability(pi);526      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~527c_src/minimidio.h:1546:25: error: implicit declaration of function 'snd_seq_port_info_get_port' [-Wimplicit-function-declaration]528 1546 |             p->port   = snd_seq_port_info_get_port(pi);529      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~530c_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]531 1548 |                      snd_seq_client_info_get_name(ci),532      |                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~533      |                      snd_ctl_elem_info_get_name534c_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]535 1549 |                      snd_seq_port_info_get_name(pi), cid, p->port);536      |                      ^~~~~~~~~~~~~~~~~~~~~~~~~~537      |                      snd_ctl_card_info_get_name538c_src/minimidio.h: In function 'mm_in_count':539c_src/minimidio.h:1559:9: error: 'SND_SEQ_PORT_CAP_READ' undeclared (first use in this function)540 1559 |         SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,541      |         ^~~~~~~~~~~~~~~~~~~~~542c_src/minimidio.h:1559:31: error: 'SND_SEQ_PORT_CAP_SUBS_READ' undeclared (first use in this function)543 1559 |         SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,544      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~545c_src/minimidio.h: In function 'mm_out_count':546c_src/minimidio.h:1567:9: error: 'SND_SEQ_PORT_CAP_WRITE' undeclared (first use in this function)547 1567 |         SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE, 0);548      |         ^~~~~~~~~~~~~~~~~~~~~~549c_src/minimidio.h:1567:32: error: 'SND_SEQ_PORT_CAP_SUBS_WRITE' undeclared (first use in this function)550 1567 |         SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE, 0);551      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~552c_src/minimidio.h: In function 'mm_in_name':553c_src/minimidio.h:1574:9: error: 'SND_SEQ_PORT_CAP_READ' undeclared (first use in this function)554 1574 |         SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,555      |         ^~~~~~~~~~~~~~~~~~~~~556c_src/minimidio.h:1574:31: error: 'SND_SEQ_PORT_CAP_SUBS_READ' undeclared (first use in this function)557 1574 |         SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,558      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~559c_src/minimidio.h: In function 'mm_out_name':560c_src/minimidio.h:1583:9: error: 'SND_SEQ_PORT_CAP_WRITE' undeclared (first use in this function)561 1583 |         SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE, 0);562      |         ^~~~~~~~~~~~~~~~~~~~~~563c_src/minimidio.h:1583:32: error: 'SND_SEQ_PORT_CAP_SUBS_WRITE' undeclared (first use in this function)564 1583 |         SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE, 0);565      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~566c_src/minimidio.h: In function 'mm__alsa_recv_thread':567c_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]568 1597 |     int nalsa = snd_seq_poll_descriptors_count(al->seq, POLLIN);569      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~570      |                 snd_ctl_poll_descriptors_count571c_src/minimidio.h:1603:5: error: implicit declaration of function 'snd_seq_poll_descriptors'; did you mean 'snd_ctl_poll_descriptors'? [-Wimplicit-function-declaration]572 1603 |     snd_seq_poll_descriptors(al->seq, pfds, (unsigned)nalsa, POLLIN);573      |     ^~~~~~~~~~~~~~~~~~~~~~~~574      |     snd_ctl_poll_descriptors575c_src/minimidio.h:1619:16: error: implicit declaration of function 'snd_seq_event_input_pending' [-Wimplicit-function-declaration]576 1619 |         while (snd_seq_event_input_pending(al->seq, 1) > 0) {577      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~578c_src/minimidio.h:1654:17: error: unknown type name 'snd_seq_event_t'; did you mean 'snd_ctl_event_t'?579 1654 |                 snd_seq_event_t* ev = NULL;580      |                 ^~~~~~~~~~~~~~~581      |                 snd_ctl_event_t582c_src/minimidio.h:1655:26: error: implicit declaration of function 'snd_seq_event_input' [-Wimplicit-function-declaration]583 1655 |                 int rc = snd_seq_event_input(al->seq, &ev);584      |                          ^~~~~~~~~~~~~~~~~~~585c_src/minimidio.h:1662:23: error: request for member 'type' in something not a structure or union586 1662 |                 if (ev->type == SND_SEQ_EVENT_SYSEX) {587      |                       ^~588c_src/minimidio.h:1662:33: error: 'SND_SEQ_EVENT_SYSEX' undeclared (first use in this function)589 1662 |                 if (ev->type == SND_SEQ_EVENT_SYSEX) {590      |                                 ^~~~~~~~~~~~~~~~~~~591c_src/minimidio.h:1663:46: error: request for member 'data' in something not a structure or union592 1663 |                     uint8_t* d = (uint8_t*)ev->data.ext.ptr;593      |                                              ^~594c_src/minimidio.h:1664:36: error: request for member 'data' in something not a structure or union595 1664 |                     size_t   n = ev->data.ext.len;596      |                                    ^~597c_src/minimidio.h:1678:30: error: implicit declaration of function 'snd_midi_event_decode' [-Wimplicit-function-declaration]598 1678 |                     long n = snd_midi_event_decode(da->midi_ev, buf,599      |                              ^~~~~~~~~~~~~~~~~~~~~600c_src/minimidio.h:1687:13: error: unknown type name 'snd_seq_event_t'; did you mean 'snd_ctl_event_t'?601 1687 |             snd_seq_event_t* ev = NULL;602      |             ^~~~~~~~~~~~~~~603      |             snd_ctl_event_t604c_src/minimidio.h:1696:23: error: request for member 'type' in something not a structure or union605 1696 |             switch (ev->type) {606      |                       ^~607c_src/minimidio.h:1698:22: error: 'SND_SEQ_EVENT_NOTEON' undeclared (first use in this function)608 1698 |                 case SND_SEQ_EVENT_NOTEON:609      |                      ^~~~~~~~~~~~~~~~~~~~610c_src/minimidio.h:1699:38: error: request for member 'data' in something not a structure or union611 1699 |                     msg.type    = (ev->data.note.velocity > 0) ? MM_NOTE_ON : MM_NOTE_OFF;612      |                                      ^~613c_src/minimidio.h:1700:37: error: request for member 'data' in something not a structure or union614 1700 |                     msg.channel = ev->data.note.channel;615      |                                     ^~616c_src/minimidio.h:1701:37: error: request for member 'data' in something not a structure or union617 1701 |                     msg.data[0] = ev->data.note.note;618      |                                     ^~619c_src/minimidio.h:1702:37: error: request for member 'data' in something not a structure or union620 1702 |                     msg.data[1] = ev->data.note.velocity;621      |                                     ^~622c_src/minimidio.h:1705:22: error: 'SND_SEQ_EVENT_NOTEOFF' undeclared (first use in this function)623 1705 |                 case SND_SEQ_EVENT_NOTEOFF:624      |                      ^~~~~~~~~~~~~~~~~~~~~625c_src/minimidio.h:1706:57: error: request for member 'data' in something not a structure or union626 1706 |                     msg.type=MM_NOTE_OFF; msg.channel=ev->data.note.channel;627      |                                                         ^~628c_src/minimidio.h:1707:35: error: request for member 'data' in something not a structure or union629 1707 |                     msg.data[0]=ev->data.note.note; msg.data[1]=ev->data.note.velocity;630      |                                   ^~631c_src/minimidio.h:1707:67: error: request for member 'data' in something not a structure or union632 1707 |                     msg.data[0]=ev->data.note.note; msg.data[1]=ev->data.note.velocity;633      |                                                                   ^~634c_src/minimidio.h:1710:22: error: 'SND_SEQ_EVENT_KEYPRESS' undeclared (first use in this function)635 1710 |                 case SND_SEQ_EVENT_KEYPRESS:636      |                      ^~~~~~~~~~~~~~~~~~~~~~637c_src/minimidio.h:1711:62: error: request for member 'data' in something not a structure or union638 1711 |                     msg.type=MM_POLY_PRESSURE; msg.channel=ev->data.note.channel;639      |                                                              ^~640c_src/minimidio.h:1712:35: error: request for member 'data' in something not a structure or union641 1712 |                     msg.data[0]=ev->data.note.note; msg.data[1]=ev->data.note.velocity;642      |                                   ^~643c_src/minimidio.h:1712:67: error: request for member 'data' in something not a structure or union644 1712 |                     msg.data[0]=ev->data.note.note; msg.data[1]=ev->data.note.velocity;645      |                                                                   ^~646c_src/minimidio.h:1715:22: error: 'SND_SEQ_EVENT_CONTROLLER' undeclared (first use in this function)647 1715 |                 case SND_SEQ_EVENT_CONTROLLER:648      |                      ^~~~~~~~~~~~~~~~~~~~~~~~649c_src/minimidio.h:1716:63: error: request for member 'data' in something not a structure or union650 1716 |                     msg.type=MM_CONTROL_CHANGE; msg.channel=ev->data.control.channel;651      |                                                               ^~652c_src/minimidio.h:1717:44: error: request for member 'data' in something not a structure or union653 1717 |                     msg.data[0]=(uint8_t)ev->data.control.param;654      |                                            ^~655c_src/minimidio.h:1718:44: error: request for member 'data' in something not a structure or union656 1718 |                     msg.data[1]=(uint8_t)ev->data.control.value;657      |                                            ^~658c_src/minimidio.h:1721:22: error: 'SND_SEQ_EVENT_PGMCHANGE' undeclared (first use in this function)659 1721 |                 case SND_SEQ_EVENT_PGMCHANGE:660      |                      ^~~~~~~~~~~~~~~~~~~~~~~661c_src/minimidio.h:1722:63: error: request for member 'data' in something not a structure or union662 1722 |                     msg.type=MM_PROGRAM_CHANGE; msg.channel=ev->data.control.channel;663      |                                                               ^~664c_src/minimidio.h:1723:44: error: request for member 'data' in something not a structure or union665 1723 |                     msg.data[0]=(uint8_t)ev->data.control.value;666      |                                            ^~667c_src/minimidio.h:1726:22: error: 'SND_SEQ_EVENT_CHANPRESS' undeclared (first use in this function)668 1726 |                 case SND_SEQ_EVENT_CHANPRESS:669      |                      ^~~~~~~~~~~~~~~~~~~~~~~670c_src/minimidio.h:1727:65: error: request for member 'data' in something not a structure or union671 1727 |                     msg.type=MM_CHANNEL_PRESSURE; msg.channel=ev->data.control.channel;672      |                                                                 ^~673c_src/minimidio.h:1728:44: error: request for member 'data' in something not a structure or union674 1728 |                     msg.data[0]=(uint8_t)ev->data.control.value;675      |                                            ^~676c_src/minimidio.h:1731:22: error: 'SND_SEQ_EVENT_PITCHBEND' undeclared (first use in this function)677 1731 |                 case SND_SEQ_EVENT_PITCHBEND: {678      |                      ^~~~~~~~~~~~~~~~~~~~~~~679c_src/minimidio.h:1732:30: error: request for member 'data' in something not a structure or union680 1732 |                     int pb=ev->data.control.value+8192;681      |                              ^~682c_src/minimidio.h:1733:59: error: request for member 'data' in something not a structure or union683 1733 |                     msg.type=MM_PITCH_BEND; msg.channel=ev->data.control.channel;684      |                                                           ^~685c_src/minimidio.h:1739:22: error: 'SND_SEQ_EVENT_CLOCK' undeclared (first use in this function)686 1739 |                 case SND_SEQ_EVENT_CLOCK:687      |                      ^~~~~~~~~~~~~~~~~~~688c_src/minimidio.h:1741:22: error: 'SND_SEQ_EVENT_START' undeclared (first use in this function); did you mean 'SND_TIMER_EVENT_START'?689 1741 |                 case SND_SEQ_EVENT_START:690      |                      ^~~~~~~~~~~~~~~~~~~691      |                      SND_TIMER_EVENT_START692c_src/minimidio.h:1743:22: error: 'SND_SEQ_EVENT_CONTINUE' undeclared (first use in this function); did you mean 'SND_TIMER_EVENT_CONTINUE'?693 1743 |                 case SND_SEQ_EVENT_CONTINUE:694      |                      ^~~~~~~~~~~~~~~~~~~~~~695      |                      SND_TIMER_EVENT_CONTINUE696c_src/minimidio.h:1745:22: error: 'SND_SEQ_EVENT_STOP' undeclared (first use in this function); did you mean 'SND_TIMER_EVENT_STOP'?697 1745 |                 case SND_SEQ_EVENT_STOP:698      |                      ^~~~~~~~~~~~~~~~~~699      |                      SND_TIMER_EVENT_STOP700c_src/minimidio.h:1749:22: error: 'SND_SEQ_EVENT_SONGPOS' undeclared (first use in this function)701 1749 |                 case SND_SEQ_EVENT_SONGPOS: {702      |                      ^~~~~~~~~~~~~~~~~~~~~703c_src/minimidio.h:1750:46: error: request for member 'data' in something not a structure or union704 1750 |                     uint16_t pos=(uint16_t)ev->data.control.value;705      |                                              ^~706c_src/minimidio.h:1758:22: error: 'SND_SEQ_EVENT_QFRAME' undeclared (first use in this function)707 1758 |                 case SND_SEQ_EVENT_QFRAME:708      |                      ^~~~~~~~~~~~~~~~~~~~709c_src/minimidio.h:1760:44: error: request for member 'data' in something not a structure or union710 1760 |                     msg.data[0]=(uint8_t)ev->data.control.value;711      |                                            ^~712c_src/minimidio.h:1764:22: error: 'SND_SEQ_EVENT_SONGSEL' undeclared (first use in this function)713 1764 |                 case SND_SEQ_EVENT_SONGSEL:714      |                      ^~~~~~~~~~~~~~~~~~~~~715c_src/minimidio.h:1766:44: error: request for member 'data' in something not a structure or union716 1766 |                     msg.data[0]=(uint8_t)ev->data.control.value;717      |                                            ^~718c_src/minimidio.h:1770:22: error: 'SND_SEQ_EVENT_SENSING' undeclared (first use in this function)719 1770 |                 case SND_SEQ_EVENT_SENSING:720      |                      ^~~~~~~~~~~~~~~~~~~~~721c_src/minimidio.h:1775:22: error: 'SND_SEQ_EVENT_TUNE_REQUEST' undeclared (first use in this function)722 1775 |                 case SND_SEQ_EVENT_TUNE_REQUEST:723      |                      ^~~~~~~~~~~~~~~~~~~~~~~~~~724c_src/minimidio.h:1780:22: error: 'SND_SEQ_EVENT_RESET' undeclared (first use in this function); did you mean 'SND_CTL_EVENT_LAST'?725 1780 |                 case SND_SEQ_EVENT_RESET:726      |                      ^~~~~~~~~~~~~~~~~~~727      |                      SND_CTL_EVENT_LAST728c_src/minimidio.h:1786:44: error: request for member 'data' in something not a structure or union729 1786 |                     uint8_t* d=(uint8_t*)ev->data.ext.ptr;730      |                                            ^~731c_src/minimidio.h:1787:34: error: request for member 'data' in something not a structure or union732 1787 |                     size_t   n=ev->data.ext.len;733      |                                  ^~734c_src/minimidio.h: In function 'mm_in_open':735c_src/minimidio.h:1819:9: error: 'SND_SEQ_PORT_CAP_READ' undeclared (first use in this function)736 1819 |         SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,737      |         ^~~~~~~~~~~~~~~~~~~~~738c_src/minimidio.h:1819:31: error: 'SND_SEQ_PORT_CAP_SUBS_READ' undeclared (first use in this function)739 1819 |         SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,740      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~741c_src/minimidio.h:1831:23: error: implicit declaration of function 'snd_seq_create_simple_port' [-Wimplicit-function-declaration]742 1831 |     dev->al.port_id = snd_seq_create_simple_port(ctx->al.seq, portname,743      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~744c_src/minimidio.h:1832:9: error: 'SND_SEQ_PORT_CAP_WRITE' undeclared (first use in this function)745 1832 |         SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE,746      |         ^~~~~~~~~~~~~~~~~~~~~~747c_src/minimidio.h:1832:32: error: 'SND_SEQ_PORT_CAP_SUBS_WRITE' undeclared (first use in this function)748 1832 |         SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE,749      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~750c_src/minimidio.h:1833:9: error: 'SND_SEQ_PORT_TYPE_APPLICATION' undeclared (first use in this function)751 1833 |         SND_SEQ_PORT_TYPE_APPLICATION);752      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~753c_src/minimidio.h: In function 'mm_in_open_raw':754c_src/minimidio.h:1887:9: error: 'SND_SEQ_PORT_CAP_READ' undeclared (first use in this function)755 1887 |         SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,756      |         ^~~~~~~~~~~~~~~~~~~~~757c_src/minimidio.h:1887:31: error: 'SND_SEQ_PORT_CAP_SUBS_READ' undeclared (first use in this function)758 1887 |         SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,759      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~760c_src/minimidio.h:1896:9: error: implicit declaration of function 'snd_midi_event_new'; did you mean 'snd_mixer_elem_new'? [-Wimplicit-function-declaration]761 1896 |     if (snd_midi_event_new(MM_SYSEX_BUF_SIZE, &dev->al.midi_ev) < 0)762      |         ^~~~~~~~~~~~~~~~~~763      |         snd_mixer_elem_new764c_src/minimidio.h:1898:5: error: implicit declaration of function 'snd_midi_event_no_status' [-Wimplicit-function-declaration]765 1898 |     snd_midi_event_no_status(dev->al.midi_ev, 1);766      |     ^~~~~~~~~~~~~~~~~~~~~~~~767c_src/minimidio.h:1901:9: error: implicit declaration of function 'snd_midi_event_free'; did you mean 'snd_ctl_event_free'? [-Wimplicit-function-declaration]768 1901 |         snd_midi_event_free(dev->al.midi_ev); dev->al.midi_ev=NULL; return MM_ERROR;769      |         ^~~~~~~~~~~~~~~~~~~770      |         snd_ctl_event_free771c_src/minimidio.h:1906:9: error: 'SND_SEQ_PORT_CAP_WRITE' undeclared (first use in this function)772 1906 |         SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE,773      |         ^~~~~~~~~~~~~~~~~~~~~~774c_src/minimidio.h:1906:32: error: 'SND_SEQ_PORT_CAP_SUBS_WRITE' undeclared (first use in this function)775 1906 |         SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE,776      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~777c_src/minimidio.h:1907:9: error: 'SND_SEQ_PORT_TYPE_APPLICATION' undeclared (first use in this function)778 1907 |         SND_SEQ_PORT_TYPE_APPLICATION);779      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~780c_src/minimidio.h: In function 'mm_in_open_virtual_raw':781c_src/minimidio.h:1932:9: error: 'SND_SEQ_PORT_CAP_WRITE' undeclared (first use in this function)782 1932 |         SND_SEQ_PORT_CAP_WRITE | SND_SEQ_PORT_CAP_SUBS_WRITE,783      |         ^~~~~~~~~~~~~~~~~~~~~~784c_src/minimidio.h:1932:34: error: 'SND_SEQ_PORT_CAP_SUBS_WRITE' undeclared (first use in this function)785 1932 |         SND_SEQ_PORT_CAP_WRITE | SND_SEQ_PORT_CAP_SUBS_WRITE,786      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~787c_src/minimidio.h:1933:9: error: 'SND_SEQ_PORT_TYPE_APPLICATION' undeclared (first use in this function)788 1933 |         SND_SEQ_PORT_TYPE_APPLICATION | SND_SEQ_PORT_TYPE_MIDI_GENERIC);789      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~790c_src/minimidio.h:1933:41: error: 'SND_SEQ_PORT_TYPE_MIDI_GENERIC' undeclared (first use in this function)791 1933 |         SND_SEQ_PORT_TYPE_APPLICATION | SND_SEQ_PORT_TYPE_MIDI_GENERIC);792      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~793c_src/minimidio.h: In function 'mm_in_start':794c_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]795 1946 |         snd_seq_connect_from(al->seq, dev->al.port_id,796      |         ^~~~~~~~~~~~~~~~~~~~797      |         snd_ctl_convert_from_dB798c_src/minimidio.h:1954:13: error: implicit declaration of function 'snd_seq_disconnect_from' [-Wimplicit-function-declaration]799 1954 |             snd_seq_disconnect_from(al->seq, dev->al.port_id,800      |             ^~~~~~~~~~~~~~~~~~~~~~~801c_src/minimidio.h: In function 'mm_in_close':802c_src/minimidio.h:1982:5: error: implicit declaration of function 'snd_seq_delete_port' [-Wimplicit-function-declaration]803 1982 |     snd_seq_delete_port(dev->ctx->al.seq, dev->al.port_id);804      |     ^~~~~~~~~~~~~~~~~~~805c_src/minimidio.h: In function 'mm_out_open':806c_src/minimidio.h:1991:9: error: 'SND_SEQ_PORT_CAP_WRITE' undeclared (first use in this function)807 1991 |         SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE, 0);808      |         ^~~~~~~~~~~~~~~~~~~~~~809c_src/minimidio.h:1991:32: error: 'SND_SEQ_PORT_CAP_SUBS_WRITE' undeclared (first use in this function)810 1991 |         SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE, 0);811      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~812c_src/minimidio.h:1998:9: error: 'SND_SEQ_PORT_CAP_READ' undeclared (first use in this function)813 1998 |         SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,814      |         ^~~~~~~~~~~~~~~~~~~~~815c_src/minimidio.h:1998:31: error: 'SND_SEQ_PORT_CAP_SUBS_READ' undeclared (first use in this function)816 1998 |         SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,817      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~818c_src/minimidio.h:1999:9: error: 'SND_SEQ_PORT_TYPE_APPLICATION' undeclared (first use in this function)819 1999 |         SND_SEQ_PORT_TYPE_APPLICATION);820      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~821c_src/minimidio.h:2001:5: error: implicit declaration of function 'snd_seq_connect_to' [-Wimplicit-function-declaration]822 2001 |     snd_seq_connect_to(ctx->al.seq, dev->al.port_id,823      |     ^~~~~~~~~~~~~~~~~~824c_src/minimidio.h: At top level:825c_src/minimidio.h:2008:46: error: unknown type name 'snd_seq_event_t'; did you mean 'snd_ctl_event_t'?826 2008 | static void mm__alsa_send_ev(mm_device* dev, snd_seq_event_t* ev) {827      |                                              ^~~~~~~~~~~~~~~828      |                                              snd_ctl_event_t829c_src/minimidio.h: In function 'mm_out_send_raw':830c_src/minimidio.h:2028:5: error: implicit declaration of function 'snd_midi_event_reset_encode' [-Wimplicit-function-declaration]831 2028 |     snd_midi_event_reset_encode(dev->al.midi_ev);832      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~833c_src/minimidio.h:2031:9: error: unknown type name 'snd_seq_event_t'; did you mean 'snd_ctl_event_t'?834 2031 |         snd_seq_event_t ev; memset(&ev,0,sizeof(ev));835      |         ^~~~~~~~~~~~~~~836      |         snd_ctl_event_t837c_src/minimidio.h:2032:21: error: implicit declaration of function 'snd_midi_event_encode' [-Wimplicit-function-declaration]838 2032 |         long used = snd_midi_event_encode(dev->al.midi_ev, data+off,839      |                     ^~~~~~~~~~~~~~~~~~~~~840c_src/minimidio.h:2036:15: error: request for member 'type' in something not a structure or union841 2036 |         if (ev.type != SND_SEQ_EVENT_NONE)842      |               ^843c_src/minimidio.h:2036:24: error: 'SND_SEQ_EVENT_NONE' undeclared (first use in this function)844 2036 |         if (ev.type != SND_SEQ_EVENT_NONE)845      |                        ^~~~~~~~~~~~~~~~~~846c_src/minimidio.h:2037:13: error: implicit declaration of function 'mm__alsa_send_ev'; did you mean 'mm__alsa_enum'? [-Wimplicit-function-declaration]847 2037 |             mm__alsa_send_ev(dev, &ev);848      |             ^~~~~~~~~~~~~~~~849      |             mm__alsa_enum850c_src/minimidio.h: In function 'mm_out_send':851c_src/minimidio.h:2045:5: error: unknown type name 'snd_seq_event_t'; did you mean 'snd_ctl_event_t'?852 2045 |     snd_seq_event_t ev; memset(&ev,0,sizeof(ev));853      |     ^~~~~~~~~~~~~~~854      |     snd_ctl_event_t855c_src/minimidio.h:2048:13: error: implicit declaration of function 'snd_seq_ev_set_noteon' [-Wimplicit-function-declaration]856 2048 |             snd_seq_ev_set_noteon(&ev,msg->channel,msg->data[0],msg->data[1]); break;857      |             ^~~~~~~~~~~~~~~~~~~~~858c_src/minimidio.h:2050:13: error: implicit declaration of function 'snd_seq_ev_set_noteoff' [-Wimplicit-function-declaration]859 2050 |             snd_seq_ev_set_noteoff(&ev,msg->channel,msg->data[0],msg->data[1]); break;860      |             ^~~~~~~~~~~~~~~~~~~~~~861c_src/minimidio.h:2052:13: error: implicit declaration of function 'snd_seq_ev_set_controller' [-Wimplicit-function-declaration]862 2052 |             snd_seq_ev_set_controller(&ev,msg->channel,msg->data[0],msg->data[1]); break;863      |             ^~~~~~~~~~~~~~~~~~~~~~~~~864c_src/minimidio.h:2054:13: error: implicit declaration of function 'snd_seq_ev_set_keypress' [-Wimplicit-function-declaration]865 2054 |             snd_seq_ev_set_keypress(&ev,msg->channel,msg->data[0],msg->data[1]); break;866      |             ^~~~~~~~~~~~~~~~~~~~~~~867c_src/minimidio.h:2056:13: error: implicit declaration of function 'snd_seq_ev_set_chanpress' [-Wimplicit-function-declaration]868 2056 |             snd_seq_ev_set_chanpress(&ev,msg->channel,msg->data[0]); break;869      |             ^~~~~~~~~~~~~~~~~~~~~~~~870c_src/minimidio.h:2059:13: error: implicit declaration of function 'snd_seq_ev_set_pitchbend' [-Wimplicit-function-declaration]871 2059 |             snd_seq_ev_set_pitchbend(&ev,msg->channel,pb-8192); break;872      |             ^~~~~~~~~~~~~~~~~~~~~~~~873c_src/minimidio.h:2062:13: error: implicit declaration of function 'snd_seq_ev_set_pgmchange' [-Wimplicit-function-declaration]874 2062 |             snd_seq_ev_set_pgmchange(&ev,msg->channel,msg->data[0]); break;875      |             ^~~~~~~~~~~~~~~~~~~~~~~~876c_src/minimidio.h:2063:29: error: request for member 'type' in something not a structure or union877 2063 |         case MM_CLOCK:    ev.type=SND_SEQ_EVENT_CLOCK;    break;878      |                             ^879c_src/minimidio.h:2063:35: error: 'SND_SEQ_EVENT_CLOCK' undeclared (first use in this function)880 2063 |         case MM_CLOCK:    ev.type=SND_SEQ_EVENT_CLOCK;    break;881      |                                   ^~~~~~~~~~~~~~~~~~~882c_src/minimidio.h:2064:29: error: request for member 'type' in something not a structure or union883 2064 |         case MM_START:    ev.type=SND_SEQ_EVENT_START;    break;884      |                             ^885c_src/minimidio.h:2064:35: error: 'SND_SEQ_EVENT_START' undeclared (first use in this function); did you mean 'SND_TIMER_EVENT_START'?886 2064 |         case MM_START:    ev.type=SND_SEQ_EVENT_START;    break;887      |                                   ^~~~~~~~~~~~~~~~~~~888      |                                   SND_TIMER_EVENT_START889c_src/minimidio.h:2065:29: error: request for member 'type' in something not a structure or union890 2065 |         case MM_CONTINUE: ev.type=SND_SEQ_EVENT_CONTINUE; break;891      |                             ^892c_src/minimidio.h:2065:35: error: 'SND_SEQ_EVENT_CONTINUE' undeclared (first use in this function); did you mean 'SND_TIMER_EVENT_CONTINUE'?893 2065 |         case MM_CONTINUE: ev.type=SND_SEQ_EVENT_CONTINUE; break;894      |                                   ^~~~~~~~~~~~~~~~~~~~~~895      |                                   SND_TIMER_EVENT_CONTINUE896c_src/minimidio.h:2066:29: error: request for member 'type' in something not a structure or union897 2066 |         case MM_STOP:     ev.type=SND_SEQ_EVENT_STOP;     break;898      |                             ^899c_src/minimidio.h:2066:35: error: 'SND_SEQ_EVENT_STOP' undeclared (first use in this function); did you mean 'SND_TIMER_EVENT_STOP'?900 2066 |         case MM_STOP:     ev.type=SND_SEQ_EVENT_STOP;     break;901      |                                   ^~~~~~~~~~~~~~~~~~902      |                                   SND_TIMER_EVENT_STOP903c_src/minimidio.h:2068:15: error: request for member 'type' in something not a structure or union904 2068 |             ev.type=SND_SEQ_EVENT_SONGPOS;905      |               ^906c_src/minimidio.h:2068:21: error: 'SND_SEQ_EVENT_SONGPOS' undeclared (first use in this function)907 2068 |             ev.type=SND_SEQ_EVENT_SONGPOS;908      |                     ^~~~~~~~~~~~~~~~~~~~~909c_src/minimidio.h:2069:15: error: request for member 'data' in something not a structure or union910 2069 |             ev.data.control.value=msg->song_position; break;911      |               ^912c_src/minimidio.h:2071:15: error: request for member 'type' in something not a structure or union913 2071 |             ev.type=SND_SEQ_EVENT_QFRAME;914      |               ^915c_src/minimidio.h:2071:21: error: 'SND_SEQ_EVENT_QFRAME' undeclared (first use in this function)916 2071 |             ev.type=SND_SEQ_EVENT_QFRAME;917      |                     ^~~~~~~~~~~~~~~~~~~~918c_src/minimidio.h:2072:15: error: request for member 'data' in something not a structure or union919 2072 |             ev.data.control.value=msg->data[0]; break;920      |               ^921c_src/minimidio.h:2074:15: error: request for member 'type' in something not a structure or union922 2074 |             ev.type=SND_SEQ_EVENT_SONGSEL;923      |               ^924c_src/minimidio.h:2074:21: error: 'SND_SEQ_EVENT_SONGSEL' undeclared (first use in this function)925 2074 |             ev.type=SND_SEQ_EVENT_SONGSEL;926      |                     ^~~~~~~~~~~~~~~~~~~~~927c_src/minimidio.h:2075:15: error: request for member 'data' in something not a structure or union928 2075 |             ev.data.control.value=msg->data[0]; break;929      |               ^930c_src/minimidio.h:2076:34: error: request for member 'type' in something not a structure or union931 2076 |         case MM_TUNE_REQUEST:  ev.type=SND_SEQ_EVENT_TUNE_REQUEST; break;932      |                                  ^933c_src/minimidio.h:2076:40: error: 'SND_SEQ_EVENT_TUNE_REQUEST' undeclared (first use in this function)934 2076 |         case MM_TUNE_REQUEST:  ev.type=SND_SEQ_EVENT_TUNE_REQUEST; break;935      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~936c_src/minimidio.h:2077:34: error: request for member 'type' in something not a structure or union937 2077 |         case MM_ACTIVE_SENSE:  ev.type=SND_SEQ_EVENT_SENSING;      break;938      |                                  ^939c_src/minimidio.h:2077:40: error: 'SND_SEQ_EVENT_SENSING' undeclared (first use in this function)940 2077 |         case MM_ACTIVE_SENSE:  ev.type=SND_SEQ_EVENT_SENSING;      break;941      |                                        ^~~~~~~~~~~~~~~~~~~~~942c_src/minimidio.h:2078:34: error: request for member 'type' in something not a structure or union943 2078 |         case MM_RESET:         ev.type=SND_SEQ_EVENT_RESET;        break;944      |                                  ^945c_src/minimidio.h:2078:40: error: 'SND_SEQ_EVENT_RESET' undeclared (first use in this function); did you mean 'SND_CTL_EVENT_LAST'?946 2078 |         case MM_RESET:         ev.type=SND_SEQ_EVENT_RESET;        break;947      |                                        ^~~~~~~~~~~~~~~~~~~948      |                                        SND_CTL_EVENT_LAST949c_src/minimidio.h: In function 'mm_out_send_sysex':950c_src/minimidio.h:2115:5: error: unknown type name 'snd_seq_event_t'; did you mean 'snd_ctl_event_t'?951 2115 |     snd_seq_event_t ev; memset(&ev,0,sizeof(ev));952      |     ^~~~~~~~~~~~~~~953      |     snd_ctl_event_t954c_src/minimidio.h:2116:7: error: request for member 'type' in something not a structure or union955 2116 |     ev.type=SND_SEQ_EVENT_SYSEX;956      |       ^957c_src/minimidio.h:2116:13: error: 'SND_SEQ_EVENT_SYSEX' undeclared (first use in this function)958 2116 |     ev.type=SND_SEQ_EVENT_SYSEX;959      |             ^~~~~~~~~~~~~~~~~~~960c_src/minimidio.h:2117:7: error: request for member 'data' in something not a structure or union961 2117 |     ev.data.ext.len=(unsigned int)size;962      |       ^963c_src/minimidio.h:2118:7: error: request for member 'data' in something not a structure or union964 2118 |     ev.data.ext.ptr=dev->al.sysex_buf;965      |       ^966c_src/minimidio.h:2119:7: error: request for member 'flags' in something not a structure or union967 2119 |     ev.flags=SND_SEQ_EVENT_LENGTH_VARIABLE;968      |       ^969c_src/minimidio.h:2119:14: error: 'SND_SEQ_EVENT_LENGTH_VARIABLE' undeclared (first use in this function)970 2119 |     ev.flags=SND_SEQ_EVENT_LENGTH_VARIABLE;971      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~972c_src/minimidio.h: In function 'mm_out_close':973c_src/minimidio.h:2127:9: error: implicit declaration of function 'snd_seq_disconnect_to' [-Wimplicit-function-declaration]974 2127 |         snd_seq_disconnect_to(al->seq,dev->al.port_id,975      |         ^~~~~~~~~~~~~~~~~~~~~976c_src/minimidio.h: In function 'mm_in_open_virtual':977c_src/minimidio.h:2160:9: error: 'SND_SEQ_PORT_CAP_WRITE' undeclared (first use in this function)978 2160 |         SND_SEQ_PORT_CAP_WRITE | SND_SEQ_PORT_CAP_SUBS_WRITE,979      |         ^~~~~~~~~~~~~~~~~~~~~~980c_src/minimidio.h:2160:34: error: 'SND_SEQ_PORT_CAP_SUBS_WRITE' undeclared (first use in this function)981 2160 |         SND_SEQ_PORT_CAP_WRITE | SND_SEQ_PORT_CAP_SUBS_WRITE,982      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~983c_src/minimidio.h:2161:9: error: 'SND_SEQ_PORT_TYPE_APPLICATION' undeclared (first use in this function)984 2161 |         SND_SEQ_PORT_TYPE_APPLICATION | SND_SEQ_PORT_TYPE_MIDI_GENERIC);985      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~986c_src/minimidio.h:2161:41: error: 'SND_SEQ_PORT_TYPE_MIDI_GENERIC' undeclared (first use in this function)987 2161 |         SND_SEQ_PORT_TYPE_APPLICATION | SND_SEQ_PORT_TYPE_MIDI_GENERIC);988      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~989c_src/minimidio.h: In function 'mm_out_open_virtual':990c_src/minimidio.h:2180:9: error: 'SND_SEQ_PORT_CAP_READ' undeclared (first use in this function)991 2180 |         SND_SEQ_PORT_CAP_READ | SND_SEQ_PORT_CAP_SUBS_READ,992      |         ^~~~~~~~~~~~~~~~~~~~~993c_src/minimidio.h:2180:33: error: 'SND_SEQ_PORT_CAP_SUBS_READ' undeclared (first use in this function)994 2180 |         SND_SEQ_PORT_CAP_READ | SND_SEQ_PORT_CAP_SUBS_READ,995      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~996c_src/minimidio.h:2181:9: error: 'SND_SEQ_PORT_TYPE_APPLICATION' undeclared (first use in this function)997 2181 |         SND_SEQ_PORT_TYPE_APPLICATION | SND_SEQ_PORT_TYPE_MIDI_GENERIC);998      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~999c_src/minimidio.h:2181:41: error: 'SND_SEQ_PORT_TYPE_MIDI_GENERIC' undeclared (first use in this function)1000 2181 |         SND_SEQ_PORT_TYPE_APPLICATION | SND_SEQ_PORT_TYPE_MIDI_GENERIC);1001      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1002make: *** [Makefile:24: priv/tuning_fork_midi_nif.so] Error 11003could 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"1004==> nerves_compatibility_test1005** (Mix) Could not compile with "make" (exit status: 2).1006tuning_fork_midi's MIDI ports did not build.10071008This package is only the ports. tuning_fork itself is pure Elixir and needs none of it:1009drop this dependency and everything but playing to and reading from a MIDI device still1010works, including writing a .mid file with TuningFork.Midi.write!/3.10111012Building it needs a C compiler, and on Linux the ALSA headers (libasound2-dev).1013