提问人:Eilidh Troup 提问时间:9/4/2015 更新时间:3/6/2021 访问量:5070
安装 Ruby 时,在 Scientific Linux 上出现“configure: error: cannot compute sizeof (long long)”
'configure: error: cannot compute sizeof (long long)' on scientific linux when installing ruby
问:
我正在尝试更新我在 Scientific Linux 上运行的 ruby 版本,但命令:
$ 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 版本,我也会遇到同样的错误。我不知道发生了什么变化,但我确实有另一台设置非常相似的机器,可以正常工作。我比较了工作安装和失败安装中的配置.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 设置有关。请给我有关如何调试和修复此问题的建议。 谢谢。
答:
-2赞
Steven Hepting
3/29/2018
#1
您可以在构建目录中的文件中查看调用的日志输出(例如 )。configure
config.log
/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
评论
2赞
matt freake
6/7/2019
也许我错过了一些东西,但这只是另一个错误,并没有解释如何进一步发展
0赞
SYN
3/6/2021
#2
我在构建 ruby 2.7.2 时遇到了同样的问题()。在 debian 上。通过安装 binutils 修复:configure: error: cannot compute sizeof (long long)
apt-get install -y binutils
评论