Open Yatekii opened 3 years ago
Yeah ... I'm sorry I wasn't ready for people to start using the template I guess and left a bunch of preparation steps out. You're right about those deps that are needed.
Even though the template + rid build script stuff will eventually be replaced with one rid executable I'd still like to document some of those so others don't run into as many problems as you did. Possibly add a Readme to rid-template-flutter
.
WRT building on mac the setup script isn't configurable and it'd be wasted effort to make it since it'll be replaced later, but maybe we could have a setup-on-mac
and setup-on-linux
which are slightly different? I wouldn't mind tons of copy/pasted code in there either since all this is somewhat temporary.
Yeah, the mac code just faills to build on linux. But this is not an issue, if you do not build for mac :) Everything else works just fine. I added linux as a target to the setup script and managed to make it build. I'll make a PR in a bit when I cleaned it up.
Hi! RID is awesome project!! Thank you! I am trying to use RID in my flutter/rust project.. found some little errors on macos
thread 'main' panicked at 'Build failed:
'cargo expand' encountered error(s):
error: no such subcommand: `expand`
the solution is cargo install cargo-expand
jq: command not found
brew install jq
And i have a problem with template inside 'rid-template-flutter'. When i run ./setup.sh app
i see errors like this:
MacBook-Pro:app user$ ./sh/bindgen
error: current package believes it's in a workspace when it's not:
current: /Users/user/dev/rid/rid/rid-template-flutter/app/Cargo.toml
workspace: /Users/user/dev/rid/rid/Cargo.toml
this may be fixable by adding `rid-template-flutter/app` to the `workspace.members` array of the manifest located at: /Users/user/dev/rid/rid/Cargo.toml
Alternatively, to keep it out of the workspace, add the package to the `workspace.exclude` array, or add an empty `[workspace]` table to the package's manifest.
MacBook-Pro:app user$
My solution is move /Users/user/dev/rid/rid-template-flutter/app
to /Users/user/dev/app
, change rid paths in /Users/user/dev/app/Cargo.toml
Ah cool you found a solution @chertov. The template is just there to have at least something until I get around to implementing a proper CLI for all this (see roadmap).
Lots remains to be done, so I'm happy you were at least able to unblock yourself.
If you find a quick fix please submit a PR and I'll have a look.
I'am tying to use rid for an existing project (./plugin doesn't exists).. simple append rid paths to Cargo.toml and append rid build step to build.rs
in my case command 'cargo rustc --lib -- -Zunpretty=expanded' from https://github.com/thlorenz/rid/blob/89dddfed2410135d34fd4f44b5e36772da770694/rid-build/src/bindings_generator.rs#L28 goes to an infinite loop i will try to find out what is wrong
I have a successful result cargo rustc --lib -- -Zunpretty=expanded
output if i commented out rid build step in the build.rs!
Otherwise, I get an infinite loop
append to command https://github.com/thlorenz/rid/blob/89dddfed2410135d34fd4f44b5e36772da770694/rid-build/src/bindings_generator.rs#L28
.env("RID_BUILD", "TRUE")
and check it in my build.rs
do not start build step inside the bindings_generator command
if env::var("RID_BUILD").ok().is_some() { return Ok(()); }
change a default target-dir for the cmd args to prevent cargo build deadlock here: https://github.com/thlorenz/rid/blob/89dddfed2410135d34fd4f44b5e36772da770694/rid-build/src/build_target.rs#L21 prepend
--target-dir=/tmp/rustc/".to_string(),
after this actions i have generated plugin folder
but need to generate pubspec.yaml, install ffigen, etc at this time i have an error:
'dart run ffigen' failed to run successfully
stderr: Could not find file `ffigen`
@chertov you're right that the template is not working 100%. I'm not sure when I can have a look. Is this preventing you from using rid in your project?
If not I'd leave this issue open and address it when I create a proper command line rid tool which will include a project scaffolder. At that point the template won't be needed anymore.
If you're blocked however please LMK. Fixing this shouldn't be too difficult. Basically just looking at some of the flutter rid-examples and adapting the template to include the correct dependencies and dart sdk (as in those examples) should do the trick. I could have a stab at it, but also would like to finish up HashMap
support.
@thlorenz I used rid-examples to make a trial run on my M1 MacBook, and when I run 'flutter run -d macos', I still got an error:
Running pod install... 719ms
CocoaPods' output:
↳
Preparing
Analyzing dependencies
Inspecting targets to integrate
[!] Unable to find the Xcode project `/Users/ryanliu/development/rust/d2r/rid-examples/flutter/todo/macos/Runner.xcodeproj` for the target
`Pods-Runner`.
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer/analyzer/target_inspector.rb:68:in `compute_project_path'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer/analyzer.rb:1185:in `each'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer/analyzer.rb:1185:in `group_by'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer/analyzer.rb:1185:in `block in inspect_targets_to_integrate'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer/analyzer.rb:1180:in `inspect_targets_to_integrate'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer/analyzer.rb:106:in `analyze'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer.rb:414:in `analyze'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer.rb:239:in `block in resolve_dependencies'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer.rb:238:in `resolve_dependencies'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer.rb:160:in `install!'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/command/install.rb:52:in `run'
/Library/Ruby/Gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/command.rb:52:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:23:in `load'
/usr/local/bin/pod:23:in `<main>'
Error output from CocoaPods:
↳
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Exception: Error running pod install
Could you help to take a look on it?
If you're blocked however please LMK. Fixing this shouldn't be too difficult. Basically just looking at some of the flutter rid-examples and adapting the template to include the correct dependencies and dart sdk (as in those examples) should do the trick. I could have a stab at it, but also would like to finish up
HashMap
support.
more error msg:
--- xcodebuild: WARNING: Using the first of multiple matching destinations:
{ platform:macOS, arch:x86_64, id:03BC5CB9-3FCC-5293-99F5-5E9CD729E00B }
{ platform:macOS, arch:arm64, id:03BC5CB9-3FCC-5293-99F5-5E9CD729E00B }
{ platform:macOS, arch:x86_64, variant:Mac Catalyst, id:03BC5CB9-3FCC-5293-99F5-5E9CD729E00B }
{ platform:macOS, arch:arm64, variant:Mac Catalyst, id:03BC5CB9-3FCC-5293-99F5-5E9CD729E00B }
{ platform:macOS, name:Any Mac }
{ platform:macOS, variant:Mac Catalyst, name:Any Mac }
ld: warning: ignoring file /Users/ryanliu/development/rust/d2r/rid-examples/flutter/todo/plugin/macos/libtodo.a, building for macOS-x86_64 but attempting to link with file built for macOS-arm64
Undefined symbols for architecture x86_64:
"___include_dart_for_ridvec_todo", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"___include_dart_for_vec_todo", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"__export_dart_enum_Filter", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"__include_Store_field_wrappers", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"__to_dart_for_Settings", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"__to_dart_for_Store", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"__to_dart_for_Todo", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_create_store", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_cstring_free", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_export_Store_filtered_todos", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_export_Store_todo_by_id", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_filter_debug", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_filter_debug_pretty", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_free_ridvec_todo", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_get_item_ridvec_todo", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_get_item_vec_todo", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_init_msg_isolate", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_init_reply_isolate", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_len_vec_todo", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_msg_AddTodo", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_msg_CompleteAll", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_msg_CompleteTodo", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_msg_RemoveCompleted", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_msg_RemoveTodo", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_msg_RestartAll", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_msg_RestartTodo", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_msg_SetAutoExpireCompletedTodos", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_msg_SetFilter", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_msg_ToggleTodo", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_settings_auto_expire_completed_todos", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_settings_completed_expiry_millis", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_settings_debug", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_settings_debug_pretty", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_store_debug", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_store_debug_pretty", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_store_filter", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_store_free", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_store_last_added_id", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_store_settings", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_store_todos", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_store_unlock", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_todo_completed", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_todo_debug", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_todo_debug_pretty", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_todo_expiry_millis", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_todo_id", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_todo_title", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
"_rid_todo_title_len", referenced from:
plugin.dummyCallsToPreventTreeShaking() -> () in plugin(Plugin.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
note: Using new build system
note: Planning
note: Build preparation complete
note: Building targets in parallel
warning: Stale file '/Users/ryanliu/Library/Developer/Xcode/DerivedData/Runner-chjaglggpyysmefimuwohdgjhwbd/Index/Build/Products/Debug/App.framework/Versions/A/App' is located outside of the allowed root paths.
warning: Stale file '/Users/ryanliu/Library/Developer/Xcode/DerivedData/Runner-chjaglggpyysmefimuwohdgjhwbd/Index/Build/Products/Debug/App.framework/Versions/A/Resources/Info.plist' is located outside of the allowed root paths.
warning: Stale file '/Users/ryanliu/Library/Developer/Xcode/DerivedData/Runner-chjaglggpyysmefimuwohdgjhwbd/Index/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/AssetManifest.json' is located outside of the allowed root paths.
warning: Stale file '/Users/ryanliu/Library/Developer/Xcode/DerivedData/Runner-chjaglggpyysmefimuwohdgjhwbd/Index/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/FontManifest.json' is located outside of the allowed root paths.
warning: Stale file '/Users/ryanliu/Library/Developer/Xcode/DerivedData/Runner-chjaglggpyysmefimuwohdgjhwbd/Index/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/NOTICES.Z' is located outside of the allowed root paths.
warning: Stale file '/Users/ryanliu/Library/Developer/Xcode/DerivedData/Runner-chjaglggpyysmefimuwohdgjhwbd/Index/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/dash.png' is located outside of the allowed root paths.
warning: Stale file '/Users/ryanliu/Library/Developer/Xcode/DerivedData/Runner-chjaglggpyysmefimuwohdgjhwbd/Index/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/ferris.png' is located outside of the allowed root paths.
warning: Stale file '/Users/ryanliu/Library/Developer/Xcode/DerivedData/Runner-chjaglggpyysmefimuwohdgjhwbd/Index/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/fonts/MaterialIcons-Regular.otf' is located outside of the allowed root paths.
warning: Stale file '/Users/ryanliu/Library/Developer/Xcode/DerivedData/Runner-chjaglggpyysmefimuwohdgjhwbd/Index/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/isolate_snapshot_data' is located outside of the allowed root paths.
warning: Stale file '/Users/ryanliu/Library/Developer/Xcode/DerivedData/Runner-chjaglggpyysmefimuwohdgjhwbd/Index/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/kernel_blob.bin' is located outside of the allowed root paths.
warning: Stale file '/Users/ryanliu/Library/Developer/Xcode/DerivedData/Runner-chjaglggpyysmefimuwohdgjhwbd/Index/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf' is located outside of the allowed root paths.
warning: Stale file '/Users/ryanliu/Library/Developer/Xcode/DerivedData/Runner-chjaglggpyysmefimuwohdgjhwbd/Index/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/vm_snapshot_data' is located outside of the allowed root paths.
warning: Stale file '/Users/ryanliu/Library/Developer/Xcode/DerivedData/Runner-chjaglggpyysmefimuwohdgjhwbd/Index/Build/Products/Debug/FlutterMacOS.framework/FlutterMacOS' is located outside of the allowed root paths.
** BUILD FAILED **
Building macOS application...
Exception: Build process failed
In the error logs is stated which architecture is used to build:
--- xcodebuild: WARNING: Using the first of multiple matching destinations:
{ platform:macOS, arch:x86_64, id:03BC5CB9-3FCC-5293-99F5-5E9CD729E00B }
{ platform:macOS, arch:arm64, id:03BC5CB9-3FCC-5293-99F5-5E9CD729E00B }
{ platform:macOS, arch:x86_64, variant:Mac Catalyst, id:03BC5CB9-3FCC-5293-99F5-5E9CD729E00B }
{ platform:macOS, arch:arm64, variant:Mac Catalyst, id:03BC5CB9-3FCC-5293-99F5-5E9CD729E00B }
{ platform:macOS, name:Any Mac }
{ platform:macOS, variant:Mac Catalyst, name:Any Mac }
And a bit below:
ld: symbol(s) not found for architecture x86_64
As stated, it attemps to use the first x86_64
arch in the list but couldn't get it to run properly.
Did you followed up the extra installation steps for M1 in README by any chance ?
Not sure as I did it a while ago, but it might be that you are missing:
arch -x86_64 sudo gem install ffi
Or some of the other extra steps.
@Roms1383 thanks for your feedback,I redo all the steps in readme, then it works now. Thanks
BTW, I manually copied .a file from x86_64-apple-darwin
.
Thanks for helping out @Roms1383 !
Hi!
Thanks for this awesome project; I have been eagerly waiting for this!
I tried to instantiate the rid templates with the
./setup.sh
script. I had a handfull of troubles, which is to be expected given the young age of this project, but I thought I might report them as well for others.plugin
project.cargo-lipo
andcargo-ndk
. Otherwise it will fail executing those commands and subsequent ones.rid-build
currently requires a feature that was nightly only before1.52.0
. You can also use the stable version1.52.0
and remove the feature enable to compile with stable.ANDROID_NDK_HOME
. For me this required installing AndroidStudio and puttingexport ANDROID_NDK_HOME=/home/yatekii/Android/Sdk/ndk/22.1.7171670/
into the.bashrc
(Ubuntu).Best, Noah