[ Skip to the content ]

Institute of Formal and Applied Linguistics Wiki


[ Back to the navigation ]

This is an old revision of the document!


Není žádný med instalovat 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.

Dosud jsme na ÚFALu udržovali repozitáře knihoven (“perl repo”), ale do nich to taky někdo musel nainstalovat a toto řešení mělo své nevýhody. Martin teď nově objevil nástroj Perlbrew, který umožňuje celkem bezbolestně přepínat mezi jednotlivými verzemi Perlu a instalovat do nich centrálně knihovny z CPANu, i když člověk nemá práva správce. V obou případech tu ale máme problém, který jsme zatím nevyřešili: knihovnu Tk, která poskytuje grafické uživatelské rozhraní a závisí na ní Tred.

Když se Tk nainstaluje z CPANu na Ubuntu 14.04 (cpanm Tk), tak nenajde správné fonty. Projeví se to hned, i menu a popisky oken vypadají dost hrozně, dají se ale alespoň přečíst. Když ale v Tredu otevřete třeba arabský strom, tak nemáte šanci z něj cokoliv poznat. Sice se zdá, že to je nějaký font, který arabštinu obsahuje, ale Tk ho zobrazí v hrozném rozlišení, kostičkovaně a bez antialiasingu. Platí to pro všechny tři verze Perlu, které momentálně náš Perlbrew obsahuje. Problém je zřejmě spíš v Ubuntu: z logu build.log, který vypíše cpanm, to vypadá, že neexistují nějaké cesty a/nebo céčkové hlavičkové soubory, které podle názvu zřejmě s fonty souvisí.

Zbývá ještě jedna cesta: použít předpřipravený instalační balíček pro Ubuntu:

sudo apt-get install perl-tk

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 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.

sudo dpkg -i ./tred_2.5049_all.deb
sudo apt-get -f install

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:

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!


[ Back to the navigation ] [ Back to the content ]