安装ruby时,在configure linux上’configure:error:无法计算sizeof(long long)’

我正在尝试更新我的版本的 ruby,在Scientific Linux上运行,但是命令:
$rvm install ruby-2.1.6

失败并出现此错误

checking size of long long... configure: error: in `/localdisk/home/user/.rvm/src/ruby-2.1.6':
configure: error: cannot compute sizeof (long long)

如果我尝试重新安装之前安装的ruby版本,我也会收到同样的错误.我不知道发生了什么变化,但我确实有另一台机器具有非常相似的设置,可以正常工作.我比较了工作和失败安装中的configure.log文件.以下是不同之处:

$diff configure_broken.log configure_working.log 
1c1
< [2015-09-03 14:59:13] ./configure
---
> [2015-09-03 14:41:20] ./configure
3,5c3
< GEM_HOME=/localdisk/home/user/.rvm/gems/ruby-2.1.3
< PATH=/localdisk/home/user/.rvm/gems/ruby-2.1.3/bin:/localdisk/home/user/.rvm/gems/ruby-2.1.3@global/bin:/localdisk/home/user/.rvm/rubies/ruby-2.1.3/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/localdisk/home/user/.rvm/bin
< GEM_PATH=/localdisk/home/user/.rvm/gems/ruby-2.1.3:/localdisk/home/user/.rvm/gems/ruby-2.1.3@global
---
> PATH=/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/localdisk/home/user/.rvm/bin
199,202c197,199
< checking gmp.h usability... yes
< checking gmp.h presence... yes
< checking for gmp.h... yes
< checking for __gmpz_init in -lgmp... yes
---
> checking gmp.h usability... no
> checking gmp.h presence... no
> checking for gmp.h... no
213,218c210,525
< checking size of int... 0
< checking size of short... 0
< checking size of long... 0
< checking size of long long... configure: error: in `/localdisk/home/user/.rvm/src/ruby-2.1.6':
< configure: error: cannot compute sizeof (long long)
< See `config.log' for more details
---
> checking size of int... 4
> checking size of short... 2
> checking size of long... 8
> checking size of long long... 8
> checking size of __int64... 0

两台机器都有完全相同的发布信息:

-bash-4.1$cat /etc/*release
LSB_VERSION=base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Scientific Linux release 6.5 (Carbon)
Scientific Linux release 6.5 (Carbon)

我有一种谷歌搜索感觉,这可能与我的gcc设置有关.请给我关于如何调试和修复此问题的建议.
谢谢.

解决方法

您可以在构建目录的config.log文件中查看configure调用的日志输出(例如/var/folders/fm/fn9fyfm10n7ch34843lcg1t80000gy/T/ruby-build.20180328150122.9202/ruby-2.3.1).

在我的情况下,错误是这样的:

In file included from /usr/local/include/stdint.h:59:
/usr/local/include/stdint.h:2:10: error: #include nested too deeply
#include <stddef.h>
         ^
/usr/local/include/stdint.h:59:11: error: #include nested too deeply
# include <stdint.h>
          ^
/usr/local/include/stdint.h:72:11: error: #include nested too deeply
# include <sys/types.h>
          ^
/usr/local/include/stdint.h:76:10: error: #include nested too deeply
#include <limits.h>
         ^
/usr/local/include/stdint.h:82:11: error: #include nested too deeply
# include <inttypes.h>
          ^
5 errors generated.
configure:11616: $? = 1
configure: program exited with status 1

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...