Forum Turris
Fórum Turris Nápověda

Milí majitelé routerů Turris,

toto fórum bylo 9. 12. 2016 zmrazeno a nahrazeno naším novým Turris fórem. Ještě chvíli bude dostupné k prohlížení, ale již zde není možné přispívat. Více informací naleznete v oznámení o uzavření fóra.


Dear Turris routers users,

this forum has been frozen on Dec 9th, 2016 and replaced by our new Turris forum. It will be read-only accessible for some time after. For more information, read the announcement about closing the forum.

Nahoru Téma Majitelé routerů / Technická podpora / Kompilace GCC pro Turris
- - Od VitalCZ Dne 2014-12-23 19:35
Zdravím,
řeším jeden problém se scriptem napsaným v JS.
Databázi se mi podařilo nastavit, nicméně k běhu scriptu potřebuji nějaký JS engine. Nejvíce by se asi hodil Node.JS. Ale jelikož možná budu v budoucnu ještě něco kompilovat, hodil by se kompilátor, který by zkomiloval další věci přímo na routeru. K tomuto účelu by posloužil GCC. Pomocí návodu jsem úspěšně zkompiloval Hello world, nicméně GCC není napsaný v Ocaml, takže nevím jak postupovat dál. https://www.turris.cz/forum/topic_show.pl?pid=811
Neřešil jste už někdo tento problém, nebo nevíte jak by se dal zkompilovat?
Děkuji.
Nadřazený - Od jirig Dne 2014-12-31 18:03
Dobrý den,
myslím, že v zásadě jsou možné dva způsoby řešení.

Buď pomocí cross-kompilátoru: podobně jako jste vytvořil na jiném počítači Hello word (v jazyce C) tak, že jde spustit na Turrisu, kompiloval byste programy v nějakém jiném jazyce. To bývá obyčejně jednodušší, ale musel byste vytváření cross-kompilátoru rozšířit o podporu pro další jazyk kromě C a C++, což znamená zasahovat do pravděpodobně relativně složitých vnitřností buildovacího procesu. Příklad kompilace tímto způsobem (v podporovaném jazyce) je třeba tady: https://www.turris.cz/forum/topic_show.pl?pid=1729 (včetně příkladu některých nástrah).

Nebo pomocí nativního kompilároru: to je řešení, které zmiňujete. GCC je na podobnou situaci připravené (při konfiguraci lze detailně uvést co, čím a pro co se má kompilovat) a je napsané v jazyce C, pro který cross-kompilátor máte. Inspirovat se můžete projekty LFS a CLFS http://www.linuxfromscratch.org/ -- ručně vytvářejí celý linuxový systém, což je docela poučné. Je ale otázka, zda OpenWRT a Turris používají čistou verzi GCC. Mám podezření, že můžou doplňovat nějaké patche, které byste musel z buildovacího procesu vypreparovat. Také byste na Turris musel dostat některé součásti jiných balíčků, které se standardně neistalují (přinejmenším hlavičkové soubory).

Nejsem si však jistý, že GCC umí kompilovat JS, mám dojem, že obsahuje podporu pouze pro Javu. (V mém případě se OCaml nekompiloval přímo pomocí GCC, takže nepodpora OCaml v GCC nevadila.) Možná by Node.JS spustitelné pomocí první metody na Turrisu byla snažší cesta. Na druhou stranu, kdyby se vám podařilo vytvořit balíček s nativní verzí GCC, řadě lidí by to mohlo usnadnit život, protože kompilovat něco přímo na Turrisu by bylo snazší.
Nahoru Téma Majitelé routerů / Technická podpora / Kompilace GCC pro Turris

Powered by mwForum 2.29.3 © 1999-2013 Markus Wichitill