chyyuu / os_kernel_lab

OS kernel labs based on Rust/C Lang & RISC-V 64/X86-32
https://rcore-os.github.io/rCore-Tutorial-Book-v3/index.html
GNU General Public License v3.0
3.96k stars 1.92k forks source link

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

Closed LimingFang closed 4 years ago

LimingFang commented 4 years ago

最初使用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 Seeconfig.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 Seeconfig.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:ininstall' 26: from /usr/local/Homebrew/Library/Homebrew/utils.rb:478:in with_env' 25: from /usr/local/Homebrew/Library/Homebrew/build.rb:117:inblock in install' 24: from /usr/local/Homebrew/Library/Homebrew/formula.rb:1128:in brew' 23: from /usr/local/Homebrew/Library/Homebrew/formula.rb:2052:instage' 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:instage' 20: from /usr/local/Homebrew/Library/Homebrew/resource.rb:95:in unpack' 19: from /usr/local/Homebrew/Library/Homebrew/resource.rb:171:inmktemp' 18: from /usr/local/Homebrew/Library/Homebrew/mktemp.rb:57:in run' 17: from /usr/local/Homebrew/Library/Homebrew/mktemp.rb:57:inchdir' 16: from /usr/local/Homebrew/Library/Homebrew/mktemp.rb:57:in block in run' 15: from /usr/local/Homebrew/Library/Homebrew/resource.rb:172:inblock 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:inblock 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:inblock (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:inblock (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:inmkdir' 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:inchdir' 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:inblock in install' 2: from /usr/local/Homebrew/Library/Homebrew/formula.rb:1880:in system' 1: from /usr/local/Homebrew/Library/Homebrew/formula.rb:1880:inopen' /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:indump' 6: from /usr/local/Homebrew/Library/Homebrew/exceptions.rb:359:in issues' 5: from /usr/local/Homebrew/Library/Homebrew/exceptions.rb:363:infetch_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:insearch_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:inopen_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

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

jiegec commented 4 years ago

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

LimingFang commented 4 years ago

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