【问题标题】:'configure: error: cannot compute sizeof (long long)' on scientific linux when installing ruby安装 ruby​​ 时在科学 Linux 上的“配置:错误:无法计算 sizeof (long long)”
【发布时间】:2015-11-30 13:00:50
【问题描述】:

我正在尝试更新我在 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


【解决方案1】:

我在构建 ruby​​ 2.7.2 时遇到了同样的问题 (configure: error: cannot compute sizeof (long long))。在Debian上。通过安装 binutils 修复:

apt-get install -y binutils

【讨论】:

    【解决方案2】:

    您可以在构建目录中的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
    

    【讨论】:

    • 也许我错过了什么,但这只是给出了另一个错误,并没有解释如何进一步发展
    猜你喜欢
    • 2013-12-05
    • 1970-01-01
    • 1970-01-01
    • 2021-12-04
    • 1970-01-01
    • 2021-02-09
    • 1970-01-01
    • 2013-09-24
    相关资源
    最近更新 更多