sony / flutter-elinux

Flutter tools for embedded Linux (eLinux)
BSD 3-Clause "New" or "Revised" License
429 stars 43 forks source link

FFI plugin: C-Lib will not be built #263

Closed MDoennebrink closed 1 month ago

MDoennebrink commented 1 month ago

FFI plugin: C-Lib will not be built

Use of flutter-elinux under Linux desktop (Debian):

$ flutter-elinux create --template=plugin_ffi --platforms=elinux test_plugin

test_plugin/pubspec.yaml
  some_platform:
    ffiPlugin: true
changed to
  elinux:
    ffiPlugin: true

$ cd test_plugin/example
$ flutter-elinux run -d elinux-x11
type 'Null' is not a subtype of type 'String' in type cast
#0      new ELinuxPlugin.fromYaml (package:flutter_elinux/elinux_plugins.dart:49:46)
#1      _pluginFromPackage (package:flutter_elinux/elinux_plugins.dart:474:23)
#2      findELinuxPlugins (package:flutter_elinux/elinux_plugins.dart:426:34)
<asynchronous suspension>
#3      refreshELinuxPluginsList (package:flutter_elinux/elinux_plugins.dart:227:38)
<asynchronous suspension>
#4      ELinuxProject.ensureReadyForPlatformSpecificTooling (package:flutter_elinux/elinux_cmake_project.dart:54:5)
<asynchronous suspension>
#5      ensureReadyForELinuxTooling (package:flutter_elinux/elinux_plugins.dart:220:3)
<asynchronous suspension>
#6      ELinuxExtension.verifyThenRunCommand (package:flutter_elinux/elinux_plugins.dart:121:7)
<asynchronous suspension>
#7      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1394:27)
<asynchronous suspension>
#8      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:19)
<asynchronous suspension>
#9      CommandRunner.runCommand (package:args/command_runner.dart:212:13)
<asynchronous suspension>
#10     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:372:9)
<asynchronous suspension>
#11     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:19)
<asynchronous suspension>
#12     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:308:5)
<asynchronous suspension>
#13     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:130:9)
<asynchronous suspension>
#14     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:19)
<asynchronous suspension>
#15     main (package:flutter_elinux/executable.dart:83:3)
<asynchronous suspension>

Is it possible that the C-Lib will be built here?


Further test

Use of Flutter under Linux desktop (Debian)

$ flutter create --template=plugin_ffi --platforms=linux test_plugin
$ cd test_plugin/example/
$ flutter run -d linux

This works fine. The C-Lib is built. The Flutter-Example-App is built and can be executed.

HidenoriMatsubayashi commented 1 month ago

Thank you for reporting the issue. This should be fixed in #264.