Situatie
Majestic bot necesita un pachet software numit mono, ce permite rularea de aplicatii native Windows pe Linux. Site-ul se gaseste aici: http://www.mono-project.com/.
Solutie
Pentru a descarca pachetul este recomandat totusi, sa folosim repository-ul de pe github (pe site nu sunt prezente ultimele release-uri intrucat programul a fost migrat pe github). Folosind comanda:
git clone git://github.com/mono/mono.git
Putem descarca sursele in directorul curent. Ulterior, construim aplicatia folosind sursele respective. Introducem in terminal urmatoarele comenzi:
cd mono
./autogen.sh --prefix=/usr/local Daca totul a decurs bine, ar trebui sa avem un fisier Makefile in directorul curent. Acum rulam urmatoarea comanda: make get-monolite-latest Care descarca cateva submodule de care are mono nevoie. Inainte de a incepe compilarea trebuie sa validam un fisier ClaimsPrincipal.cs la linia 72. Rulam urmatoarele comenzi: find . -name "ClaimsPrincipal.cs" O data ce gasim calea rulam: gedit ./mcs/class/corlib/System.Security.Claims/ClaimsPrincipal.cs La linia 72 inlocuim:
identities.Add (new ClaimsIdentity (identity)) cu
identities.Add (new ClaimsIdentity (identity)); Acum putem incepe compilarea. Executam:
make make install make clean make ca si user obisnuit si make install ca si r00t. Daca totul a decurs cu success putem lansa un program windows folosind comanda:
mono program.exe
Putem plasa si argumente relevante pentru program in linia de comanda.
Atentie! aplicatia ruleaza doar daca executabilul nu are dependente externe, care nu sunt native platformei windows.
(.dll-uri necesare la runtime).
Eu l-am folosit pentru a lansa majestic bot 12 care se gaseste aici: http://www.majestic12.co.uk/
Pentru detalii privind instalarea puteti vedea fisierul README.md. Este o arhitectura P2P si necesita o inregistrare la inceputul rularii. Trebuiesc exportate cateva variabile de mediu (in $PATH):
LD_LIBRARY_PATH=/usr/local/lib:/home/alex/MJ12node export LD_LIBRARY_PATH MONO_THREADS_PER_CPU=100 export MONO_THREADS_PER_CPU
Leave A Comment?