linux下./configure 后可能会出现各种问题,缺少依赖包,或者版本 变量不一致等。不同的行为可能会产生同一错误,我是在安装 joy 工具时,遇到该报错。下面的方法不一定对你的问题一定有用,这就是个尝试的过程,只要能解决问题就好。
若你也是在安装 joy,可参考文章
操作环境:Ubuntu 16.04
问题描述
root@ubuntu:/home/joy# ./configure --enable-gzipchecking for a BSD-compatible install... /usr/bin/install -cchecking whether build environment is sane... yes/home/joy/config/missing: line 3: $'\r': command not found......checking for ranlib... ranlibconfigure: error: cannot run /bin/bash config/config.sub
确保已经安装下列工具
yum install libtool yum install libtool-ltdl yum install libtool-ltdl-devel
在终端运行如下命令,查看报错处
root@ubuntu:/home/joy# /bin/bash config/config.subconfig/config.sub: line 4: $'\r': command not foundconfig/config.sub: line 6: $'\r': command not foundconfig/config.sub: line 26: $'\r': command not foundconfig/config.sub: line 27: $'\r': command not foundconfig/config.sub: line 34: $'\r': command not foundconfig/config.sub: line 37: $'\r': command not foundconfig/config.sub: line 45: $'\r': command not foundconfig/config.sub: line 52: $'\r': command not foundconfig/config.sub: line 54: $'\r': command not foundconfig/config.sub: line 67: $'\r': command not foundconfig/config.sub: line 75: $'\r': command not foundconfig/config.sub: line 78: $'\r': command not foundconfig/config.sub: line 81: syntax error near unexpected token `$'in\r'''onfig/config.sub: line 81: ` case $1 in
找道系统中所有的 config.sub 文件,与自己目录下的进行比较
root@ubuntu:~# find / -name config.sub/home/joy/config/config.sub/usr/share/libtool/build-aux/config.sub/usr/share/misc/config.sub/mnt/hgfs/CDH-Hadoop/joy/config/config.sub
错误解决
用系统中的config.sub 文件替换
mv /home/joy/config/config.sub /home/joy/config/config.sub.bakcp /usr/share/libtool/build-aux/config.sub /home/joy/config/config.submv /home/joy/config/config.guess /home/joy/config/config.guess.bakcp /usr/share/libtool/build-aux/config.guess /home/joy/config/config.guess
进行测试 报错消除
root@ubuntu:/home/joy# ./configure --enable-gzipchecking for a BSD-compatible install... /usr/bin/install -cchecking whether build environment is sane... yes/home/joy/config/missing: line 3: $'\r': command not found/home/joy/config/missing: line 5: $'\r': command not found......checking for zlib.h... yeschecking for zlib.h... (cached) yesconfigure: creating ./config.statusconfig.status: creating Makefileconfig.status: creating safe_c_stub/Makefileconfig.status: creating safe_c_stub/lib/Makefileconfig.status: creating lib/Makefileconfig.status: creating bin/Makefileconfig.status: creating joy_config.hconfig.status: executing depfiles commandsconfig.status: executing libtool commands
该文章大量参考 /questions/24168165/configure-error-cannot-run-bin-sh