6

我正在尝试按照http://openrisc.net/toolchain-build.html关于 Fedora Virtual Box Image 的指南为 OpenRISC 构建 GNU 工具链。

我收到错误消息

Configure: error: cannot run /bin/sh ../gcc-svn/config.sub

当我尝试配置 gcc 时。

我是 Linux 新手。我在网上找不到任何解决方案。非常感谢任何解决该问题的帮助。

4

3 回答 3

8

使用十六进制编辑器打开 config.sub 以查看行尾是否为 \r\n 而不仅仅是 \n。如果是这样,请备份整个文件夹,然后键入:

dos2unix *

这会将所有行结尾从 \r\n 更改为 \n,并且它会在原地执行它,覆盖每个文件。然后,再次尝试:

./configure (有你想要的任何选项)

我在 cygwin for Windows 上遇到了这个问题,其中 GitHub 已将所有文件转换为 \r\n,因此我不得不使用 dos2unix 将它们转换回来。

于 2016-10-28T01:49:07.187 回答
3

1.检查并安装libtools

yum install libtool       
yum install libtool-ltdl    
yum install libtool-ltdl-devel       

2.尝试通过shell运行“../gcc-svn/config.sub”

/bin/bash ../gcc-svn/config.sub

看看是否显示如下:

[root@centos jemalloc]# /bin/bash ./config.sub
: command not foundine 6:
: command not foundine 8:
: command not foundine 30:
: command not foundine 31:
: command not foundine 39:
: command not foundine 42:
: command not foundine 50:
: command not foundine 57:
: command not foundine 59:
: command not foundine 72:
: command not foundine 82:
: command not foundine 85:
'/config.sub.bak: line 88: 语法'/config.sub.bak中意外标记附近的错误
:第 88 行:`case $1 in

3.找到系统config.sub

 find / -name config.sub

表明:

/usr/share/libtool/config/config.sub

比较这两个 config.sub 以查看它们是否相似。

4.替换config.sub为系统文件

mv ../gcc-svn/config.sub ../gcc-svn/config.sub.bak
cp /usr/share/libtool/config/config.sub ../gcc-svn/config.sub 

mv ../gcc-svn/config.guess ../gcc-svn/config.guess.bak
cp /usr/share/libtool/config/config.guess ../gcc-svn/config.guess
  1. 看看它是否有效。
于 2014-11-17T08:31:10.830 回答
1

../gcc-svn/config.sub 文件的第一行是什么?我猜它可能有一个错字。它应该是

#!/bin/sh

并不是

/bin/sh

如果是

#!/bin/sh

确保文件 /bin/sh 存在并且可执行

ls -l /bin/sh

应该显示类似

-rwxrwxrwx 1 root root 4 Feb  3  2009 /bin/sh
于 2014-06-11T17:21:01.367 回答