Snažím se na Turris nainstalovat unison-2.48.4. V podstatě se snažím o aktualizaci mého návodu https://www.turris.cz/forum/topic_show.pl?pid=9041#pid9041 , který je pro unison 2.48.3, ale který zase aktuálně na Gentoo nezkompiluji, protože už nemám ocaml-4.02.3. A proto bych raději zkompiloval unison-2.48.4 pro turris.
Bohužel to není jen jednoduché zvednutí verzí, chtělo to nějaké dodatečné zásahy. Aktuálně mi kompilace unisonu padá na (pravděpodobně) starší verzi ocaml. Snažím se tedy nainstalovat ocaml-4.04.1 (namísto původní verze 4.02.3).
Ovšem kompilace mi padá na chybě:
[ERROR!] While you have an ocaml runtime environment, its version
(4.02.3) doesn't match the version of these
sources (4.04.1).
make[2]: *** [Makefile:56: /mnt/data/turris/openwrt/build_dir/toolchain-powerpc_8540_gcc-4.8-linaro_uClibc-0.9.33.2/ocaml-4.04.1/.configured] Error 2
make[2]: Leaving directory '/mnt/data/turris/openwrt/toolchain/ocaml'
make[1]: *** [toolchain/Makefile:83: toolchain/ocaml/compile] Error 2
make[1]: Leaving directory '/mnt/data/turris/openwrt'
make: *** [/mnt/data/turris/openwrt/include/toplevel.mk:183: toolchain/ocaml/install] Chyba 2
Což má asi na svědomí:
$ ls -la build_dir/host/ |grep ocaml
drwxr-xr-x 25 marian users 4096 2. kvě 19.50 ocaml-4.02.3
Takže se naskýtá jednoduchá otázka - jak aktualizuji host ocaml balíček na 4.04.1?
V těhle crossover kompilacích se vůbec nevyznám a google zatím nic použitelného nevrátil
jestli nezapomenu, tak se pokusím pohledat poznámky. Snad jsem si nějaké udělal. Chtěl jsem ten upravený postup sepsat, ať to příště nemusím znova řešit, ale už na to nedošlo
V nejhorším mohu poskytnout zkompilovanou binárku pro Turris 1.1.
Vtip je v tom, ze OCAML v Toolchain Options vobec nieje…
â â — Toolchain Options â â
â â [ ] Enable an extra toolchain target architecture (NEW) ---- â â
â â *** Binary tools *** â â
â â Binutils Version (Linaro binutils 2.24) —> â â
â â () Additional binutils configure options (NEW) â â
â â *** Compiler *** â â â â GCC compiler Version (gcc 4.8.x with Linaro enhancements) â â
â â [ ] Compile in support for the new Graphite framework in GCC 4.â â
â â () Additional gcc configure options (NEW) â â
â â [ ] Enable Stack-Smashing Protection support (NEW) â â
â â [ ] Use setjump()/longjump() exceptions (NEW) â â
â â [ ] Build/install java compiler and GNU classpath ? (NEW) â â
â â [ ] Build/install fortran compiler? (NEW) â â â â *** C Library *** â â
â â C Library implementation (Use uClibc) —> â â
â â uClibc Version (uClibc 0.9.33.2) —> â â
â â [ ] Build with debug information (NEW) â â
â â *** Debuggers *** â â
â â [*] Build gdb (NEW) â â
â â [ ] Build insight-gdb (NEW) â â
â â
Spíš by možná nebylo na škodu dostat ten balíček do oficiálního repa. Postup kompilace je vyzkoušený, tak by to nemusel být takový problém.
EDIT: Hlavní problém Unisonu je, že na obou stranách musí být stejné verze. Jinak to nefunguje. No a různé distribuce mají rozdílné verze. To nevím, jestli by šlo zařídit, abych si vybral určitou verzi a ta se mi sama od sebe neaktualizovala.
tak tie patche to tam pridaly…
nejaky problem s rekurzivitou,
tmp/.config-package.in:107:error: recursive dependency detected!
tmp/.config-package.in:107: symbol PACKAGE_dnsmasq-dhcpv6 depends on PACKAGE_dnsmasq-full
tmp/.config-package.in:125: symbol PACKAGE_dnsmasq-full depends on PACKAGE_dnsmasq-dhcpv6
tu som odmazal zavislost u dhcpv6.
kazdopadne to skonci na:
[ERROR!] Unable to compile the test program.
Make sure the C compiler gcc -m32 -O is properly installed.
Makefile:35: recipe for target ‘/home/rasto/tmp/turris/openwrt/build_dir/host/ocaml-4.02.3/.configured’ failed
make[3]: *** [/home/rasto/tmp/turris/openwrt/build_dir/host/ocaml-4.02.3/.configured] Error 2
make[3]: Leaving directory '/home/rasto/tmp/turris/openwrt/tools/ocaml’
tools/Makefile:125: recipe for target ‘tools/ocaml/compile’ failed
make[2]: *** [tools/ocaml/compile] Error 2
make[2]: Leaving directory '/home/rasto/tmp/turris/openwrt’
tools/Makefile:124: recipe for target ‘/home/rasto/tmp/turris/openwrt/staging_dir/target-powerpc_8540_uClibc-0.9.33.2/stamp/.tools_install_yynyyyynynynyyyyyyyyynyyyyyyyyyynyyyyyynnyyynnyynyynyyy’ failed
make[1]: *** [/home/rasto/tmp/turris/openwrt/staging_dir/target-powerpc_8540_uClibc-0.9.33.2/stamp/.tools_install_yynyyyynynynyyyyyyyyynyyyyyyyyyynyyyyyynnyyynnyynyynyyy] Error 2
make[1]: Leaving directory ‘/home/rasto/tmp/turris/openwrt’
/home/rasto/tmp/turris/openwrt/include/toplevel.mk:181: recipe for target ‘toolchain/install’ failed
make: *** [toolchain/install] Error 2
Vlastně by bylo fajn někde vytvořit úložiště pro takto přeložené binárky, které NIC nikdy nezahrne do distribuce sám mám několik přeložených programů (oscam, pcsensor), které se podařilo takto v potu tváře někomu přeložit. Osobně vždycky raději sáhnu po již hotové funkční binárce než se trápit s překladem.
Ale zase musíš té binárce věřit, že je to opravdu zkompilováno z oficiálního zdrojáku a že tam někdo nepřidal něco nekalého. Chtělo by to nějaké napůl oficiální repo s pevně nastavenými pravidly pro přispěvatele balíčků.
Přesně za tohle mě @miska nepochválil, nabízel jsem tu nějaké drobnosti už přeložené, raději chtěl ať to
přidám přes Github.
Ale asi by bylo fajn to někam ukládat, ať mají přístup i jiní.