Skip to content

Build on Linux Fails Due to Unpublished Changes to flutter_midi_command_linux #149

Description

@mawcs

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

  1. Create a Flutter app that depends on flutter_midi_command from pub.dev. (I've created one for your convenience)
  2. Run:
flutter clean
rm -f pubspec.lock
flutter pub get
flutter build linux
  1. 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

  1. The currently published flutter_midi_command_linux artifact used transitively from pub.dev fails native Linux compilation.
  2. 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.
  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions