Portál AbcLinuxu, 26. dubna 2024 12:37


Dotaz: Jak na správu verzí knihoven a programů?

dan.h avatar 28.8.2009 17:48 dan.h | skóre: 8 | blog: K8_blog | okr. Písek, město Čimelice, obec Nerestce
Jak na správu verzí knihoven a programů?
Přečteno: 172×
Odpovědět | Admin

Těch zkušenějších bych se rád zeptal, jak řeší to, když potřebují mít nainstalované různé verze knihoven a některé se nenacházejí v repozitářích pro danou distribuci, tudíž se musí instalovat z volných balíčků nebo pomocí ./Configure + make install

To obnáší hlavně to, že člověk musí vést vlastní databázi mimo balíčkovací systém a i to, že často <code>make install</code> nemusí vše hodit tam, kde by to mělo být. (což se dostávám k tomu, proč se distribuce nemůžou shodnout aspoň na tom, kam patří který konfigurák, kde má být apache doc root atd?)

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

Odpovědi

28.8.2009 18:17 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: Jak na správu verzí knihoven a programů?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nejčistší způsob je neinstalovat přes make install, ale vyrobit balíček a ten nainstalovat.

Více verzí knihovny by teoreticky nemusel být problém - .so obsahuje verzi ve svém názvu, hlavičkové soubory buď nejsou potřeba nebo jsou umístěny v adresáři opět s číslem verze v názvu - ale často to tak nebývá :-) Je alespoň snaha, aby šlo nainstalovat více major verzí, např. GTK 1 a GTK 2. Kdybych měl takový problém řešit, nainstaloval bych to do různých adresářů někde v /opt nebo ~/opt nebo použil virtualizaci, snad někdo poradí více.

Co kam nainstaluje make install by mělo jít ovlivnit volbami při konfiguraci - viz příslušný ./configure --help.

Kde má být Apache doc root? No přeci někde v /srv :-)

dan.h avatar 28.8.2009 21:23 dan.h | skóre: 8 | blog: K8_blog | okr. Písek, město Čimelice, obec Nerestce
Rozbalit Rozbalit vše Re: Jak na správu verzí knihoven a programů?

s tím Apache doc root: Blbuntu ho má ve /var/www, jinak obyčejně to asi bude /srv/www/htdocs.

Mě nejdřív napadlo si to kontrolovat ručně a sbastlit si v MonoDevelopu GUI pro spouštění scriptů, přičemž bych verze přepínal změnou nějakého konfiguráku, ale vyrábět si zdlouhavě balíčky vyjde zhruba nastejno a při nejmenším lépe přenositelné, ale potíž je v tom, že bych si k tomu docela rád udělal vlastní repo, aby mi to automaticky doinstalovalo závislosti nebo odinstalovalo konflikty

mess avatar 28.8.2009 21:58 mess | skóre: 43 | blog: bordel | Háj ve Slezsku - Smolkov
Rozbalit Rozbalit vše Re: Jak na správu verzí knihoven a programů?
No vidíš, já ho měl v /home/httpd, /var/www a /srv/http (různé distribuce).
Cez párne mesiace zošíváš vaginy, cez neparne montuješ hajzle.
28.8.2009 21:46 Atrament | skóre: 10
Rozbalit Rozbalit vše Re: Jak na správu verzí knihoven a programů?
Odpovědět | | Sbalit | Link | Blokovat | Admin
když spustíš ve zdrojácích ./configure --help tak na tebe vyjede výpis možností. Mezi jinými je tam --prefix to určuje kam se daný program/knihovna nainstaluje. Takže spusť ./configure --prefix=/opt/novy_program a ono se to nastaví že všechny soubory se budou při make install kopírovat do toho adresáře /opt/novy_program - ty si samozřejmě nastav adresář podle sebe. V tomto adresáři pak najdeš ten program pěkně rozházený do podadresářů bin, lib, include atd. Pokud se ti toto rozvrstvení nelíbí, opět máš možnost si toto nastavit pomocí parametrů skriptu configure - např. --bindir --libdir --includedir - myslím že pojmenování těch parametrů je dostatečně selfexplaining. Můžeš si tak mimochodem nastavit aby se všechny soubory instalovali do toho opt/novy_program, ale konfiguráky šly do /etc parameterem --sysconfdir=/etc

Takto nainstalovaný program/knihovna je třeba přidat do systémového prostředí - minimálně proměnnou PATH rozšířit o adresář ve kterém jsou binárky programu, do /etc/ld.so.conf přidat adresář s knihovnami a spustit ldconfig a pokud program obsahuje pkgconfig (typicky bývá v lib) tak ještě rozšířit proměnnou PKG_CONFIG_PATH o tento adresář. Většině programů toto ke štěstí bohatě stačí...

Na udržování nějaké databáze se takto můžeš klidně vykašlat - seznam nainstalovaného softu ze zdrojáků získáš pomocí ls /opt a odinstalaci provedeš pomocí rm :)

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.