Решено: Ninja (opencv) (error: loading 'build.ninja')

Sabayon, Calculate, Funtoo, Exherbo

Модератор: /dev/random

Аватара пользователя
devilr
Сообщения: 1606
ОС: Mandriva => Gentoo (~amd64)

Решено: Ninja (opencv)

Сообщение devilr » 27.11.2018 16:05

Решил собрать новый opencv - 3.4.1-r4
При сборке возникает ошибка:

Код: Выделить всё

 * ERROR: media-libs/opencv-3.4.1-r4::gentoo failed (compile phase):
 *   build.ninja not found. Error during configure stage.
Посмотрел, что за ninja - 1.8.2-r2 (вроде последняя)
Но, если её вызвать с простым параметром -v, будет

Код: Выделить всё

$ ninja -v
ninja: error: loading 'build.ninja': No such file or directory
Вопрос: кто виноват и что делать? В том смысле, что на багтрекере эта ошибка (сборки opencv) есть и висит неподтверждённой).
Это только у меня так?
Последний раз редактировалось devilr 27.11.2018 19:36, всего редактировалось 2 раза.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 14826
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Ninja

Сообщение Bizdelnick » 27.11.2018 16:32

Очевидно, кто-то должен создать этот build.ninja (cmake?).
Пишите правильно:
в консоли
вкупе (с чем-либо)
в общем
вообще
в течение (часа)
команда
новичок
нюанс
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
devilr
Сообщения: 1606
ОС: Mandriva => Gentoo (~amd64)

Re: Ninja

Сообщение devilr » 27.11.2018 16:39

Bizdelnick писал:
27.11.2018 16:32
Очевидно, кто-то должен создать этот build.ninja (cmake?).
Не так уж и очевидно, как по мне.

Код: Выделить всё

$ ninja --help
usage: ninja [options] [targets...]

if targets are unspecified, builds the 'default' target (see manual).

options:
  --version  print ninja version ("1.8.2.git.kitware.dyndep-1.jobserver-1")

  -C DIR   change to DIR before doing anything else
  -f FILE  specify input build file [default=build.ninja]

  -j N     run N jobs in parallel [default=10, derived from CPUs available]
  -k N     keep going until N jobs fail (0 means infinity) [default=1]
  -l N     do not start new jobs if the load average is greater than N
  -n       dry run (don't run commands but act like they succeeded)
  -v       show all command lines while building

  -d MODE  enable debugging (use '-d list' to list modes)
  -t TOOL  run a subtool (use '-t list' to list subtools)
    terminates toplevel options; further flags are passed to the tool
  -w FLAG  adjust warnings (use '-w list' to list warnings)
Соответственно, простой вызов параметра v должен показать "all command lines while building", а никак не ошибку.
Возможно, я где-то ошибаюсь...
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Спасибо сказали:

Аватара пользователя
/dev/random
Администратор
Сообщения: 4707
ОС: Gentoo

Re: Ninja

Сообщение /dev/random » 27.11.2018 16:40

Там же в баге всё сказали: проблема из-за опечатки в ебилде opencv, написали "-BUILD_..." вместо "-DBUILD_...". В качестве обходного пути можете продаунгрейдить cmake: старые версии эту опечатку проглатывали нормально. А ninja тут ни при чём, ему положено так ругаться, если он запускается в каталоге без файла build.ninja.
Спасибо сказали:

Аватара пользователя
devilr
Сообщения: 1606
ОС: Mandriva => Gentoo (~amd64)

Re: Ninja

Сообщение devilr » 27.11.2018 16:50

/dev/random писал:
27.11.2018 16:40
Там же в баге всё сказали: проблема из-за опечатки в ебилде opencv, написали "-BUILD_..." вместо "-DBUILD_...". В качестве обходного пути можете продаунгрейдить cmake: старые версии эту опечатку проглатывали нормально. А ninja тут ни при чём, ему положено так ругаться, если он запускается в каталоге без файла build.ninja.
Ну, даунгрейдить cmake я пробовал - решения это не дало. А вот нарисовать патч - можно попробовать...
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 14826
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Ninja

Сообщение Bizdelnick » 27.11.2018 18:07

devilr писал(а):
27.11.2018 16:39
Соответственно, простой вызов параметра v должен показать "all command lines while building", а никак не ошибку.
Чтобы показать команды сборки, надо знать команды сборки, а они как раз должны быть в build.ninja.
Последний раз редактировалось Bizdelnick 27.11.2018 18:39, всего редактировалось 1 раз.
Пишите правильно:
в консоли
вкупе (с чем-либо)
в общем
вообще
в течение (часа)
команда
новичок
нюанс
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
devilr
Сообщения: 1606
ОС: Mandriva => Gentoo (~amd64)

Re: Ninja

Сообщение devilr » 27.11.2018 18:09

Скопировал ebuild в /usr/local/portage, исправил "-BUILD_opencv_apps=" на "-DBUILD_opencv_apps=helps" - одна ошибка ушла, теперь появилась другая:

Код: Выделить всё

 * ERROR: media-libs/opencv-3.4.1-r4::x-portage failed (install phase):
 *   Header checksum mismatch, aborting.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Спасибо сказали:

Аватара пользователя
devilr
Сообщения: 1606
ОС: Mandriva => Gentoo (~amd64)

Re: Ninja (opencv)

Сообщение devilr » 27.11.2018 19:36

Решением стало (пока временным, конечно) добавление флага "-abi_x86_32" и обычная сборка пакета.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Спасибо сказали: