首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >M1Mac : rbenv安装2.6.6构建失败

M1Mac : rbenv安装2.6.6构建失败
EN

Stack Overflow用户
提问于 2021-09-12 12:01:10
回答 4查看 2.1K关注 0票数 2

当我试图使用rbenv在我的mac上安装ruby2.6.6时,我收到了一条“构建失败”的消息。

最初,我按以下方式运行它

代码语言:javascript
运行
复制
% rbenv install 2.6.6 

Downloading ruby-2.6.6.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.6.tar.bz2
Installing ruby-2.6.6...
ruby-build: using readline from homebrew

BUILD FAILED (macOS 12.0 using ruby-build 20210825)

Inspect or clean up the working tree at /var/folders/zs/rjdwp8ws5_s4gjd40lj1q2gr0000gn/T/ruby-build.20210912210429.75083.Uqwy5z
Results logged to /var/folders/zs/rjdwp8ws5_s4gjd40lj1q2gr0000gn/T/ruby-build.20210912210429.75083.log

Last 10 log lines:
checking build system type... x86_64-apple-darwin13.4.0
checking host system type... x86_64-apple-darwin13.4.0
checking target system type... x86_64-apple-darwin13.4.0
checking for x86_64-apple-darwin13.4.0-clang... (cached) x86_64-apple-darwin13.4.0-clang
checking for x86_64-apple-darwin13.4.0-gcc... (cached) x86_64-apple-darwin13.4.0-clang
checking whether the C compiler works... no
configure: error: in `/var/folders/zs/rjdwp8ws5_s4gjd40lj1q2gr0000gn/T/ruby-build.20210912210429.75083.Uqwy5z/ruby-2.6.6':
configure: error: C compiler cannot create executables
See `config.log' for more details
make: *** No targets specified and no makefile found.  Stop.

正如您在输出中看到的,“检查C编译器是否工作.否”,我认为编译器工作不正常,并寻找解决方案。

有一个通过指定GCC路径来运行它的解决方案,我使用它作为引用来运行它,如下所示。

代码语言:javascript
运行
复制
CC=/usr/bin/gcc rbenv install 2.6.6

然而,结果是“构建失败”。

gcc的版本如下

代码语言:javascript
运行
复制
%gcc --version 

Configured with: --prefix=/Applications/Xcode-beta.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/4.2.1
Apple clang version 13.0.0 (clang-1300.0.29.3)
Target: x86_64-apple-darwin21.1.0
Thread model: posix
InstalledDir: /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

指定gcc路径时的输出和日志如下。

代码语言:javascript
运行
复制
% CC=/usr/bin/gcc rbenv install 2.6.6

CC=/usr/bin/gcc rbenv install 2.6.6
Downloading ruby-2.6.6.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.6.tar.bz2
Installing ruby-2.6.6...
ruby-build: using readline from homebrew

BUILD FAILED (macOS 12.0 using ruby-build 20210825)

Inspect or clean up the working tree at /var/folders/zs/rjdwp8ws5_s4gjd40lj1q2gr0000gn/T/ruby-build.20210912211846.75422.XoStEO
Results logged to /var/folders/zs/rjdwp8ws5_s4gjd40lj1q2gr0000gn/T/ruby-build.20210912211846.75422.log

Last 10 log lines:
transform_mjit_header: SKIPPED to transform __inline_isinff
transform_mjit_header: SKIPPED to transform __inline_isfinitel
transform_mjit_header: SKIPPED to transform __inline_isfinited
transform_mjit_header: SKIPPED to transform __inline_isfinitef
transform_mjit_header: SKIPPED to transform __darwin_fd_clr
transform_mjit_header: SKIPPED to transform __darwin_fd_set
transform_mjit_header: SKIPPED to transform __darwin_fd_isset
transform_mjit_header: SKIPPED to transform __darwin_check_fd_set
transform_mjit_header: SKIPPED to transform __sputc
ln -sf ../../../.ext/include/x86_64-darwin13/rb_mjit_min_header-2.6.6.h include/ruby-2.6.0/x86_64-darwin13/rb_mjit_min_header-2.6.6.h

日志文件链接

我以为gcc没有正确编译,所以我试着用自制软件重新安装它,但没有成功。

我很难找到解决这个问题的办法。如果有人能告诉我该怎么做,我会感谢你的回应。

EN

回答 4

Stack Overflow用户

发布于 2021-09-12 13:20:26

YARV 2.6不支持苹果硅。

正如您在用于跟踪YARV的哪些分支的问题--苹果硅的修复需要移植到中看到的,2.6被标记为"REQUIRED",这意味着它需要一个后端端口才能工作,但是这个后端端口还没有完成。(与被标记为“已完成”的2.7相比)

Backport:2.5:未知,2.6:必需,2.7:已完成

考虑到回到2.7的港口发生在一年前,我们可以假设维护人员不打算将其应用于2.6。这是有意义的:YARV 2.6处于“安全维护”状态,这意味着只进行了安全修复,这不是一个安全问题。

票数 2
EN

Stack Overflow用户

发布于 2022-05-10 17:36:14

这篇博客文章上的解决方案对我有效。作者建议:

代码语言:javascript
运行
复制
RUBY_CONFIGURE_OPTS=--with-readline-dir="$(abrew --prefix readline)" rbenv install 3.0.0

但是,正如它提到的那样,您不再需要为Intel/M1 Mac加载不同版本的Homebrew,您不再需要设置abrewibrew。所以,对我有用的是:

代码语言:javascript
运行
复制
RUBY_CONFIGURE_OPTS=--with-readline-dir="$(brew --prefix readline)" rbenv install 2.6.6

注意从abrewbrew的简单更改。

票数 0
EN

Stack Overflow用户

发布于 2022-01-24 05:24:34

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69151222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档