fluentd: Cannot install fluentd from source on M1 MacbookAir
Describe the bug
I could not install fluentd from source on MacbookAir(M1, 2020) of BigSur 11.2.3.
fluentd --setup ./fluent
command failed by missing compatible arch in oooo.bundle (LoadError)
.
The ruby installed by defalut was ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.arm64e-darwin20]
.
I think arm64e
ruby could be a problem, so I report here to share this.
I reinstalled ruby to ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [arm64-darwin20]
, then I succeeded in installing.
To Reproduce
I had reinstalled ruby and succeeded in installing, so I cannot reproduce this behavior currently. I think this behavior may reproduce on default M1 MacbookAir, or on arm64e universal ruby.
Expected behavior
Proceeding with the installation according to Install from Source
section of the fluentd document,
then the installation will be successful.
Your Environment
- Fluentd or td-agent version: fluentd 1.12.2
- Operating system: macOS Big Sur 11.2.3 (Apple M1)
- sw_vers
- ProductName: macOS
- ProductVersion: 11.2.3
- BuildVersion: 20D91
- sw_vers
- Kernel version: 20.3.0
uname -m
: arm64
Your Configuration
omitted because this is about installation problem.
Your Error Log
Traceback (most recent call last):
28: from /usr/local/bin/fluentd:23:in `<main>'
27: from /usr/local/bin/fluentd:23:in `load'
26: from /Library/Ruby/Gems/2.6.0/gems/fluentd-1.12.2/bin/fluentd:8:in `<top (required)>'
25: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
24: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
23: from /Library/Ruby/Gems/2.6.0/gems/fluentd-1.12.2/lib/fluent/command/fluentd.rb:19:in `<top (required)>'
22: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
21: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
20: from /Library/Ruby/Gems/2.6.0/gems/fluentd-1.12.2/lib/fluent/supervisor.rb:20:in `<top (required)>'
19: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
18: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
17: from /Library/Ruby/Gems/2.6.0/gems/fluentd-1.12.2/lib/fluent/config.rb:18:in `<top (required)>'
16: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
15: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
14: from /Library/Ruby/Gems/2.6.0/gems/fluentd-1.12.2/lib/fluent/config/element.rb:18:in `<top (required)>'
13: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
12: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
11: from /Library/Ruby/Gems/2.6.0/gems/fluentd-1.12.2/lib/fluent/config/literal_parser.rb:19:in `<top (required)>'
10: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
9: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
8: from /Library/Ruby/Gems/2.6.0/gems/json-2.5.1/lib/json.rb:575:in `<top (required)>'
7: from /Library/Ruby/Gems/2.6.0/gems/json-2.5.1/lib/json.rb:579:in `<module:JSON>'
6: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
5: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
4: from /Library/Ruby/Gems/2.6.0/gems/json-2.5.1/lib/json/ext.rb:3:in `<top (required)>'
3: from /Library/Ruby/Gems/2.6.0/gems/json-2.5.1/lib/json/ext.rb:6:in `<module:JSON>'
2: from /Library/Ruby/Gems/2.6.0/gems/json-2.5.1/lib/json/ext.rb:7:in `<module:Ext>'
1: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require': dlopen(/Library/Ruby/Gems/2.6.0/gems/json-2.5.1/lib/json/ext/parser.bundle, 0x0009): missing compatible arch in /Library/Ruby/Gems/2.6.0/gems/json-2.5.1/lib/json/ext/parser.bundle - /Library/Ruby/Gems/2.6.0/gems/json-2.5.1/lib/json/ext/parser.bundle (LoadError)
32: from /usr/local/bin/fluentd:23:in `<main>'
31: from /usr/local/bin/fluentd:23:in `load'
30: from /Library/Ruby/Gems/2.6.0/gems/fluentd-1.12.2/bin/fluentd:8:in `<top (required)>'
29: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
28: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
27: from /Library/Ruby/Gems/2.6.0/gems/fluentd-1.12.2/lib/fluent/command/fluentd.rb:19:in `<top (required)>'
26: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
25: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
24: from /Library/Ruby/Gems/2.6.0/gems/fluentd-1.12.2/lib/fluent/supervisor.rb:20:in `<top (required)>'
23: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
22: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
21: from /Library/Ruby/Gems/2.6.0/gems/fluentd-1.12.2/lib/fluent/config.rb:18:in `<top (required)>'
20: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
19: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
18: from /Library/Ruby/Gems/2.6.0/gems/fluentd-1.12.2/lib/fluent/config/element.rb:18:in `<top (required)>'
17: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
16: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
15: from /Library/Ruby/Gems/2.6.0/gems/fluentd-1.12.2/lib/fluent/config/literal_parser.rb:19:in `<top (required)>'
14: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
13: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
12: from /Library/Ruby/Gems/2.6.0/gems/json-2.5.1/lib/json.rb:575:in `<top (required)>'
11: from /Library/Ruby/Gems/2.6.0/gems/json-2.5.1/lib/json.rb:578:in `<module:JSON>'
10: from /Library/Ruby/Gems/2.6.0/gems/json-2.5.1/lib/json.rb:581:in `rescue in <module:JSON>'
9: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
8: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
7: from /Library/Ruby/Gems/2.6.0/gems/json-2.5.1/lib/json/pure.rb:3:in `<top (required)>'
6: from /Library/Ruby/Gems/2.6.0/gems/json-2.5.1/lib/json/pure.rb:6:in `<module:JSON>'
5: from /Library/Ruby/Gems/2.6.0/gems/json-2.5.1/lib/json/pure.rb:7:in `<module:Pure>'
4: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
3: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
2: from /Library/Ruby/Gems/2.6.0/gems/json-2.5.1/lib/json/pure/parser.rb:2:in `<top (required)>'
1: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require': dlopen(/Library/Ruby/Gems/2.6.0/gems/strscan-3.0.0/lib/strscan.bundle, 0x0009): missing compatible arch in /Library/Ruby/Gems/2.6.0/gems/strscan-3.0.0/lib/strscan.bundle - /Library/Ruby/Gems/2.6.0/gems/strscan-3.0.0/lib/strscan.bundle (LoadError)
Additional context
none.
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 17 (17 by maintainers)
Done at https://github.com/fluent/fluentd-docs-gitbook/pull/307 Thanks!
I think the correct path forward from here is to add “TroubleShooting” section to the installation article, and add something like this:
@daipom Can you write such a PR and submit to the documentation project? Our documentation repository is here:
https://github.com/fluent/fluentd-docs-gitbook
and the specific file to edit is:
https://github.com/fluent/fluentd-docs-gitbook/blob/1.0/installation/install-from-source.md
Since the documentation project uses
1.0
as the main branch (not usualmaster
branch), please be careful to submit your PR against1.0
branch on GitHub.If you feel anything unclear, just reply us in this thread.
Thank you everyone.
If anyone else has similar problems, we may need it.
It took a long time for me to solve this error. At first I wondered if fluentd did not support M1 Mac, then I tried to use Rosetta, but it did not work either.
I reinstalled ruby by using homebrew.
I installed homebrew for apple silicon as it is on brew website.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Then I reinstalled ruby by this.
brew reinstall -s ruby