Проблема Lazarus 0.9.20 + Alt Master 2.4 + Apt

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Проблема Lazarus 0.9.20 + Alt Master 2.4 + Apt

Сообщение corpse » 17.11.2006 23:32:54

Есть следующая проблема - не смог удовлетворить три зависимости, вот часть вывода rpm -ihvv:
Код: Выделить всё
D: открывается индекс базы данных /var/lib/rpm/Name create mode=0x42
D:  Requires: perl(Cwd)                                     NO
D: требования пакета lazarus-0.9.20-0 не удовлетворены: perl(Cwd)
D:  Requires: perl(Getopt::Std)                             NO
D: требования пакета lazarus-0.9.20-0 не удовлетворены: perl(Getopt::Std)
D:  Requires: perl(vars)                                    NO
D: требования пакета lazarus-0.9.20-0 не удовлетворены: perl(vars)
D:   НЕT    A rpmlib(CompressedFileNames) <= 3.0.4-1    B rpmlib(VersionedDependencies) = 3.0.3-1
D: cmp e=(null), v=3.0.4, r=1
and e=(null), v=3.0.4, r=1
D:   ДА    A rpmlib(CompressedFileNames) <= 3.0.4-1    B rpmlib(CompressedFileNames) = 3.0.4-1
D:  Requires: rpmlib(CompressedFileNames) <= 3.0.4-1        YES (rpmlib provides)
D:   НЕT    A rpmlib(PayloadFilesHavePrefix) <= 4.0-1   B rpmlib(VersionedDependencies) = 3.0.3-1
D:   НЕT    A rpmlib(PayloadFilesHavePrefix) <= 4.0-1   B rpmlib(CompressedFileNames) = 3.0.4-1
D:   НЕT    A rpmlib(PayloadFilesHavePrefix) <= 4.0-1   B rpmlib(PayloadIsBzip2) = 3.0.5-1
D: cmp e=(null), v=4.0, r=1
and e=(null), v=4.0, r=1
D:   ДА    A rpmlib(PayloadFilesHavePrefix) <= 4.0-1   B rpmlib(PayloadFilesHavePrefix) = 4.0-1
D:  Requires: rpmlib(PayloadFilesHavePrefix) <= 4.0-1       YES (rpmlib provides)
D: открывается индекс базы данных /var/lib/rpm/Conflictname create mode=0x42
D: закрыт индекс базы данных /var/lib/rpm/Depends
ошибка: неудовлетворенные зависимости:
        perl(Cwd)   нужен для lazarus-0.9.20-0
        perl(Getopt::Std)   нужен для lazarus-0.9.20-0
        perl(vars)   нужен для lazarus-0.9.20-0

Насколько я понимаю, вышеперечисленные вещи - составляющие пакета perl-base, при этом perl-base в системе стоит:
Код: Выделить всё
[root@book rpm]# rpm -qa | grep perl-base
perl-base-5.8.4-alt2

В aptitude есть так называемый раздел "Virtual Packages", там есть все три вышеперечисленных пакета, выделеы белым, что означает, что они присутствуют в системе. Непонятно, почему их не видит при установке lazarus.
Делаю установку с --nodeps - всё проходит замечательно, lazarus устанавливается, но при попытке компиляции, выдаёт:
Код: Выделить всё
/usr/bin/ld: cannot find -lXi

А если зайти в aptitude, то там он стоит как повреждённый пакет с зависимостями, которые невозможно удовлетворить, вот что по их поводу говорит aptitude:
Код: Выделить всё
--- perl(Cwd) (UNAVAILABLE)
--- perl(Getopt::Std) (UNAVAILABLE)
--- perl(vars) (UNAVAILABLE)

И при попытке посредством aptitude установить другой софт, lazarus автоматически удаляется как broken пакет.

Пожалуйста, подскажите, как решить эти проблемы? Я был бы очень признателен.
corpse
новенький
 
Сообщения: 15
Зарегистрирован: 17.11.2006 18:52:05

Сообщение corpse » 19.11.2006 11:39:14

Пробовал ставить на Alt Compact 3.0 - проблема идентичная.
Собирал из исходников - вот что получилось:
Код: Выделить всё
Compiling cleandirdlg.pas
Linking ../lazarus
/usr/bin/ld: cannot find -lpthread
lazarus.pp(117,1) Error: Error while linking
make[2]: *** [lazarus] Ошибка 1
make[2]: Leaving directory `/usr/local/src/lazarus/ide'
make[1]: *** [ide] Ошибка 2
make[1]: Leaving directory `/usr/local/src/lazarus/ide'
make: *** [ide] Ошибка 2

Подскажите, в какую сторону копать? Которые сутки мучаюсь...
corpse
новенький
 
Сообщения: 15
Зарегистрирован: 17.11.2006 18:52:05

Сообщение SergKam » 20.11.2006 12:30:20

не пойму зачем лазарусу перл.наверно для документации. можно смело игнорировать.
а вот дальше надо ставить зависимые библиотек
libXi.a (или so) в убунту это пакет libxi-dev
libpthread.a (или so) - libc6-dev
SergKam
постоялец
 
Сообщения: 251
Зарегистрирован: 16.11.2005 21:31:11
Откуда: Украина,Харьков

Сообщение Saemon Zixel » 20.11.2006 16:00:53

Я бы посоветовал взять src.rpm и в .spec убрать то что касается perl и всего другова на твой взгляд ненужного. (Ну и зделать rpm -bb lazarus.spec)

по LibXi у меня:
rpm -qf libXi.so.6.0 -> xorg-x11-libs-6.8.1-alt14
rpm -qf libXi.a -> xorg-x11-devel-static-6.8.1-alt14

Правдо у меня xorg из Sisyphus-a, а в мастере 2.4 есть только XFree86 4.3.

Можно ещё рапаковать rpm в ручную и выполнить pre-install, тогда лазарус будет, а соответствующего пакета не будет.
Saemon Zixel
новенький
 
Сообщения: 78
Зарегистрирован: 20.09.2005 18:19:54
Откуда: Sochi

Сообщение corpse » 20.11.2006 16:48:32

Всем большое спасибо! В конце-концов проблема решилась следующим образом:
1. Установка fpc из rpm.
2. Установка fpc-src из rpm.
3. Установка gtk-devel и XFree86-devel + всех пакетов, которые просил лазарус при попытке установки из rpm.
4. Сборка lazarus из исходников. Сейчас всё замечательно.
corpse
новенький
 
Сообщения: 15
Зарегистрирован: 17.11.2006 18:52:05


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

Рейтинг@Mail.ru