Closed gjf2a closed 1 year ago
Hi! Thanks for opening your first issue here! :smile:
maybe try to upgrade frb_dart dependency as well
Can confirm I can replicate this bug too, and that 1.51 seems to work ok.
Whilst this is worked on it might be worth rolling back to 1.51? It took an amount of troubleshooting to realise why this was happening only in CI because if you use the semver ^ notation locally (such as ^1.48.0) then you wouldn't see this problem without running flutter pub upgrade. (which is what happened to me - might be nice to save others the trouble)
/cc @rogurotus who implemented the wonderful opaque feature - maybe we forget to generate those functions under the conditions mentioned in this port?
cargo.toml use flutter_rust_bridge 1.53?
it looks like an old version of frb is used for rust
Checking this morning using 1.54.0 in both it does seem to work correctly, at least on my end.
Same issue for me using 1.53.0 and unfortunately 1.54.0, I have tried clearing the various caches, restarting the machine and the device.
@stevehayles have you updated the cargo.toml to use latest version? please paste the toml and lock files
Hi @fzyzcjy , thanks for your response. The code all looks correct, clearly something not right on my machine, I have done a cargo update and the lock file contains 1.54.0 but the new opaque functions are not being generated. I'll reboot this machine (which is slow!) and then pull the repo to another dev machine to test it there.
I have read through the recent commits now, something is wrong my end sorry
Hi @fzyzcjy , further to my last post, on two machines this is not working for me
lock file is large but contains
[[package]]
name = "flutter_rust_bridge"
version = "1.54.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5df8e5ef5f0e51bc20a0f4f4dc9b84f08256f9fec19098fd66ef098cc77c30b3"
dependencies = [
"allo-isolate",
"anyhow",
"build-target",
"bytemuck",
"cc",
"chrono",
"console_error_panic_hook",
"dart-sys",
"flutter_rust_bridge_macros",
"js-sys",
"lazy_static",
"libc",
"log",
"parking_lot",
"threadpool",
"wasm-bindgen",
"web-sys",
]
[[package]]
name = "flutter_rust_bridge_macros"
version = "1.54.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aee137f8da06658835df7984db8a4cce338750e15bad19bca680004ccbfa0623"
the flutter pub cache only contains '.pub-cache\hosted\pub.dartlang.org\flutter_rust_bridge-1.54.0' and no other versions
Dart analyzer complains with the following and the methods are missing in bridge_generated.dart
Missing concrete implementations of 'FlutterRustBridgeWireBase.drop_dart_object', 'FlutterRustBridgeWireBase.get_dart_object', and 'FlutterRustBridgeWireBase.new_dart_opaque'.
Try implementing the missing methods, or make the class abstract.dart[non_abstract_class_inherits_abstract_member](https://dart.dev/diagnostics/non_abstract_class_inherits_abstract_member)
I can roll back to 1.51 and it works fine but would be great to try the new opaque types!!
/cc @rogurotus
code-generating not through build.rs?
try cargo install flutter_rust_bridge_codegen
I do think I had to directly call codegen when I got mine to work, the build.rs in the docs wasn't auto generating it.
running cargo install flutter_rust_bridge_codegen
and then my just file worked straight away, thank you! Not sure if I missed something in the docs, sorry for the wasted time
Could you try the build.rs in the docs to check that it automatically regenerates still?
@rob-mur I will try it now yes. Having got rid of the analyzer errors and the wrapper code being correctly generated I actually can't succesfully compile code that was working fine before the 'updates'.
I get the error
= note: ld: error: unable to find library -ldart clang: error: linker command failed with exit code 1 (use -v to see invocation)
Not totally sure if it's related or not, but immediately prior to the update to 1.54 and the installation of the flutter_rust_bridge_codegen package it compiled fine
Interesting, could you post the full verbose log? (With the -v as it suggests)
I am not sure the -v has been passed to the right part of the script but here is the invocation log
[2022-12-10T10:22:39Z INFO cargo_ndk::cli] Using NDK at path: P:\Android\android-sdk\ndk-bundle (ANDROID_NDK_HOME)
[2022-12-10T10:22:39Z INFO cargo_ndk::cli] NDK API level: 21
[2022-12-10T10:22:39Z INFO cargo_ndk::cli] Building targets: armeabi-v7a, arm64-v8a
[2022-12-10T10:22:39Z INFO cargo_ndk::cli] Building armeabi-v7a (armv7-linux-androideabi)
Fresh autocfg v1.1.0
Fresh version_check v0.9.4
Fresh cfg-if v1.0.0
Fresh libc v0.2.138
Fresh unicode-ident v1.0.5
Fresh proc-macro2 v1.0.47
Fresh quote v1.0.21
Fresh syn v1.0.105
Fresh ctor v0.1.26
Fresh memchr v2.5.0
Fresh value-bag v1.0.0-alpha.9
Fresh pin-project-lite v0.2.9
Fresh futures-core v0.3.25
Fresh once_cell v1.16.0
Fresh log v0.4.17
Fresh smallvec v1.10.0
Fresh scopeguard v1.1.0
Fresh parking_lot_core v0.9.5
Fresh lock_api v0.4.9
Fresh parking_lot v0.12.1
Fresh cc v1.0.77
Fresh crossbeam-utils v0.8.14
Fresh socket2 v0.4.7
Fresh fastrand v1.8.0
Fresh futures-io v0.3.25
Fresh waker-fn v1.1.0
Fresh parking v2.0.0
Fresh event-listener v2.5.3
Fresh slab v0.4.7
Fresh concurrent-queue v2.0.0
Fresh futures-lite v1.12.0
Fresh num_cpus v1.14.0
Fresh itoa v1.0.4
Fresh bytes v1.3.0
Fresh async-lock v2.6.0
Fresh getrandom v0.2.8
Fresh vcpkg v0.2.15
Fresh pkg-config v0.3.26
Fresh serde_derive v1.0.149
Fresh ahash v0.7.6
Fresh mio v0.8.5
Fresh tracing-core v0.1.30
Fresh tokio-macros v1.8.2
Fresh signal-hook-registry v1.4.0
Fresh async-task v4.3.0
Fresh fnv v1.0.7
Fresh pin-utils v0.1.0
Fresh hashbrown v0.12.3
Fresh http v0.2.8
Fresh indexmap v1.9.2
Fresh tokio v1.23.0
Fresh hashbrown v0.11.2
Fresh tracing v0.1.37
Fresh polling v2.5.1
Fresh serde v1.0.149
Fresh proc-macro-error-attr v1.0.4
Fresh futures-task v0.3.25
Fresh num-traits v0.2.15
Fresh async-channel v1.8.0
Fresh aho-corasick v0.7.20
Fresh atty v0.2.14
Fresh android_system_properties v0.1.5
Fresh regex-syntax v0.6.28
Fresh quick-error v1.2.3
Fresh futures-sink v0.3.25
Fresh atomic-waker v1.0.0
Fresh bitflags v1.3.2
Fresh termcolor v1.1.3
Fresh humantime v1.3.0
Fresh tokio-util v0.7.4
Fresh blocking v1.3.0
Fresh regex v1.7.0
Fresh iana-time-zone v0.1.53
Fresh num-integer v0.1.45
Fresh futures-util v0.3.25
Fresh libsqlite3-sys v0.24.2
Fresh proc-macro-error v1.0.4
Fresh async-io v1.12.0
Fresh hashlink v0.7.0
Fresh async-executor v1.5.0
Fresh scheduled-thread-pool v0.2.6
Fresh serde_tuple_macros v0.5.0
Fresh time v0.1.45
Fresh fallible-iterator v0.2.0
Fresh ryu v1.0.11
Fresh heck v0.4.0
Fresh os_str_bytes v6.4.1
Fresh build-target v0.4.0
Fresh try-lock v0.2.3
Fresh fallible-streaming-iterator v0.1.9
Fresh adler v1.0.2
Fresh clap_lex v0.2.4
Fresh miniz_oxide v0.6.2
Fresh rusqlite v0.27.0
Fresh want v0.3.0
Fresh serde_json v1.0.89
Fresh chrono v0.4.23
Fresh clap_derive v3.2.18
Fresh r2d2 v0.8.10
Fresh serde_tuple v0.5.0
Fresh async-global-executor v2.3.1
Fresh h2 v0.3.15
Fresh env_logger v0.7.1
Fresh anyhow v1.0.66
Fresh atomic v0.5.1
Fresh futures-channel v0.3.25
Fresh crc32fast v1.3.2
Fresh httparse v1.8.0
Fresh http-body v0.4.5
Fresh kv-log-macro v1.0.7
Fresh lazy_static v1.4.0
Fresh strsim v0.10.0
Fresh tower-service v0.3.2
Fresh httpdate v1.0.2
Fresh textwrap v0.16.0
Fresh hyper v0.14.23
Fresh clap v3.2.23
Fresh async-std v1.12.0
Fresh flate2 v1.0.25
Fresh allo-isolate v0.1.14-beta.4
Fresh pretty_env_logger v0.4.0
Fresh tilejson v0.3.2
Fresh r2d2_sqlite v0.20.0
Fresh dart-sys v2.0.1
Fresh threadpool v1.8.1
Fresh flutter_rust_bridge_macros v1.54.0
Fresh bytemuck v1.12.3
Fresh urldecode v0.1.1
Fresh mbtileserver v0.1.7 (C:\Users\steve\source\repos\mbtileserver-rs)
Fresh flutter_rust_bridge v1.54.0
Compiling native v0.1.0 (C:\Users\steve\source\repos\bluefin_app\native)
Running `rustc --crate-name native --edition=2021 src\lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type staticlib --crate-type cdylib --emit=dep-info,link -C opt-level=3 -C embed-bitcode=no -C metadata=3ce52755af7faa6b --out-dir C:\Users\steve\source\repos\bluefin_app\native\target\armv7-linux-androideabi\release\deps --target armv7-linux-androideabi -C linker=P:\Android\android-sdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\armv7a-linux-androideabi21-clang.cmd -L dependency=C:\Users\steve\source\repos\bluefin_app\native\target\armv7-linux-androideabi\release\deps -L dependency=C:\Users\steve\source\repos\bluefin_app\native\target\release\deps --extern flutter_rust_bridge=C:\Users\steve\source\repos\bluefin_app\native\target\armv7-linux-androideabi\release\deps\libflutter_rust_bridge-4e590a2292676ab7.rlib --extern mbtileserver=C:\Users\steve\source\repos\bluefin_app\native\target\armv7-linux-androideabi\release\deps\libmbtileserver-03b1d89da763f428.rlib -L native=C:\Users\steve\source\repos\bluefin_app\native\target\armv7-linux-androideabi\release\build\flutter_rust_bridge-b15f19dc4c963835\out -L native=C:\Users\steve\source\flutter\bin -L native=C:\Users\steve\source\repos\bluefin_app\native\target\armv7-linux-androideabi\release\build\libsqlite3-sys-062c91c124378dbd\out`
error: linking with `P:\Android\android-sdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\armv7a-linux-androideabi21-clang.cmd` failed: exit code: 1
|
= note: "P:\\Android\\android-sdk\\ndk-bundle\\toolchains\\llvm\\prebuilt\\windows-x86_64\\bin\\armv7a-linux-androideabi21-clang.cmd" "-Wl,--version-script=C:\\Users\\steve\\AppData\\Local\\Temp\\rustcstduZe\\list" "-march=armv7-a" "C:\\Users\\steve\\AppData\\Local\\Temp\\rustcstduZe\\symbols.o" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\native.native.e6f76d20-cgu.0.rcgu.o" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\native.native.e6f76d20-cgu.1.rcgu.o" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\native.native.e6f76d20-cgu.10.rcgu.o" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\native.native.e6f76d20-cgu.11.rcgu.o" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\native.native.e6f76d20-cgu.12.rcgu.o" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\native.native.e6f76d20-cgu.13.rcgu.o" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\native.native.e6f76d20-cgu.14.rcgu.o" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\native.native.e6f76d20-cgu.15.rcgu.o" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\native.native.e6f76d20-cgu.2.rcgu.o" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\native.native.e6f76d20-cgu.3.rcgu.o" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\native.native.e6f76d20-cgu.4.rcgu.o" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\native.native.e6f76d20-cgu.5.rcgu.o" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\native.native.e6f76d20-cgu.6.rcgu.o" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\native.native.e6f76d20-cgu.7.rcgu.o" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\native.native.e6f76d20-cgu.8.rcgu.o" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\native.native.e6f76d20-cgu.9.rcgu.o" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\native.fms5fc3c5hw9sfq.rcgu.o" "-Wl,--as-needed" "-L" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps" "-L" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\release\\deps" "-L" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\build\\flutter_rust_bridge-b15f19dc4c963835\\out" "-L" "C:\\Users\\steve\\source\\flutter\\bin" "-L" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\build\\libsqlite3-sys-062c91c124378dbd\\out" "-L" "C:\\Users\\steve\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\armv7-linux-androideabi\\lib" "-Wl,-Bstatic" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libmbtileserver-03b1d89da763f428.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libpretty_env_logger-37f624d86e96021b.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libenv_logger-db67bce986dcebab.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libhumantime-8b044224356dc9a3.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libquick_error-12b1b7bbb276c5df.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\liburldecode-2fcda58ae8133c89.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libflate2-3a5bcda4e782f129.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libminiz_oxide-d583162a4a30c70c.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libadler-cc656165ca65c69a.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libcrc32fast-6d13dece02eeb499.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libasync_std-ce1f74cdc5b3b1d9.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libasync_global_executor-7ac82de516ec6998.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libblocking-9bdedac997d7f3e8.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libatomic_waker-73575e97180a7d45.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libasync_executor-944046aacfad8b62.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libasync_task-eee915a3e2163ff5.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libasync_io-a2c9bb5e75e1778b.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libpolling-40f02e667312a169.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libasync_channel-187effdffa92846a.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libconcurrent_queue-9aa4b6709208bad7.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libcrossbeam_utils-4588514293e7b562.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libasync_lock-8afbe2f23e1a898b.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libfutures_lite-5cc242b5cc1d3269.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libfastrand-1634e3bddf202ce3.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libfutures_io-0eea35ae3ecd2d1e.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libwaker_fn-bab2d2aa0f68ac08.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libparking-b4b91e19bd54adf0.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libevent_listener-d2b255f7de05f796.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libkv_log_macro-6371bab1b53ece6f.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libtilejson-c9616e8ef2697aa1.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libserde_tuple-b38448719afec077.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libr2d2_sqlite-458d285364fe859b.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libserde_json-05baae6789f21002.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libryu-df04c45226418961.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libserde-1a674955b4d840ec.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libregex-a3d0bac89a644ea2.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libaho_corasick-8c0da602c5eff8a8.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libregex_syntax-7d83b51a95130412.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libhyper-28568cbb1b933a97.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libhttparse-61ea225ba2ea20fb.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libh2-8347218747d6fb06.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libslab-b8f3187dd0f08c72.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libtokio_util-b3918790205b1c14.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libfutures_sink-b8b161d9f3fb96f7.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libtower_service-4788fa8f495312c8.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libtracing-a6848e55abf4e52c.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libtracing_core-f366e3ab5d5903cc.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libfutures_channel-a309c9a1b8e76598.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libhttp_body-803ffea7fa066e2b.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libfutures_util-d897e0b729843c40.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libfutures_task-f3d5d5a28014fcde.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libpin_utils-caef966879b4f78e.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libfutures_core-5f961ee0c0fe6e8a.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libtokio-cccc4e80ffb52e93.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libsignal_hook_registry-2c05715d1670dbaf.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libsocket2-6cd9d026a1d78e6e.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libmemchr-f53fae93868e41ea.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libmio-379054b80c2a7cc1.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libpin_project_lite-f8025f642973c753.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libhttpdate-b086da716291e11e.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libhttp-8b453e4ff314d0bf.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libitoa-f86b433debb0da6a.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libbytes-30108eec16d4fa00.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libfnv-c174dc9841a02663.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\librusqlite-1517ce0fe403debb.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libfallible_streaming_iterator-851b414d44350d55.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libfallible_iterator-5b633f8a2fffdce2.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libhashlink-5c1df02edc0c5159.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libhashbrown-c7179a118b449cf8.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libahash-1e1fa2e891b296b4.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libgetrandom-f4be222e1ec6d8cf.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\liblibsqlite3_sys-ec2b541cf1c1b55c.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libr2d2-b70bf4aa56f4ba2d.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libscheduled_thread_pool-7d9732359873ba1d.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libclap-c42e0f480e8af788.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libatty-4dc6b7784aa6491d.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libstrsim-8e8b3ef9282477dc.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libtermcolor-be90f3d2e85345b1.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libtextwrap-534cd5a29f3564f6.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libclap_lex-15c3aaacb340657b.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libos_str_bytes-4fc3568814238b37.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libindexmap-9208f5a5b0331ee0.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libhashbrown-2365c63860dc8101.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libbitflags-d0ca9121cf2d5a85.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libonce_cell-75a3a275b4b579ea.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libflutter_rust_bridge-4e590a2292676ab7.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libbytemuck-1f24334054135f53.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libthreadpool-10b35c506fcecaf7.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libnum_cpus-fb31401c53e844ac.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libparking_lot-432a6cea46248094.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libparking_lot_core-93a1b9c3b6b85861.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libsmallvec-f8a2ddf8989a7434.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\liblock_api-59aaacc5bf683f9f.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libscopeguard-3d4c390d3a0c201c.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\liblazy_static-50db4cad00c614d6.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libdart_sys-45a719334ee8f160.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\liballo_isolate-aff3a9153bf1b627.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libchrono-53ffe0096ba9158b.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libiana_time_zone-5ae0e6bedcf4577d.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libandroid_system_properties-3366514380902fae.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libnum_integer-2fa702b21fc42fdb.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libnum_traits-eab6c196fc4641aa.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libtime-fce5bfe73c4941e6.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\liblibc-12ce468bd1b42c7a.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libanyhow-e255498f92ebc500.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libatomic-7567037a1f138f6c.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\liblog-49c1b7be5e21f469.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libvalue_bag-1f1689f09699e50b.rlib" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libcfg_if-79dc29b6d4712ab4.rlib" "C:\\Users\\steve\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\armv7-linux-androideabi\\lib\\libstd-8926a4dbe1cfc54f.rlib" "C:\\Users\\steve\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\armv7-linux-androideabi\\lib\\libpanic_unwind-091f763b68b62d17.rlib" "C:\\Users\\steve\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\armv7-linux-androideabi\\lib\\libobject-02f94de503e5424b.rlib" "C:\\Users\\steve\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\armv7-linux-androideabi\\lib\\libmemchr-70d770af1d9c301a.rlib" "C:\\Users\\steve\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\armv7-linux-androideabi\\lib\\libaddr2line-ac9857f947b317cd.rlib" "C:\\Users\\steve\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\armv7-linux-androideabi\\lib\\libgimli-8c66adf82b492f27.rlib" "C:\\Users\\steve\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\armv7-linux-androideabi\\lib\\librustc_demangle-459459e966558dfa.rlib" "C:\\Users\\steve\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\armv7-linux-androideabi\\lib\\libstd_detect-d20d93553e9b2af6.rlib" "C:\\Users\\steve\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\armv7-linux-androideabi\\lib\\libhashbrown-3f64539495b142d6.rlib" "C:\\Users\\steve\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\armv7-linux-androideabi\\lib\\libminiz_oxide-24f10bf06800a3cb.rlib" "C:\\Users\\steve\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\armv7-linux-androideabi\\lib\\libadler-171fbc31e8d0aecd.rlib" "C:\\Users\\steve\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\armv7-linux-androideabi\\lib\\librustc_std_workspace_alloc-3dbd1452d748a00f.rlib" "C:\\Users\\steve\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\armv7-linux-androideabi\\lib\\libunwind-b09e3f61c22ca3a1.rlib" "C:\\Users\\steve\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\armv7-linux-androideabi\\lib\\libcfg_if-6ee2a34f2b55d0f0.rlib" "C:\\Users\\steve\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\armv7-linux-androideabi\\lib\\liblibc-ccbd17e33450d0f5.rlib" "C:\\Users\\steve\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\armv7-linux-androideabi\\lib\\liballoc-0a1b23654dfa98fb.rlib" "C:\\Users\\steve\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\armv7-linux-androideabi\\lib\\librustc_std_workspace_core-8bf8e499b1299330.rlib" "C:\\Users\\steve\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\armv7-linux-androideabi\\lib\\libcore-8ce153e1d9456f37.rlib" "C:\\Users\\steve\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\armv7-linux-androideabi\\lib\\libcompiler_builtins-2407ae3fd59d6e74.rlib" "-Wl,-Bdynamic" "-ldart" "-ldl" "-llog" "-lgcc" "-ldl" "-lm" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "C:\\Users\\steve\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\armv7-linux-androideabi\\lib" "-o" "C:\\Users\\steve\\source\\repos\\bluefin_app\\native\\target\\armv7-linux-androideabi\\release\\deps\\libnative.so" "-Wl,--gc-sections" "-shared" "-Wl,-zrelro,-znow" "-Wl,-O1" "-nodefaultlibs"
= note: ld: error: unable to find library -ldart
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: could not compile `native` due to previous error
Caused by:
process didn't exit successfully: `rustc --crate-name native --edition=2021 src\lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type staticlib --crate-type cdylib --emit=dep-info,link -C opt-level=3 -C embed-bitcode=no -C metadata=3ce52755af7faa6b --out-dir C:\Users\steve\source\repos\bluefin_app\native\target\armv7-linux-androideabi\release\deps --target armv7-linux-androideabi -C linker=P:\Android\android-sdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\armv7a-linux-androideabi21-clang.cmd -L dependency=C:\Users\steve\source\repos\bluefin_app\native\target\armv7-linux-androideabi\release\deps -L dependency=C:\Users\steve\source\repos\bluefin_app\native\target\release\deps --extern flutter_rust_bridge=C:\Users\steve\source\repos\bluefin_app\native\target\armv7-linux-androideabi\release\deps\libflutter_rust_bridge-4e590a2292676ab7.rlib --extern mbtileserver=C:\Users\steve\source\repos\bluefin_app\native\target\armv7-linux-androideabi\release\deps\libmbtileserver-03b1d89da763f428.rlib -L native=C:\Users\steve\source\repos\bluefin_app\native\target\armv7-linux-androideabi\release\build\flutter_rust_bridge-b15f19dc4c963835\out -L native=C:\Users\steve\source\flutter\bin -L native=C:\Users\steve\source\repos\bluefin_app\native\target\armv7-linux-androideabi\release\build\libsqlite3-sys-062c91c124378dbd\out` (exit code: 1)
[2022-12-10T10:23:00Z INFO cargo_ndk::cli] If the build failed due to a missing target, you can run this command:
[2022-12-10T10:23:00Z INFO cargo_ndk::cli]
[2022-12-10T10:23:00Z INFO cargo_ndk::cli] rustup target install armv7-linux-androideabi
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:cargoBuildRelease'.
> Process 'command 'cargo'' finished with non-zero exit value 101
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 2m 49s
Running Gradle task 'assembleRelease'... 172.6s
Exception: Gradle task assembleRelease failed with exit code 1
#0 throwToolExit (package:flutter_tools/src/base/common.dart:10:3)
#1 AndroidGradleBuilder.buildGradleApp (package:flutter_tools/src/android/gradle.dart:408:9)
<asynchronous suspension>
#2 AndroidGradleBuilder.buildApk (package:flutter_tools/src/android/gradle.dart:184:5)
<asynchronous suspension>
#3 AndroidDevice.startApp (package:flutter_tools/src/android/android_device.dart:575:7)
<asynchronous suspension>
#4 FlutterDevice.runCold (package:flutter_tools/src/resident_runner.dart:504:33)
<asynchronous suspension>
#5 ColdRunner.run (package:flutter_tools/src/run_cold.dart:57:28)
<asynchronous suspension>
#6 RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:706:27)
<asynchronous suspension>
#7 FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1209:27)
<asynchronous suspension>
#8 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#9 CommandRunner.runCommand (package:args/command_runner.dart:209:13)
<asynchronous suspension>
#10 FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:281:9)
<asynchronous suspension>
#11 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#12 FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:229:5)
<asynchronous suspension>
#13 run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:62:9)
<asynchronous suspension>
#14 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#15 main (package:flutter_tools/executable.dart:91:3)
<asynchronous suspension>
Don't personally recognise ldart so unsure why it would be missing/a problem.
Does the crate build if you just run cargo build in the rust project?
I would try a full clean i.e. flutter pub cache clean and cargo clean before trying to rebuild to see if that helps.
Then if not potentially try building the example project on your pc to see if it's specific to your project or not.
It's a strange one, I agree probably something around my specific problem. Just for other people's information, a full clean and rebuild on both the Flutter and Rust side does not fix it.
Reverting back to version 1.51 of all packages is an instant fix, I'll try the sample project and move my project to another machine to see if it becomes clearer.
Thanks for your help to date
I upgraded to 1.54.0 and everything seems to work again.
I ran the following, inspired by what was suggested above:
cargo install flutter_rust_bridge_codegen
flutter clean
flutter pub cache clean
flutter pub get
flutter_rust_bridge_codegen --rust-input src\api.rs --dart-output ..\lib\bridge_generated.dart --dart-decl-output ..\lib\bridge_definitions.dart
cargo clean
cargo ndk -o ..\android\app\src\main\jniLibs build --release
flutter run
I would personally be happy to close the issue, but enough other discussion has happened that I wouldn't want to shut it down unilaterally.
Thanks to everyone for your help!
I would also like to keep it open a little longer as now having some problems with my web builds - may be entirely unrelated but want to double check first!
Was indeed unrelated - happy for this to be closed!
I will close this on Tuesday morning if nobody else sees a reason for it to remain open.
This appears to be a problem that effects Windows machines, I can compile my fairly complex project and the basic example in a linux container but neither will compile on my Windows laptop under 1.53 or 1.54.
In this code it appears that there needs to be a compiler flag set on Windows to statically link dart.lib. I am a fairly new Rust 'guy' and can't quite see how to fix this from my application code but I do think it's a persistent problem that will be seen again within FRB
It's slightly drifted off-topic from the original issue raised here but the version numbers are relevant so it would be great to get one of the core team to have a look at it
My working version is being built on Linux (both locally and in CI) so could well be a windows thing.
I can see the build.rs differs from the one described in the user guide. Is it possible to try your usecase using frb_codegen?
The rust binary builds without issue, the issue comes when running cargo ndk -o ../android/app/src/main/jniLibs build
. Pulling the FRB repo and using the 'with-flutter' example has exactly the same problem on Windows and that has appeared since 1.53.
In the dart_sys github repo there is a comment that states "According to https://dart.dev/server/c-interop-native-extensions#appendix-compiling-and-linking-extensions only on windows we need linking with dart.lib, so we can simply skip this step on unix."
That original link is now replaced but I have read about dart.lib needing to be linked on Windows only in other places online and I am fairly sure it's where the issue lies here
I think I have found the problem! Since the inclusion of the dart-sys package the dart.lib library needs linking but only on Windows targets. Looking at the dart-sys source code the build.rs script is aware of this and tries to deal with it
#[cfg(windows)]
fn emit_compiler_flags() {
let dart_path = match find_dart_sdk() {
Some(x) => x,
None => panic!("Could not find dart sdk!")
};
let dart_path = PathBuf::from(dart_path);
println!(r#"cargo:rustc-link-search=native={}"#, dart_path.join("bin").to_str().unwrap());
println!(r"cargo:rustc-link-lib=dart");
....
The issue is that in a build.rs file the cfg(windows) attribute relates to the host and not the target so even though we are targetting an Android OS the cargo:rustc-link-lib=dart
call is trying to link the dart library. I have fixed it locally by modifying the dart-sys build.rs file as follows
fn emit_compiler_flags() {
let target_os = env::var("CARGO_CFG_TARGET_OS");
match target_os.as_ref().map(|x| &**x) {
Ok("windows") => {
let dart_path = match find_dart_sdk() {
Some(x) => x,
None => panic!("Could not find dart sdk!")
};
let dart_path = PathBuf::from(dart_path);
println!(r#"cargo:rustc-link-search=native={}"#, dart_path.join("bin").to_str().unwrap());
println!(r"cargo:rustc-link-lib=dart");
}
_ => println!("Target OS is not windows")
}
}
I have checked that this correctly still works targetting Windows. I can try and create a pull request to dart-sys but I would like someone more conversant with this library than me to comment on whether that's the right way to fix it
Thanks @stevehayles. I recompiled again today, and I actually ran into this same problem - it looks like my previous posting of success was premature. Still not sure why it worked one day and failed another. So it goes. Even reverting to 1.51.0 did not solve the problem.
Here's the linker error message:
ld: error: unable to find library -ldart
Looking forward to the patch.
@gjf2a I was very surprised that you had not seen the issue on Windows in version +1.53 as it seemed to be a fairly certain bug. I have created a PR for my suggestion of a fix in the dart-sys library but it's a third party library that hasn't been touched in three years so we will have to see how that goes...
If it's not successful then the owners of FRB can make a call on whether they fork that library or include it's code directly. It is clear that the problem exists for anyone developing or compiling on windows and it would be great to get it fixed properly
@stevehayles actually my problems began when I upgraded to 1.53. At 1.51, where I had been until last week, everything had worked fine. I'm currently struggling to revert - no matter what I do, it keeps using 1.54 when I'm compiling with Rust. I've cargo-cleaned, cleaned the cargo cache, deleted the git and registry directories, even deleted my project and re-cloned from GitHub. I'm ready to try uninstalling Rust entirely and reinstalling it, but I have so much in place for various projects that I am loath to do so.
I've seen similar issues, normally manually deleting the obvious files from your ~/.cargo directory can solve this sort of problem. Rust almost exclusively uses this for packages and binaries.
Yeah, I've had success with that in the past. But I've deleted git, registry, and .package-cache. I can't fathom where else it is hanging on to this.
If it's not successful then the owners of FRB can make a call on whether they fork that library or include it's code directly
/cc @rogurotus What do you think?
+1 same issue
I think we just need to remove dart_sys
@stevehayles actually my problems began when I upgraded to 1.53. At 1.51, where I had been until last week, everything had worked fine. I'm currently struggling to revert - no matter what I do, it keeps using 1.54 when I'm compiling with Rust. I've cargo-cleaned, cleaned the cargo cache, deleted the git and registry directories, even deleted my project and re-cloned from GitHub. I'm ready to try uninstalling Rust entirely and reinstalling it, but I have so much in place for various projects that I am loath to do so.
have you tried this?
cargo install flutter_rust_bridge_codegen --version 1.51.0
@rogurotus I've tried this already and it did not help.
Try running cargo build --verbose
after a cargo clean
and you should be able to see from the output where the files are being built from at least. Within the .cargo/registry/src/ folders you can edit source files for a quick and dirty hack to try to test things and the fix from #890 would be very easy to apply manually to get something building quickly
Try running
cargo build --verbose
after acargo clean
and you should be able to see from the output where the files are being built from at least. Within the .cargo/registry/src/ folders you can edit source files for a quick and dirty hack to try to test things and the fix from #890 would be very easy to apply manually to get something building quickly
see #893
1.54.1 is released
1.54.1 did the trick!
I will leave this open for a day or two in case any related troubles emerge again.
Thanks everyone for all your help!
I can confirm that dropping all previous changes and updating to 1.54.1 solves the issue for me. Thanks to @rogurotus for the fix and everyone else for their help
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new issue.
Describe the bug
My project is at https://github.com/gjf2a/groundline.
It compiles and runs perfectly well with frb 1.51.0.
It does not compile with frb 1.53.0. I was careful to run
flutter pub upgrade
and then regenerate the bridge code after upgrading. If I switch back to 1.51.0, it compiles and runs with no trouble whatsoever.Here is the error message:
Codegen logs with
RUST_LOG=debug
environment variableTo Reproduce
Clone https://github.com/gjf2a/groundline
flutter run
Expected behavior
I expected the app to run.
Generated binding code
OS
Windows
Version of
flutter_rust_bridge_codegen
1.53.0
Flutter info
Version of
clang++
No response
Version of
ffigen
7.2.2
Additional context
No response