Closed jochendev closed 3 years ago
I'm taking this to the objectbox-c project, where the library needs to be provided. Should then "just work" within objectbox-dart without further changes.
The just released C-API 0.13 adds Apple Silicon support. Can you please try again? The same install script from dart should work
bash <(curl -s https://raw.githubusercontent.com/objectbox/objectbox-dart/main/install.sh)
Base config: OS Darwin and architecture arm64
Adjusted OS to MacOS and architecture to universal
Using configuration macos-universal
Resolved URL: https://github.com/objectbox/objectbox-c/releases/download/v0.13.0/objectbox-macos-universal.zip
Downloading ObjectBox library version v0.13.0 for macos-universal...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 637 100 637 0 0 288 0 0:00:02 0:00:02 --:--:-- 288
100 782k 100 782k 0 0 113k 0 0:00:06 0:00:06 --:--:-- 223k
Downloaded:
836K download/objectbox-0.13.0-macos-universal.zip
Extracting into download/objectbox-0.13.0-macos-universal...
Archive: download/objectbox-0.13.0-macos-universal.zip
creating: download/objectbox-0.13.0-macos-universal/include/
inflating: download/objectbox-0.13.0-macos-universal/include/objectbox-sync.h
inflating: download/objectbox-0.13.0-macos-universal/include/objectbox-sync.hpp
inflating: download/objectbox-0.13.0-macos-universal/include/objectbox.h
inflating: download/objectbox-0.13.0-macos-universal/include/objectbox.hpp
creating: download/objectbox-0.13.0-macos-universal/lib/
inflating: download/objectbox-0.13.0-macos-universal/lib/libobjectbox.dylib
Copied to /usr/local/lib/lib:
total 3936
-rwxr-xr-x 1 jochen wheel 2011344 3 18 22:01 libobjectbox.dylib
OK. Do you want to install the library into /usr/local/lib? [Y/n] Y
Installing /usr/local/lib/libobjectbox.dylib
Password:
Installed objectbox libraries:
-rwxr-xr-x 1 root wheel 1.9M 3 18 22:02 /usr/local/lib/libobjectbox.dylib
-rwxr-xr-x 1 jochen wheel 1.9M 3 18 22:01 libobjectbox.dylib
The download was successful, but it seems to have got a new error
flutter: E -> Exception: Invalid argument(s): Failed to load dynamic library (dlopen(/usr/local/lib/libobjectbox.dylib, 1): no suitable image found. Did find:
file system sandbox blocked open() of '/usr/local/lib/libobjectbox.dylib')
flutter: E -> Exception: #0 _open (dart:ffi-patch/ffi_dynamic_library_patch.dart:11:55)
#1 new DynamicLibrary.open (dart:ffi-patch/ffi_dynamic_library_patch.dart:20:12)
Could you please verify this isn't something flutter-specific (I've found some issues with this error text) by running tests in the objectbox-dart repo?
pub --version
git clone https://github.com/objectbox/objectbox-dart.git
cd objectbox-dart/objectbox
pub get
pub run build_runner build
pub run test
I hope to see 00:08 +98: All tests passed!
at the end :)
If that works, I guess we'll need to do some changes to support Flutter Desktop for MacOS. There's an issue for that in objectbox-dart: https://github.com/objectbox/objectbox-dart/issues/166
flutter pub run test
......
00:12 +98: All tests passed!
OK, it's good to hear that it works in general, let's figure out flutter-desktop distribution issues for MacOS in the issue I've linked in my previous comment.
From objectbox-c point of view, the distributed library seems to work fine.
@jochendev PS.: there's another test for M1 assuming you have Xcode and Cocoapods... Checkout https://github.com/objectbox/objectbox-swift-integration-test and run ./test.sh -v 1.5.0-rc2
in the project's folder.
./test.sh -v 1.5.0-rc2
Invoking projects using args: -v "1.5.0-rc2" -s ""
=========================================================================
Building integration test project 'IntTestiOSEmpty'
=========================================================================
Using version: 1.5.0-rc2
Detected CocoaPods version 1.10.1
Updating local specs repositories
――― MARKDOWN TEMPLATE ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
### Command
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/bin/pod install --repo-update
### Report
* What did you do?
* What did you expect to happen?
* What happened instead?
### Stack
CocoaPods : 1.10.1 Ruby : ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.arm64e-darwin20] RubyGems : 3.2.3 Host : macOS 11.2.3 (20D91) Xcode : 12.4 (12D4e) Git : git version 2.24.3 (Apple Git-128) Ruby lib dir : /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib Repositories : master - git - https://github.com/CocoaPods/Specs.git @ d8fb701e923847a2057e4395b9ee4d932fec51d8
trunk - CDN - https://cdn.cocoapods.org/
### Plugins
cocoapods-deintegrate : 1.0.4 cocoapods-plugins : 1.0.0 cocoapods-search : 1.0.0 cocoapods-trunk : 1.5.0 cocoapods-try : 1.2.0
### Podfile
```ruby
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
target 'IntTestiOSEmpty' do
use_frameworks!
# Pods for IntTestiOSEmpty
pod 'ObjectBox', '1.5.0-rc2'
end
LoadError - dlopen(/Library/Ruby/Gems/2.6.0/gems/ffi-1.14.2/lib/ffi_c.bundle, 0x0009): missing compatible arch in /Library/Ruby/Gems/2.6.0/gems/ffi-1.14.2/lib/ffi_c.bundle - /Library/Ruby/Gems/2.6.0/gems/ffi-1.14.2/lib/ffi_c.bundle
/Library/Ruby/Site/2.6.0/rubygems/core_ext/kernel_require.rb:85:in `require'
/Library/Ruby/Site/2.6.0/rubygems/core_ext/kernel_require.rb:85:in `require'
/Library/Ruby/Gems/2.6.0/gems/ffi-1.14.2/lib/ffi.rb:6:in `rescue in <top (required)>'
/Library/Ruby/Gems/2.6.0/gems/ffi-1.14.2/lib/ffi.rb:3:in `<top (required)>'
/Library/Ruby/Site/2.6.0/rubygems/core_ext/kernel_require.rb:85:in `require'
/Library/Ruby/Site/2.6.0/rubygems/core_ext/kernel_require.rb:85:in `require'
/Library/Ruby/Gems/2.6.0/gems/ethon-0.12.0/lib/ethon.rb:2:in `<top (required)>'
/Library/Ruby/Site/2.6.0/rubygems/core_ext/kernel_require.rb:85:in `require'
/Library/Ruby/Site/2.6.0/rubygems/core_ext/kernel_require.rb:85:in `require'
/Library/Ruby/Gems/2.6.0/gems/typhoeus-1.4.0/lib/typhoeus.rb:2:in `<top (required)>'
/Library/Ruby/Site/2.6.0/rubygems/core_ext/kernel_require.rb:85:in `require'
/Library/Ruby/Site/2.6.0/rubygems/core_ext/kernel_require.rb:85:in `require'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-core-1.10.1/lib/cocoapods-core/cdn_source.rb:440:in `download_typhoeus_impl_async'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-core-1.10.1/lib/cocoapods-core/cdn_source.rb:372:in `download_and_save_with_retries_async'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-core-1.10.1/lib/cocoapods-core/cdn_source.rb:365:in `download_file_async'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-core-1.10.1/lib/cocoapods-core/cdn_source.rb:338:in `download_file'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-core-1.10.1/lib/cocoapods-core/cdn_source.rb:78:in `deprecated_local_podspecs'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-core-1.10.1/lib/cocoapods-core/cdn_source.rb:60:in `preheat_existing_files'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-core-1.10.1/lib/cocoapods-core/cdn_source.rb:257:in `update'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/cocoapods/sources_manager.rb:135:in `block (3 levels) in update'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/cocoapods/user_interface.rb:64:in `section'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/cocoapods/sources_manager.rb:134:in `block (2 levels) in update'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/cocoapods/sources_manager.rb:133:in `each'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/cocoapods/sources_manager.rb:133:in `block in update'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/cocoapods/sources_manager.rb:131:in `open'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/cocoapods/sources_manager.rb:131:in `update'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/cocoapods/installer/analyzer.rb:145:in `block in update_repositories'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/cocoapods/installer/analyzer.rb:143:in `each'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/cocoapods/installer/analyzer.rb:143:in `update_repositories'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/cocoapods/installer.rb:235:in `block in resolve_dependencies'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/cocoapods/user_interface.rb:64:in `section'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/cocoapods/installer.rb:234:in `resolve_dependencies'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/cocoapods/installer.rb:160:in `install!'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/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'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/cocoapods/command.rb:52:in `run'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/bin/pod:55:in `<top (required)>'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/bin/pod:23:in `load'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/bin/pod:23:in `<main>'
――― TEMPLATE END ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
[!] Oh no, an error occurred.
Search for existing GitHub issues similar to yours: https://github.com/CocoaPods/CocoaPods/search?q=dlopen%28%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fffi-1.14.2%2Flib%2Fffi_c.bundle%2C+0x0009%29%3A+missing+compatible+arch+in+%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fffi-1.14.2%2Flib%2Fffi_c.bundle+-+%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fffi-1.14.2%2Flib%2Fffi_c.bundle&type=Issues
If none exists, create a ticket, with the template displayed above, on: https://github.com/CocoaPods/CocoaPods/issues/new
Be sure to first read the contributing guide for details on how to properly submit a ticket: https://github.com/CocoaPods/CocoaPods/blob/master/CONTRIBUTING.md
Don't forget to anonymize any private data!
Looking for related issues on cocoapods/cocoapods...
CocoaPods compatibility with Apple DTK (Apple Silicon) https://github.com/CocoaPods/CocoaPods/issues/9907 [open] [96 comments] 2 days ago
Error when "pod updating Firebase" on Ionic 5 macbook M1 Big sur https://github.com/CocoaPods/CocoaPods/issues/10411 [closed] [7 comments] 19 hours ago
Error running project in flutter https://github.com/CocoaPods/CocoaPods/issues/10456 [closed] [1 comment] 3 weeks ago
Test is succeeded when i run arch -x86_64 ./test.sh -v 1.5.0-rc2
** TEST SUCCEEDED **
_
_ // ALL DONE (2021年 3月21日 星期日 22时30分58秒 CST)
\X/
@greenrobot This error is similar to CocoaPods #10287.
Is there any way to work on M1? @vaind @greenrobot
@jochendev Please check https://github.com/objectbox/objectbox-c/releases/tag/v0.14.0 for the latest C release.
I think this was about flutter originally... the next release (objectbox-dart v0.15.0) will bundle native library for desktop platforms the same way it does for mobile. There's, however, an outstanding issue with permissions. See my comment here: https://github.com/objectbox/objectbox-dart/issues/166#issuecomment-832822701
bash <(curl -s https://raw.githubusercontent.com/objectbox/objectbox-dart/main/install.sh)
Base config: OS Darwin and arch arm64 Adjusted OS to Macos Using configuration Macos::arm64 Error: the platform configuration Macos::arm64 is unsupported. You can select the configuration manually (use --help for details) Possible values are: