Bug: Flutter app with embedded Rust failing to compile as a result of SurrealDB dependency usage
cabaucom376 opened this issue · comments
Describe the bug
A Flutter app using flutter_rust_bridge, intended to help compile an embedded SurrealDB rust backend, is failing to build as a result of the usage of the SurrealDB dependency. Following the embedding in rust docs the provided example results in the compilation of the application to blow up with various "Undefined symbol" errors reported. I began removing each piece of code one by one until the app would compile, and it would only do so unless the use surrealdb::engine::local::Mem; use surrealdb::sql::Thing; use surrealdb::Surreal;
imports and associated code was removed. I am attempting to track down wether this is an issue within the SurrealDB or flutter_rust_bridge side of things.
Steps to reproduce
- Initiate flutter_rust_bridge project
- Install SurrealDB dependency within the rust lib
- Copy embedding in rust docs example
flutter_rust_bridge_codegen generate
within flutter project to generate bindings- Attempt to run/build application
Expected behaviour
Flutter application to compile and run with the Rust backend using SurrealDB.
SurrealDB version
surrealdb = { version = "1.4.2", features = ["kv-mem", "kv-rocksdb"] }
Contact Details
Is there an existing issue for this?
- I have searched the existing issues
Code of Conduct
- I agree to follow this project's Code of Conduct
Console output while compiling for reference:
Details
Launching lib/main_dev.dart on iPhone 15 Pro in debug mode...
Xcode build done. 30.9s
Failed to build iOS app
Error (Xcode): Undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::at(unsigned long) const
Error (Xcode): Undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::find(char, unsigned long) const
Error (Xcode): Undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::rfind(char, unsigned long) const
Error (Xcode): Undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::compare(unsigned long, unsigned long, char const*) const
Error (Xcode): Undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::compare(unsigned long, unsigned long, char const*, unsigned long) const
Error (Xcode): Undefined symbol: std::__1::__shared_weak_count::__get_deleter(std::type_info const&) const
Error (Xcode): Undefined symbol: std::__1::locale::has_facet(std::__1::locale::id&) const
Error (Xcode): Undefined symbol: std::__1::locale::use_facet(std::__1::locale::id&) const
Error (Xcode): Undefined symbol: std::__1::ios_base::getloc() const
Error (Xcode): Undefined symbol: std::exception::what() const
Error (Xcode): Undefined symbol: std::logic_error::logic_error(char const*)
Error (Xcode): Undefined symbol: std::logic_error::logic_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)
Error (Xcode): Undefined symbol: std::logic_error::logic_error(std::logic_error const&)
Error (Xcode): Undefined symbol: std::length_error::~length_error()
Error (Xcode): Undefined symbol: std::out_of_range::~out_of_range()
Error (Xcode): Undefined symbol: std::exception_ptr::exception_ptr(std::exception_ptr const&)
Error (Xcode): Undefined symbol: std::exception_ptr::~exception_ptr()
Error (Xcode): Undefined symbol: std::runtime_error::runtime_error(char const*)
Error (Xcode): Undefined symbol: std::runtime_error::runtime_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)
Error (Xcode): Undefined symbol: std::runtime_error::~runtime_error()
Error (Xcode): Undefined symbol: std::invalid_argument::~invalid_argument()
Error (Xcode): Undefined symbol: std::bad_optional_access::~bad_optional_access()
Error (Xcode): Undefined symbol: std::bad_array_new_length::bad_array_new_length()
Error (Xcode): Undefined symbol: std::bad_array_new_length::~bad_array_new_length()
Error (Xcode): Undefined symbol: std::__1::__call_once(unsigned long volatile&, void*, void (*)(void*))
Error (Xcode): Undefined symbol: std::__1::__get_sp_mut(void const*)
Error (Xcode): Undefined symbol: std::__1::__next_prime(unsigned long)
Error (Xcode): Undefined symbol: std::__1::bad_weak_ptr::~bad_weak_ptr()
Error (Xcode): Undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::at(unsigned long)
Error (Xcode): Undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::erase(unsigned long, unsigned long)
Error (Xcode): Undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::__init(char const*, unsigned long)
Error (Xcode): Undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::__init(unsigned long, char)
Error (Xcode): Undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::append(char const*)
Error (Xcode): Undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::append(char const*, unsigned long)
Error (Xcode): Undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::append(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, unsigned long, unsigned long)
Error (Xcode): Undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::append(unsigned long, char)
Error (Xcode): Undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::assign(char const*)
Error (Xcode): Undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::assign(char const*, unsigned long)
Error (Xcode): Undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::assign(unsigned long, char)
Error (Xcode): Undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::insert(unsigned long, char const*)
Error (Xcode): Undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::insert(unsigned long, char const*, unsigned long)
Error (Xcode): Undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::resize(unsigned long, char)
Error (Xcode): Undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::replace(unsigned long, unsigned long, char const*, unsigned long)
Error (Xcode): Undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::reserve(unsigned long)
Error (Xcode): Undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::push_back(char)
Error (Xcode): Undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::basic_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)
Error (Xcode): Undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::basic_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, unsigned long, unsigned long, std::__1::allocator<char> const&)
Error (Xcode): Undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::~basic_string()
Error (Xcode): Undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::operator=(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)
Error (Xcode): Undefined symbol: std::__1::future_error::future_error(std::__1::error_code)
Error (Xcode): Undefined symbol: std::__1::future_error::~future_error()
Error (Xcode): Undefined symbol: std::__1::placeholders::_1
Error (Xcode): Undefined symbol: std::__1::placeholders::_2
Error (Xcode): Undefined symbol: std::__1::basic_istream<char, std::__1::char_traits<char>>::sentry::sentry(std::__1::basic_istream<char, std::__1::char_traits<char>>&, bool)
Error (Xcode): Undefined symbol: std::__1::basic_istream<char, std::__1::char_traits<char>>::~basic_istream()
Error (Xcode): Undefined symbol: std::__1::basic_ostream<char, std::__1::char_traits<char>>::put(char)
Error (Xcode): Undefined symbol: std::__1::basic_ostream<char, std::__1::char_traits<char>>::flush()
Error (Xcode): Undefined symbol: std::__1::basic_ostream<char, std::__1::char_traits<char>>::sentry::sentry(std::__1::basic_ostream<char, std::__1::char_traits<char>>&)
Error (Xcode): Undefined symbol: std::__1::basic_ostream<char, std::__1::char_traits<char>>::sentry::~sentry()
Error (Xcode): Undefined symbol: std::__1::basic_ostream<char, std::__1::char_traits<char>>::~basic_ostream()
Error (Xcode): Undefined symbol: std::__1::basic_ostream<char, std::__1::char_traits<char>>::operator<<(void const*)
Error (Xcode): Undefined symbol: std::__1::basic_ostream<char, std::__1::char_traits<char>>::operator<<(bool)
Error (Xcode): Undefined symbol: std::__1::basic_ostream<char, std::__1::char_traits<char>>::operator<<(double)
Error (Xcode): Undefined symbol: std::__1::basic_ostream<char, std::__1::char_traits<char>>::operator<<(float)
Error (Xcode): Undefined symbol: std::__1::basic_ostream<char, std::__1::char_traits<char>>::operator<<(int)
Error (Xcode): Undefined symbol: std::__1::basic_ostream<char, std::__1::char_traits<char>>::operator<<(unsigned int)
Error (Xcode): Undefined symbol: std::__1::basic_ostream<char, std::__1::char_traits<char>>::operator<<(unsigned long)
Error (Xcode): Undefined symbol: std::__1::basic_ostream<char, std::__1::char_traits<char>>::operator<<(long long)
Error (Xcode): Undefined symbol: std::__1::basic_ostream<char, std::__1::char_traits<char>>::operator<<(unsigned long long)
Error (Xcode): Undefined symbol: std::__1::random_device::random_device(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)
Error (Xcode): Undefined symbol: std::__1::random_device::~random_device()
Error (Xcode): Undefined symbol: std::__1::random_device::operator()()
Error (Xcode): Undefined symbol: std::__1::__shared_count::~__shared_count()
Error (Xcode): Undefined symbol: std::__1::basic_iostream<char, std::__1::char_traits<char>>::~basic_iostream()
Error (Xcode): Undefined symbol: std::__1::__thread_struct::__thread_struct()
Error (Xcode): Undefined symbol: std::__1::__thread_struct::~__thread_struct()
Error (Xcode): Undefined symbol: std::__1::basic_streambuf<char, std::__1::char_traits<char>>::sync()
Error (Xcode): Undefined symbol: std::__1::basic_streambuf<char, std::__1::char_traits<char>>::imbue(std::__1::locale const&)
Error (Xcode): Undefined symbol: std::__1::basic_streambuf<char, std::__1::char_traits<char>>::uflow()
Error (Xcode): Undefined symbol: std::__1::basic_streambuf<char, std::__1::char_traits<char>>::setbuf(char*, long)
Error (Xcode): Undefined symbol: std::__1::basic_streambuf<char, std::__1::char_traits<char>>::xsgetn(char*, long)
Error (Xcode): Undefined symbol: std::__1::basic_streambuf<char, std::__1::char_traits<char>>::xsputn(char const*, long)
Error (Xcode): Undefined symbol: std::__1::basic_streambuf<char, std::__1::char_traits<char>>::showmanyc()
Error (Xcode): Undefined symbol: std::__1::basic_streambuf<char, std::__1::char_traits<char>>::basic_streambuf()
Error (Xcode): Undefined symbol: std::__1::basic_streambuf<char, std::__1::char_traits<char>>::~basic_streambuf()
Error (Xcode): Undefined symbol: std::__1::future_category()
Error (Xcode): Undefined symbol: std::__1::__assoc_sub_state::__sub_wait(std::__1::unique_lock<std::__1::mutex>&)
Error (Xcode): Undefined symbol: std::__1::__assoc_sub_state::set_exception(std::exception_ptr)
Error (Xcode): Undefined symbol: std::__1::__assoc_sub_state::wait()
Error (Xcode): Undefined symbol: std::__1::__assoc_sub_state::__execute()
Error (Xcode): Undefined symbol: std::__1::condition_variable::notify_all()
Error (Xcode): Undefined symbol: std::__1::condition_variable::notify_one()
Error (Xcode): Undefined symbol: std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>>)
Error (Xcode): Undefined symbol: std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)
Error (Xcode): Linker command failed with exit code 1 (use -v to see invocation)
Could not build the application for the simulator.
Error launching application on iPhone 15 Pro.
Exited (1).