Portál AbcLinuxu, 14. července 2025 23:39


Dotaz: RPM nenajde nainstalovanou knihovnu

16.12.2004 19:55 eirik
RPM nenajde nainstalovanou knihovnu
Přečteno: 83×
Odpovědět | Admin
Používám Mandrake 10.1 . Už několikrát se mi stalo že balíček A nejde nainstalovat kvůli chybějící sdílené knihovně B.so. Knihovnu B.so ale mám v /usr/lib a je nainstalovaná pomocí RPM. Lze tento problém vyřešit, že se RPM poradí kde má knihovnu hledat nebo se musí použít rpm -nodep | kompilace ze zdrojáku
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

16.12.2004 20:02 ivok
Rozbalit Rozbalit vše Re: RPM nenajde nainstalovanou knihovnu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Děláte něco špatně (nebo jsou špatně ty RPM balíčky, co instalujete). Nějaký konkrétní příklad?
16.12.2004 20:04 Petr Mach
Rozbalit Rozbalit vše Re: RPM nenajde nainstalovanou knihovnu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Bud je v Mandrake RPM bug, ale pravdepodobnejsi je, ze prislusna knihovna neni instalovana pomoci RPM. Muzes take zkusit rebuildnout databazi.
16.12.2004 20:20 eirik
Rozbalit Rozbalit vše Re: RPM nenajde nainstalovanou knihovnu
¨Příklad je crystalspace-0.96 ... který nemůže najít liblcms.so kterou mám umístěnu v /usr/lib a instalovanou z balíčku liblcms1-devel
16.12.2004 20:30 Petr Mach
Rozbalit Rozbalit vše Re: RPM nenajde nainstalovanou knihovnu
Co ti vypise prikaz
rpm -qf /usr/lib/liblcms.so
16.12.2004 20:39 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: RPM nenajde nainstalovanou knihovnu
liblcms1-devel-1.13-1mdk

To ti řeknu i bez MDK, ale k ničemu to není.
17.12.2004 12:54 Petr Mach
Rozbalit Rozbalit vše Re: RPM nenajde nainstalovanou knihovnu
Neptam se tebe, ptam se jeho a nechci vedet odkud ten soubr je, ale co na ten dotaz odpovi jeho system, abych lokalizoval chybu v jeho systemu. Takze tva odpoved je mi uplne k nicemu :-).
17.12.2004 12:56 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: RPM nenajde nainstalovanou knihovnu
Chceš se vsadit, že mu to vypíše něco jiného?
17.12.2004 15:02 Petr Mach
Rozbalit Rozbalit vše Re: RPM nenajde nainstalovanou knihovnu
A k cemu mi to bude jako dobry? Chces si honit triko? :-)

Kdyz mu to vypise tohle, tak budu vedet, ze mohu vyloucit radou moznych pricin. Co to vypisuje tobe je mi uplne jedno.
17.12.2004 15:04 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: RPM nenajde nainstalovanou knihovnu
Mně to nevypisuje nic ;-)

Co mu to asi může vypsat, má-li nainstalován balíček liblcms1-devel...
19.12.2004 11:41 Petr Mach
Rozbalit Rozbalit vše Re: RPM nenajde nainstalovanou knihovnu
To jsem chtel prave videt, abych mohl diagnostikovat chybu.
19.12.2004 11:48 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: RPM nenajde nainstalovanou knihovnu
Ale tam chyba není ;-) Ten balíček liblcms.so obsahuje, nikoli poskytuje, tudíž nechápu, co tím sleduješ. Soubor liblcms.so sám o sobě k ničemu není, je to link na opravdovou, verzovanou knihovnu (viz můj první příspěvek) a používá se při kompilaci, nikoli run-time. Nemůže na něm proto záviset program.

Nicméně: komentář #9 stačí?
16.12.2004 20:37 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: RPM nenajde nainstalovanou knihovnu
Podle všeho instaluješ rpm ze/pro SUSE, kde asi věci fungují jinak, což mě už dávno nepřekvapuje...

http://fr2.rpmfind.net/linux/rpm2html/search.php?query=crystalspace&system=mandrake
16.12.2004 20:22 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: RPM nenajde nainstalovanou knihovnu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Závisí-li něco na libB.so (bez verze), je to obvykle bug toho balíčku, protože na tom nemá co záviset.

Knihovna normálně používá přesné verzování (libtcl8.4.so) nebo so-verzování podle interfaců (libttf.so.2.3.0). V prvním případě ta věc závisí na libtcl8.4.so, v druhém případě na libttf.so.2 (čísílka jsou jednou za so a jednou před).

V každém případě, spustíš-li podle toho
rpm -q --provides -f /usr/lib/libB1.2.so
rpm -q --provides -f /usr/lib/libB.so.1
vypíše to, že to poskytuje i tu knihovnu (libB1.2.so nebo libB.so.1). Pokud ten soubor není ničím vlastněn, tak tam není z RPM. Pokud ho něco vlastní, ale neposkytuje tu knihovnu, tak je to nejspíš z nějakého obskurního důvodu záměr (rpmbuild defaultně všechny poskytované knihovny nacpe do provides, doufám, že i v MDK) nebo bug balíčku s knihovnou.

Uveď nějaký konkrétní příklad.
16.12.2004 20:29 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: RPM nenajde nainstalovanou knihovnu
Ještě bych dodal, že se libB.so občas v závislostech objeví, ale pak je to soukromá knihovna toho programu, která není v /usr/lib a kterou si zároveň sám poskytuje, tudíž to není pro naši situaci relevantní.
16.12.2004 20:56 eirik
Rozbalit Rozbalit vše Re: RPM nenajde nainstalovanou knihovnu
Zkusil jsem viz. crystalspace.
rpm -q --provides -f /usr/lib/liblcms.so
a podle nej knihovna opravdu patří balíčku liblcms1-devel. Jinak jsem (po půl hodině) buildnul crystalspace ze zdrojáku.
16.12.2004 21:01 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: RPM nenajde nainstalovanou knihovnu
Patří mu, ale to rpm neposkytuje žádné liblcms.so.

V Mandrake 10.1 nejenže je novější verze crystalspace, než ses pokoušel instalovat, ale navíc jsem ti na ni dal link...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.