gpt4 book ai didi

linux - 如果不在同一目录中,则无法运行配置文件

转载 作者:太空宇宙 更新时间:2023-11-04 10:06:40 24 4
gpt4 key购买 nike

我无法运行手动 tar.gz 包安装的配置文件。例如,在解压缩我的文件后,我运行

$ sudo ./vim81/configure
[sudo] password for cli2:
./vim81/configure: line 6: cd: src: No such file or directory

但是,如果我在配置文件所在的目录中,我可以运行配置文件。

$ ./configure
configure: loading cache auto/config.cache
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
...

我的问题是,如果我和源文件不在同一个目录,我该如何执行配置文件?

我知道我可以使用 yumapt-get 来安装 vim,但这只是一个示例包,我想为任何包手动执行此操作。谢谢。

最佳答案

I know I can use yum or apt-get to install vim, but is just an example package and I want to do this manually for any package.

即使您将范围限制在仅基于 Autotools 的包(显然 Vim 不是,确切地说),也没有从源代码构建的万无一失的通用方法。这就是软件打包、包存储库和包管理器变得如此普遍的原因之一。

作为执行过大量打包构建的人,我向您保证,当我遇到一个可以通过相当于直接 configure 打包的项目时,这是一种难得的快乐;制作;进行安装。当我遇到一个人时,这让我很开心。其余时间,我必须在每个包的基础上找出任意数量的构建细节,例如

  • 正在使用哪个配置/构建系统,如果有的话
    • Autotools/CMake/Python setuptools/等
    • 这会影响所需的构建/安装命令,以及可以/应该用于构建的工作目录等详细信息
  • 目标机器需要或适合哪些配置选项,以及如何将它们表达给构建系统
    • 可以是configure 脚本的选项,make 的参数,Makefile 的手动调整,交互式问卷的答案,.. .
  • 需要哪些依赖项,版本是多少,如果我还没有,如何获取它们
  • 有时,如何清理安装后的内容,例如,
    • 删除我不想安装的文件
    • 移动到错误位置的文件(尽管最好使用构建配置)
    • 修复文件权限或所有权
  • 有时,额外的安装任务,例如
    • 添加外壳配置文件
    • 创建符号链接(symbolic link)
    • 使用系统的服务控制子系统注册服务
    • 安装动态链接器配置文件

所有这些至少同样适用于手动构建。如果您不依赖其他人来做到这一点(通过使用其他人构建的包),那么您需要准备好自己完成您构建的每个项目所需的尽可能多的事情.无法从该起点对其进行自动化。

关于linux - 如果不在同一目录中,则无法运行配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52104969/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com