LINUX.ORG.RU

Ошибка сборки LCMS2 под Debian 6 (i386)

 , ,


0

1

Пытаюсь собрать Darktable под Debian 6 (i386), для чего нужно также собрать LCMS2. Скачал с PPA для Ubuntu архивы:

lcms2_2.2+git20110628.orig.tar.gz
lcms2_2.2+git20110628-2ubuntu2pmjdebruijn1~natty.debian.tar.gz

распаковал, запускаю dpkg-buildpackage -rfakeroot и получаю в финале следующую ошибку:

Making install in testbed
make[2]: Entering directory `/home/cyril/lcms2/lcms2-2.2+git20110628/testbed'
make[3]: Entering directory `/home/cyril/lcms2/lcms2-2.2+git20110628/testbed'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/home/cyril/lcms2/lcms2-2.2+git20110628/testbed'
make[2]: Leaving directory `/home/cyril/lcms2/lcms2-2.2+git20110628/testbed'
make[2]: Entering directory `/home/cyril/lcms2/lcms2-2.2+git20110628'
make[3]: Entering directory `/home/cyril/lcms2/lcms2-2.2+git20110628'
make[3]: Nothing to be done for `install-exec-am'.
test -z "/usr/lib/pkgconfig" || /bin/mkdir -p "/home/cyril/lcms2/lcms2-2.2+git20110628/debian/tmp/usr/lib/pkgconfig"
 /usr/bin/install -c -m 644 lcms2.pc '/home/cyril/lcms2/lcms2-2.2+git20110628/debian/tmp/usr/lib/pkgconfig'
make[3]: Leaving directory `/home/cyril/lcms2/lcms2-2.2+git20110628'
make[2]: Leaving directory `/home/cyril/lcms2/lcms2-2.2+git20110628'
make[1]: Leaving directory `/home/cyril/lcms2/lcms2-2.2+git20110628'
   dh_install
        install -d debian/liblcms2-dev//usr/include
        cp -a debian/tmp/usr/include/lcms2.h debian/liblcms2-dev//usr/include/
        cp -a debian/tmp/usr/include/lcms2_plugin.h debian/liblcms2-dev//usr/include/
dh_install: liblcms2-dev missing files (usr/lib/*/*.la), aborting
make: *** [binary] Error 20
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2

(полный вывод можно посмотреть здесь).

Что бы это значило? Поиск пока дал только смутные (для меня) намёки на проблемы с 64-битными библиотеками, которые я не понял.

P.S. Особенно умиляет указание на отсутствие любых .la в любом подкаталоге каталога usr/lib с неизвестным префиксом...

★★

Последнее исправление: cetjs2 (всего исправлений: 2)

usr/lib с неизвестным префиксом

debian/tmp/usr/lib, вестимо. Сам debian в распакованных сорцах, на верхнем уровне. Надо править debian/liblcms2-dev.install - убрать строчку, начинающуюся с

usr/lib/*/*.la

anonymous
()
Ответ на: комментарий от anonymous

Спасибо, вечером проверю.

Про префикс для usr/lib я догадывался - но вот то, что он не говорит, какого .la ему не хватает (с учётом того, что один-то там точно есть), усложнет задачу.

Cyril ★★
() автор топика
[11:45][leave][~]$ aptitude show liblcms1
Package: liblcms1                        
State: installed
Automatically installed: no
Multi-Arch: same
Version: 1.19.dfsg-1.1
Priority: optional
Section: libs
Maintainer: Oleksandr Moskalenko <malex@debian.org>
Architecture: amd64
Uncompressed Size: 265 k
Depends: libc6 (>= 2.7)
PreDepends: multiarch-support
Suggests: liblcms-utils
Conflicts: liblcms, liblcms
Breaks: liblcms1 (!= 1.19.dfsg-1.1)
Replaces: liblcms, liblcms, liblcms1 (< 1.19.dfsg-1.1)
Provides: liblcms
Description: Little CMS color management library
 lcms is a standalone CMM engine, which deals with the color management. LittleCMS implements a fast
 transformation between ICC profiles. The intention of it is to be portable across several platforms.

leave ★★★★★
()
Ответ на: комментарий от Cyril

А, соврал. Он не в подкаталоге, а непосредственно в usr/lib.

Cyril ★★
() автор топика
Ответ на: комментарий от leave

[11:45][leave][~]$ aptitude show liblcms1

А теперь внимательно смотрим на заголовок и содержимое исходного сообщения и ищем одно ма-а-аленькое, но очень существенное отличие в названии пакетов. Ж;-)

Cyril ★★
() автор топика
Ответ на: комментарий от Cyril
[13:23][leave][~]$ aptitude show liblcms2-2 
Package: liblcms2-2                      
New: yes
State: installed
Automatically installed: yes
Multi-Arch: same
Version: 2.2+git20110628-2.2
Priority: optional
Section: libs
Maintainer: Oleksandr Moskalenko <malex@debian.org>
Architecture: amd64
Uncompressed Size: 349 k
Depends: libc6 (>= 2.7)
PreDepends: multiarch-support
Suggests: liblcms2-utils
Breaks: liblcms2-2 (!= 2.2+git20110628-2.2)
Replaces: liblcms2-2 (< 2.2+git20110628-2.2)
Description: Little CMS 2 color management library
 LittleCMS 2 intends to be a small-footprint color management engine, with special focus on accuracy and
 performance. It uses the International Color Consortium standard (ICC) of color management. LittleCMS 2 is a
 full implementation of ICC specification 4.2 plus all addendums. It fully supports all V2 and V4 profiles,
 including abstract, devicelink and named color profiles.
Homepage: http://www.littlecms.com/

leave ★★★★★
()
Ответ на: комментарий от leave

Это уже лучше. Sid подключен? У меня в 6 со стандартным набором репозитариев (и для i386) его нет (в Sid есть, но Sid я подключать не хочу).

Cyril ★★
() автор топика
Ответ на: комментарий от leave

Ну с учётом того, что в данном случае make install'ы не тянут за собой кучу пакетов, отсутствующих в основных репозитариях - собственно, кроме LCMS2, не имеющего зависимости вне этих самых репозитариев - я считаю, что лучше make install. Уж про два-то пакета я не забуду, что руками их собирал и что, если уж они свалятся, проблема в обновлениях зависимостей. Ж;-)

Cyril ★★
() автор топика
Ответ на: комментарий от maloi

Это тем, кто знает, как делать бэкпорты пакетов Debian. Ж;-) А я как-то раньше без этого обходился. Впрочем, чем не повод попробовать?

Cyril ★★
() автор топика
Ответ на: комментарий от anonymous

Спасибо, помогло. Проблема действительно была с тем, что содержимое debian было заточено под amd64 и поддержку multiarch - пришлось ещё из control'ов удалять «Pre-Depend:» и «MultiArch:», без этого пакеты собирались - но не ставились.

Cyril ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.