搜索

首页  >  问答  >  正文

linux命令行为什么输入sudo ./configure提示找不到命令

改成./configure又显示权限不够

怪我咯怪我咯2776 天前2508

全部回复(7)我来回复

  • 怪我咯

    怪我咯2017-04-17 15:18:54

    ~ chmod +x ./configure
    ~ ./configure
    shell脚本在新机器上记得添加执行权限

    回复
    0
  • PHP中文网

    PHP中文网2017-04-17 15:18:54

    因为你很多细节没说, 这里只能是猜测.

    1, ./configureGNU自动化工具中只是用于生成Makefile文件的, 并不需要sudo, 最后make install时才需要sudo.

    2, 通常情况下configure文件都是默认有执行权限的, 但并不完全保证, 所以验证下是否有执行权限还是必要的.

    3, configure会生成文件的, 确保你在当前目录中有写权限, 不然的话也会权限不足.

    回复
    0
  • PHP中文网

    PHP中文网2017-04-17 15:18:54

    没有执行权限吧 看一下权限是不是没有x

    回复
    0
  • 迷茫

    迷茫2017-04-17 15:18:54

    只有加执行权限才可以执行的,不然只能查看和编辑。

    sudo chmod +x configure
    ./configure

    但一般来说现成的软件包都会加上执行权限的,你装的是什么软件?

    回复
    0
  • 天蓬老师

    天蓬老师2017-04-17 15:18:54

    检查一下是否存在这个文件

    回复
    0
  • 迷茫

    迷茫2017-04-17 15:18:54

    你的文件是不是可以直接启动的(即二进制文件),如果是就不需要configure

    回复
    0
  • 怪我咯

    怪我咯2017-04-17 15:18:54

    谢邀~~

    前几天外出,没上网,现在给题主一些个人看法和一些建议,如果你觉得有用就采纳吧,有错欢迎指出,觉得回答不错就点个赞咯~~

    简述

    首先,我猜题主是在进行编译安装的过程中发现这个问题的,所以我想结合linux下的变异安装需要的一些指令以及它们的作用:

    • 在linux里编译安装软件会用到诸如 configure / make / make install
      的命令,这些都是典型的使用GNU的autoconf和automake产生的程序的安装步骤。

    • ./configure是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。

    • make是用来编译的,它从Makefile中读取指令,然后编译。

    • make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。

    关于 configure

    configure,这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如:

    ./configure –prefix=/usr

    上面的意思是将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin (而不是默认的 /usr/local/bin),资源文件就会安装在 /usr/share(而不是默认的/usr/local/share)。

    同时一些软件的配置文件你可以通过指定 –sys-config= 参数进行设定。有一些软件还可以加上 –with、–enable、–without、–disable 等等参数对编译加以控制,你可以通过允许 ./configure –help 察看详细的说明帮助。

    关于 configure 的一些常见错误

    常见的错误很多,这里有一个博客收集了很多,题主可以进去看看,有没有适合自己的,如果有,那就烧香咯~

    网址:http://freetstar.com/trouble-shooting-configure-make-make-install/

    回复
    0
  • 取消回复