Установка Imagemagick из исходного кода - не найден make-файл - PullRequest
1 голос
/ 26 сентября 2019

Я пытаюсь установить ImageMagick из исходного кода.Для этого я использую инструкцию здесь .Работает до тех пор, пока не будет выполнена команда make.В нем говорится, что он не может найти make-файл "cmd": "/usr/bin/make", "msg": "make: *** No targets specified and no makefile found. Stop." Я пробовал разные цели, такие как 'all' и 'install', и ни одной цели.В каталоге находятся 2 файла Makefile.am и Makefile.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.Как я могу заставить это работать?

Ответы [ 2 ]

1 голос
/ 26 сентября 2019

Другие ваши цели используют chdir для переключения на другой каталог, но вы не делаете это для configure, поэтому его выходные данные попадают куда-то еще.Вам нужно запустить configure и make в одном каталоге.

Опция 1: добавить chdir: к рецепту configure.

Опция 2: удалить chdir: из других рецептов.

Вариант 3: свернуть configure и make для запуска по тому же рецепту и chdir: или нет, как вы хотите.

0 голосов
/ 26 сентября 2019

Решение состоит в том, чтобы изменить команду для включения chdir:

- name: configure imagemagick make
  command: ./configure
  args:
    chdir: "{{ dir_path.stdout }}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...