xpl_sasl
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
| xpl_sasl [2015/12/15 22:20] – [Obecně] djbuldog | xpl_sasl [2025/08/28 10:09] (aktuální) – upraveno mimo DokuWiki 127.0.0.1 | ||
|---|---|---|---|
| Řádek 29: | Řádek 29: | ||
| ===== Kompilace Slava ===== | ===== Kompilace Slava ===== | ||
| - | * svn http:// | + | * stáhnout |
| - | * na webu se mluví o verzi 0.8 a 1.0 RC, v svn je ale verze kompatibilní s 2.0 (aktuálně 2.0.3) | + | |
| - | * kompilace se spouští pomocí // | + | |
| - | * soubor je potřeba upravit :) | + | |
| - | * není tam žádný configure, takže se musí upravit cesty a doinstalovat závislosti | + | |
| - | * pro kompilaci slava není potřeba kompilovat xap, který závisí na X-Plane SDK od XSquawkBox | + | |
| - | + | ||
| - | * já jsem řešil tyto problémy při kompilaci | + | |
| < | < | ||
| - | luna.h:10:17: fatal error: lua.h: Adresář nebo soubor neexistuje | + | svn co http://sasl.googlecode.com/ |
| - | # | + | |
| - | ^ | + | |
| </ | </ | ||
| + | * projekt neobsahuje žádný configure, takže se musí upravit cesty a doinstalovat závislosti | ||
| + | * pro kompilaci slava není potřeba kompilovat xap, který závisí na X-Plane [[http:// | ||
| + | * minimálně budou potřeba balíčky | ||
| < | < | ||
| - | locate lua.h | + | apt-get install libluajit-5.1-dev libsoil-dev libsdl2-dev libopenal-dev |
| </ | </ | ||
| + | * upravit konfigurační soubor - zohlednit cesty knihoven a vypnout xap | ||
| < | < | ||
| - | fps.h:5:17: fatal error: SDL.h: Adresář nebo soubor neexistuje | + | cp conf.mk-dist conf.mk |
| - | # | + | |
| </ | </ | ||
| < | < | ||
| - | apt-get install libsdl2-dev | + | +BUILD_XAP ?= no |
| - | </ | + | -BUILD_XAP ?= yes |
| - | < | + | +LUAJIT ?= /usr/ |
| - | #include | + | -LUAJIT ?= / |
| - | ^ | + | |
| + | +SOIL ?= /usr/ | ||
| + | -SOIL ?= / | ||
| + | |||
| + | +EXTRA_CXXFLAGS ?= -I/usr/include/SOIL | ||
| + | -EXTRA_CXXFLAGS ?= | ||
| </ | </ | ||
| - | < | + | * spustit kompilaci |
| - | locate SOIL.h | + | * lze použít přímo make, ale lepší je ./mkdisr, který navíc vytváří rovnou výstupní archív s binárkama |
| - | < | + | * mkdistr ale ignoruje conf.mk a snaží se buildovat i xap, lze upravit takto |
| < | < | ||
| - | apt-get install libsoil-dev | + | # build x-plane plugin |
| + | cd ../xap | ||
| + | -make clean | ||
| + | -make | ||
| + | +#make clean | ||
| + | +# | ||
| </ | </ | ||
| - | EXTRA_CXXFLAGS = -I/ | + | * výsledek je ve složce distr |
| - | ln -s / | + | ==== Řešené problémy ==== |
| - | -I/ | + | * obecně jsem postupoval takto |
| - | ./ | + | |
| - | / | + | < |
| - | /usr/bin/ld: cannot find -lluajit-5.1 | + | luna.h:10:17: fatal error: lua.h: Adresář nebo soubor neexistuje |
| - | /usr/bin/ld: cannot find -lopenal | + | #include < |
| + | ^ | ||
| + | </code> | ||
| - | -L./ -L../ | + | < |
| + | $ locate lua.h | ||
| + | </code> | ||
| - | ln -s / | + | * pak jsem kouknul na web debian, který balíček soubor poskytuje a v jaké cestě |
| - | n.cpp | + | * další zajímavý problém byl s kompilací lokálních adresářů |
| - | g++ -o slava -L/ | + | |
| - | / | + | |
| - | collect2: error: ld returned 1 exit status | + | |
| - | Makefile: | + | |
| - | make: *** [slava] Chyba 1 | + | |
| + | < | ||
| + | make: *** Žádné pravidlo jak vyrobit cíl „../ | ||
| + | </ | ||
| - | ten alsound se musi zkompilovat :) | + | * oprava jednoduchá, |
| - | je to adresar... a vyzdauje | + | |
| - | alsound.cpp: | + | < |
| - | # | + | make -C libaccgl |
| + | </code> | ||
| - | install libopenal-dev | + | * lze vyřešit i úpravou mkdistr, například pro alsound následovně |
| - | a pozooor.. nasel jsem ten divnej build :)) | + | < |
| - | https:// | + | --- mkdistr.sh (revision 224) |
| + | +++ mkdistr.sh (working copy) | ||
| - | uprava default conf.mk | + | +# build alsound |
| + | +cd alsound | ||
| + | +make clean | ||
| + | +make | ||
| + | +if [ $? != 0 ] ; then | ||
| + | + echo " | ||
| + | + exit -1 | ||
| + | +fi | ||
| + | +cd .. | ||
| + | </ | ||
| + | |||
| + | ===== Testování slava-Sasl ===== | ||
| + | |||
| + | * po zbuildování Slava jsem přišel na to, že s aplikaci nelze spojit Carenado SASL pluginem | ||
| + | * používají nejspíš verzi s bugem v handshake (jako [[https:// | ||
| < | < | ||
| - | # extra CXXFLAGS | + | server: |
| - | EXTRA_CXXFLAGS = -I/ | + | con.send((unsigned char*)" |
| + | con.send(seed, | ||
| - | # extra LNFLAGS | + | client: |
| - | EXTRA_LNFLAGS = -L/ | + | md5_append(& |
| + | md5_append(& | ||
| + | md5_byte_t digest[16]; | ||
| + | md5_finish(& | ||
| + | con.send(digest, | ||
| + | |||
| + | server: | ||
| + | md5_append(& | ||
| + | md5_append(& | ||
| + | md5_append(& | ||
| + | unsigned char digest[16]; | ||
| </ | </ | ||
| + | |||
| + | * vymyslel jsem opravu ve tvaru | ||
| < | < | ||
| Řádek 133: | Řádek 167: | ||
| </ | </ | ||
| - | | + | |
| - | < | + | * nebylo to ale stabilní. Pokud jsem ve Slava na něco klikl, tak se to nějak rozpojilo |
| - | --- mkdistr.sh (revision 224) | + | |
| - | +++ mkdistr.sh (working copy) | + | |
| - | +# build alsound | + | ===== Zprovoznění Sasl u letadel ===== |
| - | +cd alsound | + | |
| - | +make clean | + | |
| - | +make | + | |
| - | +if [ $? != 0 ] ; then | + | |
| - | + echo " | + | |
| - | + exit -1 | + | |
| - | +fi | + | |
| - | +cd .. | + | |
| - | </ | + | |
| - | ===== Testování slava-Sasl ===== | + | * měl jsem letadla, u kterých měl běžet sasl plugin, ale neběžel |
| + | * zjistil jsem, že tam někdy chybí 64 bit verze nebo verze pro Linux | ||
| + | * dále jsem zjistil, že ldd na lin.xpl má někdy problémy najít knihovny a tak se modul nezavede | ||
| + | * důvod přeskočení pluginu by to mělo vypsat do x-plane Log.txt | ||
| - | build mam hotov.. | + | ===== Kompilace SASL ===== |
| - | proc to nekomunikuje??? | + | |
| - | v saas2.0.zip je navod, co se posila v packetech.. je tam vlastne popis celeho komunikacnicho protokolu | + | * odstraněno zakomentování buildu xap (kompilace Slava) |
| - | (ten zip mas v aircrafts u toho hangaru pc12) | + | * přidáno x-plane SDK |
| + | * kompilace proběhla | ||
| - | vlastten tady | + | < |
| - | less / | + | SASL: Starting... |
| + | X-Plane scriptable avionics library plugin v2.0.3 | ||
| + | Loaded: | ||
| - | kdyz poslu NP1 na eclipse, tak on nereaguje | + | SASL: Path to panel: / |
| - | kdyz poslu NP2, tak on odpovi NP1+16B | + | SASL: Loading avionics... |
| + | --=={This application has crashed because of the plugin: SASL}==-- | ||
| + | </ | ||
| - | takze to vypada, ze tam je nejaka jina verze :) ale jaka? | + | * do terminálu vypisuje |
| - | u toho eclipse se pise neco o verzi 2.0.0... z svn mam cosi jako 2.0.3 :) | + | < |
| + | Got allocator: 0x41e1c010 | ||
| + | Must use luaL_newstate() for 64 bit target | ||
| + | Got Lua: (nil) | ||
| + | error creating Lua virtual machine | ||
| + | Neúspěšně ukončen (SIGABRT) | ||
| + | </ | ||
| - | vzal jsem sasl plugin z eclipse a hodil to do TU letounu... no a funguje to ted na 64bit | + | * je to prý způsobeno nepovolenou custom alokaci v knihovně LuaJIT na 64 bit systémech ([[https:// |
| - | teoreticky, kdyz si udelam vlastni build sasl, tak by to pak mohlo frcet :) no ne? | + | * diskuze o problému například [[http://forums.x-plane.org/index.php? |
| - | + | * řešením | |
| - | jinak.. ten sasl plugin by nemel vesmes delat tak nejak nic.. vsechno by melo byt v custom cocpit!! | + | * já jsem problém |
| - | + | ||
| - | + | ||
| - | ===== Zprovoznění Sasl u letadel ===== | + | |
| - | + | ||
| - | * je tam 64 bit verze? | + | |
| - | * ldd na lin.xpl | + | |
| - | * zkoumáním log.txt | + | |
| - | * typicky tam je problém | + | |
| < | < | ||
| - | SASL INFO: including | + | vim xap/xplua.cpp |
| - | SASL ERROR: Can't find sound sounds/INBEE.wav | + | - lua = lua_newstate(lj_alloc_f, |
| - | SASL ERROR: Can't find sound sounds/ | + | + lua = luaL_newstate(); |
| - | SASL ERROR: Can't find sound sounds/ | + | |
| - | SASL ERROR: Can't find sound sounds/ | + | |
| - | SASL ERROR: Can't find sound sounds/ | + | |
| - | SASL ERROR: Can't find sound sounds/ | + | |
| </ | </ | ||
| + | * funguje to, ale nevím jestli je to stabilní :) spíš bych měl zkusit to statické slinkování | ||
| ===== Historie ===== | ===== Historie ===== | ||
| + | |||
| ==== Původní vize autora ==== | ==== Původní vize autora ==== | ||
| Řádek 240: | Řádek 266: | ||
| ===== TODO ===== | ===== TODO ===== | ||
| - | | + | * co zkompilovat sasl 2.0.3 a dát ho do Caranado |
| - | * proč spadne xpl, když dám stop serveru u sasl, když jsem připojen slava klientem? | + | * bude Slava fungovat bez zaseknutí? |
| - | | + | * a letadlo bez problémů (zvuk motoru, menu, pilot, ..)? |
| - | * udělat si vlastní panel s pár přístroji... cesna style :) v milmi2 je hodně custom component, ale můžu i ukrást jen obrázky přístroju prostě z cesna letadla.. vytváření přístrojů by mělo být lehké | + | * a kruci.. s tím starým mým buildem je to ok, ale s tím novým to padá ihned :/ |
| - | * ve v35 je nejaky xpscrollwell plugin :) nehodil by se i do jiných letadel? | + | |
| - | * http:// | + | |
| - | * http:// | + | |
| - | * http:// | + | |
| + | * udělat si vlastní panel s pár přístroji... | ||
| + | * například pro cesnu 152, přístroje se dají vytahat z textur | ||
| + | * zkusit namergovat (zkompilovat) Slave se zdrojaky 2.4 a používat tuhle novou verzi :) | ||
| + | * zapřemýšlet, | ||
| + | * nevýhoda SASL je v tom, že každý letadlo může mít jinou verzi | ||
| + | * některá letadla mohou používat tu DRM nebo šifrování a tam bych to tou free verzi popsul | ||
xpl_sasl.1450214412.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)
