Portál AbcLinuxu, 14. května 2025 01:01

Dotaz: program se při sestavení slinkuje s neexistující knihovnou

otula avatar 30.1.2010 16:47 otula | skóre: 45 | blog: otakar | Adamov
program se při sestavení slinkuje s neexistující knihovnou
Přečteno: 137×
Odpovědět | Admin
Během posledního týdne se mi už podruhé stalo, že se mi program slinkoval s neexistující knihovnou. Přesněji - se starší verzí knihovny, která již v systému není. Například dnes - v systému mám Imagemagick 6.5.9.0:
$ pacman -Ql imagemagick | grep libMagickWand
imagemagick /usr/lib/libMagickWand.so
imagemagick /usr/lib/libMagickWand.so.3
imagemagick /usr/lib/libMagickWand.so.3.0.0
a sestavil jsem balíček Inkscape-0.47:
$ ldd `which inkscape` | grep libMagickWand
        libMagickWand.so.3 => /usr/lib/libMagickWand.so.3 (0x00007fb61653f000)
        libMagickWand.so.2 => not found
        libMagickWand.so.2 => not found

Poradíte mi, co mám v systému rozbitého, že to dělá takovou ostudu?
Kdo vám tvrdí, že jste paranoidní, ten v tom spiknutí s největší pravděpodobností jede taky.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Řešení 1× (otula (tazatel))
30.1.2010 18:58 l4m4
Rozbalit Rozbalit vše Re: program se při sestavení slinkuje s neexistující knihovnou
Odpovědět | | Sbalit | Link | Blokovat | Admin
Z toho, že to ukazuje dvě verze, usuzuji, že inkscape se slinkuje se správnou verzí libMagickWand, ale kromě toho se linkuje s nějakou jinou knihovnou využívající libMagickWand, a tahle knihovna je slinkovaná se starou verzí libMagickWand. Je zapotřebí ji najít, ldd na všechno v /usr[/local]/lib[64] by mohlo stačit...
otula avatar 30.1.2010 19:49 otula | skóre: 45 | blog: otakar | Adamov
Rozbalit Rozbalit vše Re: program se při sestavení slinkuje s neexistující knihovnou
Bezva. A nebudeš věřit, které knihovny to jsou:
libMagickCore.so
libMagick++.so
libMagickWind.so
Všechny součástí Imagemagick, přičemž závisejí na starší verzi, která už tam samozřejmě není :-o No nic, zkusím ho úplně odinstalovat, sestavit a nainstalovat. Díky.
Kdo vám tvrdí, že jste paranoidní, ten v tom spiknutí s největší pravděpodobností jede taky.
otula avatar 30.1.2010 19:59 otula | skóre: 45 | blog: otakar | Adamov
Rozbalit Rozbalit vše Re: program se při sestavení slinkuje s neexistující knihovnou
Tak je to ještě větší sranda, protože imagemagick má mezi makedepends velmi zajímavou závislost, a to imagemagick. A když je odinstalovaný, sestavení velmi rychle skončí hláškou, že kompiler nemůže vytvářet spustitelné soubory. To jsou věci v linuxovém světě…
Kdo vám tvrdí, že jste paranoidní, ten v tom spiknutí s největší pravděpodobností jede taky.
Řešení 1× (otula (tazatel))
otula avatar 30.1.2010 20:23 otula | skóre: 45 | blog: otakar | Adamov
Rozbalit Rozbalit vše Re: program se při sestavení slinkuje s neexistující knihovnou
A pokud by to někoho zajímalo, pro kompilaci bylo nutné sestavit imagemagick se starší verzí imagemagick. Při tom se vytvořily nové verze knihoven, nalinkované na starší libMagickWand. Pak bylo nutné vytvořit symlink libMagickWand.so.2 vedoucí na libMagickWand.so.3.0.0, nyní opět sestavit imagemagick, uvedený symlink smazat a opět nainstalovat nově vytvořený balíček. Potom je již vše v pořádku.

Tomu říkám opruz ;-)
Kdo vám tvrdí, že jste paranoidní, ten v tom spiknutí s největší pravděpodobností jede taky.

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.