从源代码安装 Imagemagick - 未找到生成文件



我正在尝试从源代码安装ImageMagick。为此,我正在使用此处的说明。它一直工作到执行make命令。它说它找不到makefile,"cmd": "/usr/bin/make", "msg": "make: *** No targets specified and no makefile found. Stop."我尝试了不同的目标,例如"全部"和"安装",但没有目标。目录中有 2 个文件Makefile.amMakefile.in个。

这是我为此设置的 Ansible 剧本中的文本:

- name: register directory name var
shell: ls -d /path/ImageMagick-*
register: dir_path
- name: configure imagemagick make
command: "{{ dir_path.stdout }}/configure"
- name: Build default target
make:
chdir: "{{ dir_path.stdout }}"
- name: Run 'install' target
make:
chdir: "{{ dir_path.stdout }}"
target: install

问题似乎出在configure步骤中,但它似乎已成功完成,否则它应该显示错误消息,我想?以下是 Ansible 作为粘贴的输出: https://pastebin.com/MJjnQeRB

如果我运行./configure然后在命令行上make,它可以工作。所以这似乎是一个 Ansible 问题。我怎样才能让它工作?

您的其他目标使用chdir切换到另一个目录,但您没有这样做configure,因此它的输出落在其他地方。 您需要在同一目录中运行configuremake

选项 1:将chdir:也添加到configure食谱中。

选项 2:从其他配方中删除chdir:

选项 3:折叠configuremake在同一配方中运行,并根据需要chdir:或不运行。

解决方案是更改命令以包含 chdir:

- name: configure imagemagick make
command: ./configure
args:
chdir: "{{ dir_path.stdout }}"

最新更新