Summary
flutter_midi_command on Linux currently resolves to a published flutter_midi_command_linux package state that fails to compile, while the current repository state for flutter_midi_command_linux appears to have moved to a Dart plugin registration path.
This creates a mismatch where Linux builds fail for consumers of flutter_midi_command from pub.dev.
Error Output
vscode ➜ /workspaces/flutter_midi_command_workspace/flutter_midi_command_tester (main) $ flutter build linux
/workspaces/flutter_midi_command_workspace/flutter_midi_command_tester/linux/flutter/ephemeral/.plugin_symlinks/flutter_midi_command_linux/linux/flutter_midi_command_linux_plugin.cc:18:3: error: unknown type name 'FIEventChannel'; did you mean 'FlEventChannel'?
/workspaces/flutter_midi_command_workspace/flutter_midi_command_tester/linux/flutter/ephemeral/.plugin_symlinks/flutter_midi_command_linux/linux/flutter_midi_command_linux_plugin.cc:19:3: error: unknown type name 'FIEventChannel'; did you mean 'FlEventChannel'?
/workspaces/flutter_midi_command_workspace/flutter_midi_command_tester/linux/flutter/ephemeral/.plugin_symlinks/flutter_midi_command_linux/linux/flutter_midi_command_linux_plugin.cc:74:72: error: redefinition of 'channel'
/workspaces/flutter_midi_command_workspace/flutter_midi_command_tester/linux/flutter/ephemeral/.plugin_symlinks/flutter_midi_command_linux/linux/flutter_midi_command_linux_plugin.cc:79:56: error: redefinition of 'channel'
/workspaces/flutter_midi_command_workspace/flutter_midi_command_tester/linux/flutter/generated_plugin_registrant.cc:9:10: fatal error: 'flutter_midi_command_linux/none.h' file not found
Building Linux application...
Build process failed
Steps to Reproduce
- Create a Flutter app that depends on
flutter_midi_command from pub.dev. (I've created one for your convenience)
- Run:
flutter clean
rm -f pubspec.lock
flutter pub get
flutter build linux
- Build fails with the errors above.
Expected Behavior
flutter build linux succeeds for a standard consumer app using flutter_midi_command from pub.dev.
Actual Behavior
Linux build fails due to C++ plugin compile/registration errors from flutter_midi_command_linux
Findings
- The currently published
flutter_midi_command_linux artifact used transitively from pub.dev fails native Linux compilation.
- The current repo state of
flutter_midi_command_linux appears to be Dart-plugin based on Linux (using dartPluginClass), and does not rely on the failing native C++ registration path in the same way.
- Overriding to a Git commit of
flutter_midi_command_linux from the standalone repo makes Linux build succeed, which indicates release/publish drift between consumer expectations and published package state.
Temporary Workaround
In pubspec.yaml of the consuming app:
dependency_overrides:
flutter_midi_command_linux:
git:
url: https://github.com/InvisibleWrench/flutter_midi_command_linux.git
ref: b39f630fb5783efd890c5c9689fd31d3f628fb81
Request for Fix
Please align/publish package versions so flutter_midi_command consumers on Linux get a compatible flutter_midi_command_linux release from pub.dev.
Summary
flutter_midi_commandon Linux currently resolves to a publishedflutter_midi_command_linuxpackage state that fails to compile, while the current repository state forflutter_midi_command_linuxappears to have moved to a Dart plugin registration path.This creates a mismatch where Linux builds fail for consumers of
flutter_midi_commandfrom pub.dev.Error Output
Steps to Reproduce
flutter_midi_commandfrom pub.dev. (I've created one for your convenience)Expected Behavior
flutter build linuxsucceeds for a standard consumer app usingflutter_midi_commandfrom pub.dev.Actual Behavior
Linux build fails due to C++ plugin compile/registration errors from
flutter_midi_command_linuxFindings
flutter_midi_command_linuxartifact used transitively from pub.dev fails native Linux compilation.flutter_midi_command_linuxappears to be Dart-plugin based on Linux (using dartPluginClass), and does not rely on the failing native C++ registration path in the same way.flutter_midi_command_linuxfrom the standalone repo makes Linux build succeed, which indicates release/publish drift between consumer expectations and published package state.Temporary Workaround
In
pubspec.yamlof the consuming app:Request for Fix
Please align/publish package versions so
flutter_midi_commandconsumers on Linux get a compatibleflutter_midi_command_linuxrelease from pub.dev.