chyyuu/os_kernel_lab

Mac OS搭建实验环境Lab0出错(i386-elf-gcc部分)

LimingFang opened this issue · 2 comments

最初使用virtualbox,但是Mac下使用似乎不能全屏,看着特别难受,后来看到可以在mac下配置,于是进行尝试。
在Mac上配置实验环境时,安装i386-elf-gcc时遇到如下报错:

brew install i386-elf-gcc
Updating Homebrew...
==> Installing dependencies for i386-elf-gcc: i386-elf-binutils
==> Installing i386-elf-gcc dependency: i386-elf-binutils
==> Downloading http://ftp.gnu.org/gnu/binutils/binutils-2.23.tar.gz
Already downloaded: /Users/limingfang/Library/Caches/Homebrew/downloads/87d8faaf2f879e82403ebbed6f4b1c137258f9b9ad2ae0808246515ed53c8d93--binutils-2.23.tar.gz
==> ../configure --disable-nls --target=i386-elf --disable-werror --enable-gold=yes --prefix=/usr
==> make all
Last 15 lines from /Users/limingfang/Library/Logs/Homebrew/i386-elf-binutils/02.make:
checking for _FILE_OFFSET_BITS value needed for large files... none required
checking how to run the C preprocessor... /usr/local/bin/cpp-4.9
unknown
checking for _LARGE_FILES value needed for large files... configure: error: in /private/tmp/i386-elf-binutils-20200305-88849-6u99jn/binutils-2.23/build/intl': configure: error: C preprocessor "/usr/local/bin/cpp-4.9" fails sanity check See config.log' for more details.
unknown
checking how to run the C preprocessor... /usr/local/bin/cpp-4.9
make[1]: *** [configure-intl] Error 1
make[1]: *** Waiting for unfinished jobs....
configure: error: in /private/tmp/i386-elf-binutils-20200305-88849-6u99jn/binutils-2.23/build/libiberty': configure: error: C preprocessor "/usr/local/bin/cpp-4.9" fails sanity check See config.log' for more details.
make[1]: *** [configure-libiberty] Error 1
make: *** [all] Error 2
Do not report this issue to Homebrew/brew or Homebrew/core!
Traceback (most recent call last):
28: from /usr/local/Homebrew/Library/Homebrew/build.rb:196:in <main>' 27: from /usr/local/Homebrew/Library/Homebrew/build.rb:114:in install'
26: from /usr/local/Homebrew/Library/Homebrew/utils.rb:478:in with_env' 25: from /usr/local/Homebrew/Library/Homebrew/build.rb:117:in block in install'
24: from /usr/local/Homebrew/Library/Homebrew/formula.rb:1128:in brew' 23: from /usr/local/Homebrew/Library/Homebrew/formula.rb:2052:in stage'
22: from /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3/lib/ruby/2.6.0/forwardable.rb:230:in stage' 21: from /usr/local/Homebrew/Library/Homebrew/resource.rb:75:in stage'
20: from /usr/local/Homebrew/Library/Homebrew/resource.rb:95:in unpack' 19: from /usr/local/Homebrew/Library/Homebrew/resource.rb:171:in mktemp'
18: from /usr/local/Homebrew/Library/Homebrew/mktemp.rb:57:in run' 17: from /usr/local/Homebrew/Library/Homebrew/mktemp.rb:57:in chdir'
16: from /usr/local/Homebrew/Library/Homebrew/mktemp.rb:57:in block in run' 15: from /usr/local/Homebrew/Library/Homebrew/resource.rb:172:in block in mktemp'
14: from /usr/local/Homebrew/Library/Homebrew/resource.rb:100:in block in unpack' 13: from /usr/local/Homebrew/Library/Homebrew/formula.rb:2076:in block in stage'
12: from /usr/local/Homebrew/Library/Homebrew/utils.rb:478:in with_env' 11: from /usr/local/Homebrew/Library/Homebrew/formula.rb:2077:in block (2 levels) in stage'
10: from /usr/local/Homebrew/Library/Homebrew/formula.rb:1133:in block in brew' 9: from /usr/local/Homebrew/Library/Homebrew/build.rb:146:in block (2 levels) in install'
8: from /usr/local/Homebrew/Library/Taps/phantom-fan/homebrew-gcc_cross_compilers.git/i386-elf-binutils.rb:16:in install' 7: from /usr/local/Homebrew/Library/Homebrew/formula.rb:2003:in mkdir'
6: from /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3/lib/ruby/2.6.0/fileutils.rb:128:in cd' 5: from /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3/lib/ruby/2.6.0/fileutils.rb:128:in chdir'
4: from /usr/local/Homebrew/Library/Homebrew/formula.rb:2004:in block in mkdir' 3: from /usr/local/Homebrew/Library/Taps/phantom-fan/homebrew-gcc_cross_compilers.git/i386-elf-binutils.rb:21:in block in install'
2: from /usr/local/Homebrew/Library/Homebrew/formula.rb:1880:in system' 1: from /usr/local/Homebrew/Library/Homebrew/formula.rb:1880:in open'
/usr/local/Homebrew/Library/Homebrew/formula.rb:1943:in block in system': Failed executing: make all (BuildError) 9: from /usr/local/Homebrew/Library/Homebrew/brew.rb:38:in

'
8: from /usr/local/Homebrew/Library/Homebrew/brew.rb:143:in rescue in <main>' 7: from /usr/local/Homebrew/Library/Homebrew/exceptions.rb:413:in dump'
6: from /usr/local/Homebrew/Library/Homebrew/exceptions.rb:359:in issues' 5: from /usr/local/Homebrew/Library/Homebrew/exceptions.rb:363:in fetch_issues'
4: from /usr/local/Homebrew/Library/Homebrew/utils/github.rb:305:in issues_for_formula' 3: from /usr/local/Homebrew/Library/Homebrew/utils/github.rb:291:in search_issues'
2: from /usr/local/Homebrew/Library/Homebrew/utils/github.rb:400:in search' 1: from /usr/local/Homebrew/Library/Homebrew/utils/github.rb:225:in open_api'
/usr/local/Homebrew/Library/Homebrew/utils/github.rb:273:in `raise_api_error': curl failed! % Total % Received % Xferd Average Speed Time Time Time Current (GitHub::Error)
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (7) Failed to connect to api.github.com port 443: Connection refused

额,有知道的小伙伴可以看一看吗?谢谢

i386-elf-binutils 在 homebrew 里已经改成 x86_64-elf-binutils 了吧,并且也有bottle。

不太清楚之前的报错,额我后来通过port安装i386-elf-gcc就成功了。谢 @jiegec