Next revision
|
Previous revision
|
user:zeman:tred [2014/05/27 21:37] zeman created |
user:zeman:tred [2023/07/17 10:31] (current) zeman Link. |
====== Není žádný med instalovat Tred ====== | ====== Není žádný med instalovat Tred ====== |
| |
| Viz též [[internal:tred-btred-a-ntred]]. |
| |
| //(Aktualizace: Milan udělal skript, který realizuje kroky popsané níže, umí tedy nainstalovat Tred na další stroje s novým Ubuntu. Ten skript je /sprava/ADM/patch/ubuntu14.04_install_local_tred.)// |
| |
Tak už je to tady. Na můj počítač (''zen'') dorazilo nové Ubuntu 14.04. A leccos přestalo fungovat. Programy, které jsou napsané v Perlu a závisí na spoustě knihoven, potřebují ty správné knihovny pro daný operační systém (14.04) a danou verzi Perlu. Knihovny stahované z internetových úložišť se totiž většinou kompilují; kdyby tam ležely jen Perlí zdrojáky, byl by to mnohem menší problém, ale samozřejmě by to běželo pomaleji. | Tak už je to tady. Na můj počítač (''zen'') dorazilo nové Ubuntu 14.04. A leccos přestalo fungovat. Programy, které jsou napsané v Perlu a závisí na spoustě knihoven, potřebují ty správné knihovny pro daný operační systém (14.04) a danou verzi Perlu. Knihovny stahované z internetových úložišť se totiž většinou kompilují; kdyby tam ležely jen Perlí zdrojáky, byl by to mnohem menší problém, ale samozřejmě by to běželo pomaleji. |
| |
Jak je zřejmé, jsou k tomu potřeba nadstandardní práva, takže to může udělat pouze správce, případně uživatel, kterého správce oprávnil. Současně to ale znamená, že bych tuhle knihovnu měl používat pouze ve spojení s tím systémovým Perlem nainstalovaným v ''/usr/bin'' (v Ubuntu 14.04 je to Perl verze 5.18.2). Čili si např. musím upravit ''$PATH'' tak, aby přednost nedostal ''/opt/bin/perl'', což je momentálně verze 5.12.2. A taky bych tohle Tk neměl volat z jiných strojů, např. z clusteru, kde máme zatím Ubuntu 10.04. Vzhledem k interaktivní povaze té knihovny to naštěstí není nezbytné. Nejdůležitější je, že tahle knihovna má fonty v pořádku. | Jak je zřejmé, jsou k tomu potřeba nadstandardní práva, takže to může udělat pouze správce, případně uživatel, kterého správce oprávnil. Současně to ale znamená, že bych tuhle knihovnu měl používat pouze ve spojení s tím systémovým Perlem nainstalovaným v ''/usr/bin'' (v Ubuntu 14.04 je to Perl verze 5.18.2). Čili si např. musím upravit ''$PATH'' tak, aby přednost nedostal ''/opt/bin/perl'', což je momentálně verze 5.12.2. A taky bych tohle Tk neměl volat z jiných strojů, např. z clusteru, kde máme zatím Ubuntu 10.04. Vzhledem k interaktivní povaze té knihovny to naštěstí není nezbytné. Nejdůležitější je, že tahle knihovna má fonty v pořádku. |
| |
| Tak a konečně můžeme přistoupit k instalaci vlastního Tredu. Na jeho nepříliš udržovaném [[http://ufal.mff.cuni.cz/tred/|webu]] je k dispozici balíček, který se dá stáhnout a nainstalovat. Protože balíček není instalován z centrálních repozitářů pro Ubuntu, je trochu komplikovanější získání všech dalších knihoven, na kterých závisí. Dělá se to ve dvou krocích: nejdřív pustíme instalaci, o které víme, že skončí neúspěchem, předtím však stihne ve správci balíčků vyjmenovat balíčky, na kterých závisí. Potom zavoláme správce balíčků, aby chybějící závislosti vyřešil s pomocí centrálních repozitářů a instalaci tak dokončil. |
| |
| <code bash>sudo dpkg -i ./tred_2.5049_all.deb |
| sudo apt-get -f install</code> |
| |
| Ani to neproběhne bez škobrtnutí. Druhý z obou příkazů totiž na závěr vede na volání ''cpanm'' (instalace Perlích modulů z CPANu) a některé moduly se odmítnou nainstalovat: |
| |
| * Modul UNIVERSAL::DOES je sám o sobě v pořádku, ale má testy, které s Perlem 5.18 již nejsou kompatibilní. Je to nahlášený bug od počátku roku 2014, ale zatím s ním nikdo nic neudělal. Změnila se logika něčeho kolem datových typů, takže modul sice hlásí správné informace (podle nové logiky), ale test si myslí, že tyto informace jsou špatně, protože je posuzuje starou logikou. Řešením je pustit ''cpanm --force'', aby se modul nainstaloval navzdory testům, na to ale moje sudo práva nestačí (instalujeme knihovny do systémového Perlu), takže musel vypomoci Milan. |
| * Kdybychom na ÚFALu měli, jako že nemáme, správce Tredu, tak by měl předělat instalační balíček tak, aby se modul UNIVERSAL::DOES instaloval bez testů. |
| * Následovala instalace Treex::PML, která na tomhle závisela, ta už sice žádný nekompatibilní test nemá, ale na konci měla nějaký problém s přístupovými právy, takže to opět bylo na Milanovi. |
| |
| Nakonec se to povedlo a instalace doběhla, chyběla ale důležitá informace, totiž kde je teď ten Tred, který chci pustit? Existuje sice nějaký program ''/usr/bin/tred'', ale to je jakýsi grafový nástroj od Graphvizu a s naším Tredem nemá nic společného. V cestě nemám ani ''btred'' a ''ntred''. Nakonec se ukazuje, že ten správný název je (zřejmě pouze kvůli kolizi s Graphvizem) ''/usr/bin/start_tred''. Na webu Tredu to nebylo napsáno, teď jsem to tam sice dopsal, ale bylo by potřeba to změnit někde jinde, protože tahle stránka se automaticky přegenerovává vždy při vydání nové verze Tredu. |
| |
| Heuréka, máme Tred s čitelnými fonty! Bohužel to ještě není konec trápení. |
| |
| ===== Easy Treex ===== |
| |
| V dnešní době je Tred jen takovým chudinkou, pokud neumí zobrazit Treexové soubory. Takže musíme nainstalovat rozšíření Easy Treex. To ale není tak easy, jak název napovídá. Při instalaci rozšíření se dozvím, že není k dispozici nějaká metoda z Treex::Core::Config; Treex::Core se nepodařilo správně nainstalovat... a má zase spoustu závislostí, např. Moose. Takže i když je to náš software, bylo by dobré ho nainstalovat z CPANu, tím by se ty závislosti vyřešily. |
| |
| <code bash>cpanm Treex::Core</code> |
| |
| Vzhledem k tomu, že nemám správcovská práva, se tyhle moduly už neinstalují do systémových cest, ale do ''/home/zeman/perl5''. Takže si musím upravit prostředí, aby je Perl dokázal najít: |
| |
| <code bash>export PERL5LIB=/home/zeman/perl5/lib/perl5</code> |
| |
| (Vyzkoušel jsem, že PERLLIB nestačí, musel to být PERL5LIB.) |
| |
| Po dalším spuštění Tredu se už rozšíření Easy Treex inicializovalo správně, tedy alespoň to o sobě tvrdilo. Otevřít Treexový soubor (''/net/data/pcedt2.0/data/00/wsj_0001.treex.gz'') se mi však nadále nedaří. Tred tvrdí, že nemohl otevřít soubor se schématem PML ''treex_schema.xml''. Přitom ten soubor mám v ''/home/zeman/.tred.d/extensions/easytreex/resources'', on ale zřejmě neví, že by ho tam měl hledat. **ALE!** Když jsem Tred zavřel a pustil znova, tak při inicalizaci hlásil "Resource path" a tam tuhle cestu měl. A když jsem ho nechal znova otevřít inkriminovaný Treexový soubor, tak už to najednou šlo! |