Автор Тема: Сборка в hasher, rebuild failed  (Прочитано 10150 раз)

Оффлайн skywriter

  • Давно тут
  • **
  • Сообщений: 30
Сборка в hasher, rebuild failed
« : 27.06.2009 14:28:07 »
Собираю kdenlive в hasher.В apt включен branch 4.1 (i586, noarch).
Процесс закачки файлов из репозитория завершился.
Папка ~/hasher весит более 1 Гб.
Вывалилось вот на чём:

RPM build errors:
make[2]: ***
[src/cmake_bindir/CMakeFiles/kdenlive.dir/kdenlive_automoc.o] Error 1
make[1]: *** [src/cmake_bindir/CMakeFiles/kdenlive.dir/all] Error 2
make: *** [all] Error 2
error: Bad exit status from /usr/src/tmp/rpm-tmp.74212 (%build)
    Bad exit status from /usr/src/tmp/rpm-tmp.74212 (%build)
Command exited with non-zero status 1
13.17user 3.26system 0:21.32elapsed 77%CPU (0avgtext+0avgdata
0maxresident)k
18800inputs+62616outputs (83major+481450minor)pagefaults 0swaps
hsh-rebuild: rebuild of `kdenlive-0.7.3-alt1.svn3320.src.rpm' failed.

Вопрос:
1) Что я сделал не так?
2) Как сделать так, чтобы при последующей сборке не закачивать заново
все пакеты из репозитория,
а изпользовать то, что уже закачано в ~/hasher? Мне уже подсказали, что
надо было настроить nginx, но я до него пока не добрался. Я также прочитал в wiki, что можно сделать свой репозиторий с помощью genbasedir. Но как  заставить apt изпользовать в первую очередь свой локальный репозиторий, и только при нехватке пакетов в нём лезть в branch?
3) Из оф.сайта kdenlive известно, что он требует пакет mlt версии >= 4,
а в branch лежит версия < 3. В разсылке подсказали, что надо собрать сначала пакеты mlt и mlt++. Вопрос: что нужно сделать, чтобы при сборке kdenlive hasher знал где лежат вновь собранные пакеты?

Drool

  • Гость
Re: Сборка в hasher, rebuild failed
« Ответ #1 : 27.06.2009 14:45:43 »
1) Что я сделал не так?
2) Как сделать так, чтобы при последующей сборке не закачивать заново
все пакеты из репозитория,
а изпользовать то, что уже закачано в ~/hasher? Мне уже подсказали, что
надо было настроить nginx, но я до него пока не добрался. Я также прочитал в wiki, что можно сделать свой репозиторий с помощью genbasedir. Но как  заставить apt изпользовать в первую очередь свой локальный репозиторий, и только при нехватке пакетов в нём лезть в branch?
3) Вопрос: что нужно сделать, чтобы при сборке kdenlive hasher знал где лежат вновь собранные пакеты?

1. Вы показали совершенно бесполезный вывод, вместо того, что произошло при сборке на самом деле. Это как двухчасовая ругань двух мужиков, в итоге они послали друг друга. Вы процитировали только последнее. А почему они ругались, о чем - не понятно.
2. У хашера есть ключик --lazy-cleanup, чтоб не прокачивать все опять. Как создать свой репозиторий из имеющихся пакетов - http://fly.osdn.org.ua/~drool/LocalRepo.txt. Только он не сильно кошерный - вместо /usr/src используйте другой каталог.
3. Он будет знать.

Оффлайн skywriter

  • Давно тут
  • **
  • Сообщений: 30
Re: Сборка в hasher, rebuild failed
« Ответ #2 : 27.06.2009 18:36:55 »
1. Лог вывода был очень большой. Я просмотрел глазами и скопировал те места, где встречалось слово "error".

2. На основе "http://fly.osdn.org.ua/~drool/LocalRepo.txt" сделал следующее:
  1. Создал папку "/home/skywriter/hasher/rep/local/RPMS.local".
  2. Скопировал туда содержимое "/home/skywriter/hasher/hasher/aptbox/var/cache/apt/archives".
  3. Вызвал "$genbasedir --topdir=/home/skywriter/hasher/rep/local/ i586 local". В папке "/home/skywriter/hasher/rep/local/i586/base" образовались файлы: hashfile,  release,  release.local.
  4. Вбил в "/etc/apt/sources.list" следующую строку: "rpm file:/home/skywriter/hasher/rep/local i586 local". При этом ссылки на branch не комментировал, чтобы была возможность брать недостающие пакеты оттуда.
  5. Вызвал "#apt-get update". Получил следующую ошибку:
Failed to fetch file:/home/skywriter/hasher/rep/local/i586/base/pkglist.local  File not found
Reading Package Lists... Done
Building Dependency Tree... Done
W: Release file did not contain checksum information for file:/home/skywriter/hasher/rep/local/i586/base/pkglist.local
W: You may want to run apt-get update to correct these problems
E: Some index files failed to download, they have been ignored, or old ones used instead.

Что я делаю не так? Как заставить apt юзать в первую очередь локальный репозиторий? Я понимаю, что можно "скурить man apt", но я вижу одно из главных преимуществ ALT Linux перед тем же Ubuntu в наличии русскоязычной документации (которой применительно к apt нету) и русскоязычного сообщества.

Оффлайн skywriter

  • Давно тут
  • **
  • Сообщений: 30
Re: Сборка в hasher, rebuild failed
« Ответ #3 : 27.06.2009 18:51:20 »
Набрал "$hsh -v --lazy-cleanup --target=i586 ~/hasher/hasher ~/tmp/build/kdenlive-0.7.3-alt1.svn3320.src.rpm > ~/hasher.log".
Обнаружил, что несмотря на наличие параметра "--lazy-cleanup" hasher очистил папку "/home/skywriter/hasher/hasher/aptbox/var/cache/apt/archives" и начал заново качать пакеты, которые в ней лежали.

kda

  • Гость
Re: Сборка в hasher, rebuild failed
« Ответ #4 : 27.06.2009 18:57:33 »
Вопрос: что нужно сделать, чтобы при сборке kdenlive hasher знал где лежат вновь собранные пакеты?

Собираете одним скопом? Тогда ключик --with-stuff добавьте.

Оффлайн skywriter

  • Давно тут
  • **
  • Сообщений: 30
Re: Сборка в hasher, rebuild failed
« Ответ #5 : 27.06.2009 19:10:54 »
По поводу "pgklist.local" обнаружил ошибку: я неверно интерпретировал фразу "...создаем в папке /usr/src папку rep, а в ней папку local, а там i586, в которой создаем папку base и символическую ссылку на папку с rpm-ками: ln -s /mnt/windows/Install/Linux/Local/ RPMS.local".

Папку RPMS.local следовало размещать на одном уровне с base.

Оффлайн skywriter

  • Давно тут
  • **
  • Сообщений: 30
Re: Сборка в hasher, rebuild failed
« Ответ #6 : 27.06.2009 19:17:29 »

Собираете одним скопом? Тогда ключик --with-stuff добавьте.

Не одним скопом - не хочу раньше времени всё усложнять. По отдельности собираю. Предполагаю, что при сборке kdenlive hasher запросит mlt, поскольку его нету (подходящей версии) в branch. Вот думаю, что если после сборки mlt положить его в local и пересоздать индексы?

Drool

  • Гость
Re: Сборка в hasher, rebuild failed
« Ответ #7 : 27.06.2009 19:42:31 »
Если позволяет траффик - намного лучше зазеркалить свой бранч локально. Прокачать придется много 13-14 гектар, однако потом изменения небольшие. Зато плюсов - очень много.

Оффлайн skywriter

  • Давно тут
  • **
  • Сообщений: 30
Re: Сборка в hasher, rebuild failed
« Ответ #8 : 27.06.2009 19:51:52 »
Как это небольшие изменения? Щас вот branch 5 на подходе. Его ведь тоже надо будет качать, а скачанные 15 Гб от 4.1 будут выброшены в /dev/null...

Запустил процесс сборки ещё раз с подключенным локальным репозиторием, собранным из того, что apt накачал в предъидующий раз.
В этот раз он почему-то докачал ещё несколько файлов: "cpp3.4_3.4.5-alt7_i586.rpm  gcc3.4-c++_3.4.5-alt7_i586.rpm, gcc3.4_3.4.5-alt7_i586.rpm,  libstdc++3.4-devel_3.4.5-alt7_i586.rpm" (интересно, почему он их не скачал в тот раз). После чего сборка вывалилась со следующими ошибками:

/usr/src/RPM/BUILD/kdenlive-0.7.3/src/moveclipcommand.h:0: Warning: No relevant classes found. No output generated.
In file included from /usr/src/RPM/BUILD/kdenlive-0.7.3/src/cmake_bindir/moc_initeffects.cpp:10,
                 from /usr/src/RPM/BUILD/kdenlive-0.7.3/src/cmake_bindir/kdenlive_automoc.cpp:12:
/usr/src/RPM/BUILD/kdenlive-0.7.3/src/cmake_bindir/../initeffects.h:48: error: ISO C++ forbids declaration of `Repository' with no type
/usr/src/RPM/BUILD/kdenlive-0.7.3/src/cmake_bindir/../initeffects.h:48: error: invalid use of `::'
/usr/src/RPM/BUILD/kdenlive-0.7.3/src/cmake_bindir/../initeffects.h:48: error: expected `;' before '*' token
/usr/src/RPM/BUILD/kdenlive-0.7.3/src/cmake_bindir/../initeffects.h:50: error: `Mlt::Repository' has not been declared
/usr/src/RPM/BUILD/kdenlive-0.7.3/src/cmake_bindir/../initeffects.h:50: error: ISO C++ forbids declaration of `repository' with no type
/usr/src/RPM/BUILD/kdenlive-0.7.3/src/cmake_bindir/../initeffects.h:51: error: `Mlt::Repository' has not been declared
/usr/src/RPM/BUILD/kdenlive-0.7.3/src/cmake_bindir/../initeffects.h:51: error: ISO C++ forbids declaration of `parameter' with no type
make[2]: *** [src/cmake_bindir/CMakeFiles/kdenlive.dir/kdenlive_automoc.o] Error 1
make[1]: *** [src/cmake_bindir/CMakeFiles/kdenlive.dir/all] Error 2
make: *** [all] Error 2
error: Bad exit status from /usr/src/tmp/rpm-tmp.49960 (%build)
    Bad exit status from /usr/src/tmp/rpm-tmp.49960 (%build)
Command exited with non-zero status 1
28.39user 6.18system 0:37.73elapsed 91%CPU (0avgtext+0avgdata 0maxresident)k
18856inputs+62784outputs (83major+474351minor)pagefaults 0swaps
hsh-rebuild: rebuild of `kdenlive-0.7.3-alt1.svn3320.src.rpm' failed.

Drool

  • Гость
Re: Сборка в hasher, rebuild failed
« Ответ #9 : 27.06.2009 19:58:07 »
После чего сборка вывалилась со следующими ошибками...

Вы все так же цитируете бесполезную концовку.

Оффлайн skywriter

  • Давно тут
  • **
  • Сообщений: 30
Re: Сборка в hasher, rebuild failed
« Ответ #10 : 27.06.2009 20:08:53 »
Ну хорошо, а как тогда из километрового лога найти "полезные" строки?

Кстати, я не считаю, что приведённая мною концовка безполезна. Я разпознал, что там упоминается пакет mlt, а именно - что в его изходниках на найдены такие-то строки. Щас пробую собрать mlt v0.3.8. из Сизифа.

Оффлайн skywriter

  • Давно тут
  • **
  • Сообщений: 30
Re: Сборка в hasher, rebuild failed
« Ответ #11 : 27.06.2009 20:25:23 »
Сборка "$ hsh -v --target=i586 ~/hasher/hasher ~/tmp/build/mlt-0.3.8-alt2.src.rpm" выдала следующее:

hsh-rebuild: mlt-0.3.8-alt2.src.rpm: fetched build dependencies.
hsh-rebuild: mlt-0.3.8-alt2.src.rpm: calculated build dependencies: ImageMagick-tools gcc-c++ jackit-devel ladspa_sdk libSDL-devel libSDL_image-devel libX11-devel libavdevice-devel libavformat-devel libquicktime-devel libsamplerate-devel libsox-devel libswscale-devel libxml2-devel kde4libs-devel libqt4-devel
hsh-install: changed working directory to `/home/skywriter/hasher/hasher'
Чтение списков пакетов...
Построение дерева зависимостей...
E: Невозможно найти пакет ImageMagick-tools

Хотя я обнаружил пакет "libImageMagick" в branch и branch перечислен в sources.list. Что ему не нравится?
При этом сборка "mlt++-0.3.8-alt1.src.rpm" закончилась ещё интереснее:

MltConsumer.cpp:31: error: at this point in file
MltConsumer.cpp: In constructor 'Mlt::Consumer::Consumer(Mlt::Profile&)':
MltConsumer.cpp:37: error: cannot convert 'mlt_profile_s*' to 'const char*' for argument '1' to 'mlt_consumer_s* mlt_factory_consumer(const char*, void*)'
MltConsumer.cpp: In constructor 'Mlt::Consumer::Consumer(Mlt::Profile&, const char*, const char*)':
MltConsumer.cpp:45: error: cannot convert 'mlt_profile_s*' to 'const char*' for argument '1' to 'mlt_consumer_s* mlt_factory_consumer(const char*, void*)'
MltConsumer.cpp:54: error: cannot convert 'mlt_profile_s*' to 'const char*' for argument '1' to 'mlt_consumer_s* mlt_factory_consumer(const char*, void*)'
MltConsumer.cpp:59: error: cannot convert 'mlt_profile_s*' to 'const char*' for argument '1' to 'mlt_consumer_s* mlt_factory_consumer(const char*, void*)'
make[1]: Leaving directory `/usr/src/RPM/BUILD/mlt++-0.3.8/src'
make: Leaving directory `/usr/src/RPM/BUILD/mlt++-0.3.8'
« Последнее редактирование: 27.06.2009 20:38:44 от skywriter »

Drool

  • Гость
Re: Сборка в hasher, rebuild failed
« Ответ #12 : 27.06.2009 20:42:56 »
Замените в спеке пакет ImageMagick-tools на ImageMagick.

Оффлайн skywriter

  • Давно тут
  • **
  • Сообщений: 30
Re: Сборка в hasher, rebuild failed
« Ответ #13 : 27.06.2009 22:19:19 »
А ничего, что тут: "http://sisyphus.ru/srpm/Sisyphus/ImageMagick/get"
"ImageMagick-tools-6.5.3.10-alt1.i586.rpm" и "libImageMagick-6.5.3.10-alt1.i586.rpm" представлены как разные пакеты?

Drool

  • Гость
Re: Сборка в hasher, rebuild failed
« Ответ #14 : 27.06.2009 22:26:50 »
А ничего, что тут: "http://sisyphus.ru/srpm/Sisyphus/ImageMagick/get"
"ImageMagick-tools-6.5.3.10-alt1.i586.rpm" и "libImageMagick-6.5.3.10-alt1.i586.rpm" представлены как разные пакеты?

А что, они должны быть одим пакетом?