“配置:错误:无法计算 sizeof (long long)”

问题描述 投票:0回答:2

我正在尝试更新在 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 版本,也会遇到同样的错误。我不知道发生了什么变化,但我有另一台具有类似设置的机器,可以正常工作。我比较了正常安装和失败安装的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 设置有关。请给我有关如何调试和解决此问题的建议。 谢谢。

ruby linux configure
2个回答
0
投票

我在构建 ruby 2.7.2 时遇到了同样的问题 (

configure: error: cannot compute sizeof (long long)
)。在 debian 上。通过安装 binutils 修复:

apt-get install -y binutils

-2
投票

您可以在构建目录中的

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
© www.soinside.com 2019 - 2024. All rights reserved.