Poslao: 03 Mar 2015 17:32
|
offline
- Mila_90
- Ugledni građanin
- Pridružio: 25 Apr 2006
- Poruke: 322
|
Trebalo bi da instaliram deb paket na Raspberry Pi 1 Model B koji ima Debian. Problem je sto je paket kompajliran za AMD64 arhitekturu, a Raspberry Pi, kao sto je poznato, ima ARM arhitekturu (to je greska koju mi dpkg prijavljuje). Ima li pomoci po tom pitanju?
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 03 Mar 2015 21:25
|
offline
- bocke
- Moderator foruma
- Glavni moderator Linux foruma
- Pridružio: 16 Dec 2005
- Poruke: 12488
- Gde živiš: Južni pol
|
Koji paket i šta konkretno pokušavaš da uradiš?
Što se tiče kompatibilnosti različitih hardverskih arhitektura pretpostavljam da znaš da se arm i "amd64" razlikuju. To čini i izvršne datoteke nekompatibilinima.
|
|
|
|
Poslao: 04 Mar 2015 07:40
|
offline
- dogriz
- Građanin
- Pridružio: 07 Jun 2005
- Poruke: 33
- Gde živiš: Sombor
|
Paket mora biti kompajliran za arm i to poželjno za ARMHF (hard floating point) arhitekturu da bi radio na Raspbian-u, tako da je neophodno uraditi crosscompile sa AMD64 sistema (ne mora biti trivijalan postupak), ili sve izbildati na samom Raspberry Pi uređaju (ovo može da bude prilično sporo).
|
|
|
|
Poslao: 04 Mar 2015 09:58
|
offline
- bocke
- Moderator foruma
- Glavni moderator Linux foruma
- Pridružio: 16 Dec 2005
- Poruke: 12488
- Gde živiš: Južni pol
|
Napisano: 04 Mar 2015 9:36
dogriz ::Paket mora biti kompajliran za arm i to poželjno za ARMHF (hard floating point) arhitekturu da bi radio na Raspbian-u, tako da je neophodno uraditi crosscompile sa AMD64 sistema (ne mora biti trivijalan postupak)
Ako je dostupan izvorni kod onda se treba rekompajlirati za ARM, ali to ne mora neophodno biti na AMD64 sistemu. ARM kroskompajler se može instalirati i na 32-bitni sistem.
Mislim da nije ni puno komplikovan postupak. Trebalo bi da je ARM cross-compiler već dostupan iz Debian/Ubuntu/Mint/Fedora repoa. Doduše, pričam teorijski. Nisam pretraživao repoe. Samo mislim da bi bilo logično da su već dostupni.
dogriz ::ili sve izbildati na samom Raspberry Pi uređaju (ovo može da bude prilično sporo).
Kompajliranje direktno na mašini nije preporučljivo. Bolje je iskoristiti snagu multicore desktop mašine i mnogo veću količinu rama.
Dopuna: 04 Mar 2015 9:50
Mali dodatak. Na sledećoj strani , u odeljku "Get a Compiler - Cross compiling from Linux" postoje uputstva za instalaciju kroskompajlera na Ubuntu, Gentoo i Arch. Takođe postoji i uputstvo za ručnu izgradnju kroskompajlera korišćenjem crosstool-ng. Ništa od toga ne deluje komplikovano. Bar ne za redovne Linuks korisnike.
Dopuna: 04 Mar 2015 9:58
Još jedan dodatak: preporučeni CFLAGS za gcc
|
|
|
|
Poslao: 05 Mar 2015 09:18
|
offline
- Mila_90
- Ugledni građanin
- Pridružio: 25 Apr 2006
- Poruke: 322
|
Hvala na odgovorima, isprobacu to sto ste napisali da bih vise naucila, a sto se konkretne situacije tice kompajlirala sam na kraju izvorni kod koji sam naknadno dobila, uz Java SDK koji ide uz njega.
U pitanju je bio Simulation UA server od http://www.prosysopc.com/.
|
|
|
|
Poslao: 05 Mar 2015 21:34
|
offline
- bocke
- Moderator foruma
- Glavni moderator Linux foruma
- Pridružio: 16 Dec 2005
- Poruke: 12488
- Gde živiš: Južni pol
|
Bacio sam pogled o čemu se radi. Svakako nije u pitanju standardna korisnička ili mrežna aplikacija/servis. To je malo više na nivou velikih sistema. Dosta specifična stvar. Iako su pravila za instalaciju slična nezavisno koja je svrha aplikacije. Samo je dizajn tehnologija ovog tipa obično dosta komplikovan i sadrži elemente koji se u svakodnevnoj upotrebi kao mrežni internet server ili korisnički računar ne sreće. Dakle nije u pitanju instalacija standardne aplikacije u nekom uobičajenom režimu upotrebe, već specifična upotreba za koju ne samo da ima malo javno dostupne dokumentacije, već je i ograničen na velike sisteme.
To na stranu. Koliko vidim na netu ne postoje čiste Java implementacije OPC UA servera. To u praksi znači da se koriste sistemski zavisne komponente (najverovatnije preko JNI) i da je zaista potrebno rekompajlirati za svaku platformu posebno. Da postoji čista Java implementacija, jednom kompajliran program bi mogao da se pokrene na svakoj platformi koja podržava Javu (u odgovarajućem nivou podrške i kompatibilnosti sa referentnom JVM iz Oraclea).
|
|
|
|
|
Poslao: 11 Mar 2015 10:33
|
offline
- bocke
- Moderator foruma
- Glavni moderator Linux foruma
- Pridružio: 16 Dec 2005
- Poruke: 12488
- Gde živiš: Južni pol
|
Napisano: 11 Mar 2015 10:24
Tu se onda stvari malo komplikuju. Java VM mora imati pristup nativnom binarnom interfejsu. Ali kompajliranje na RPI-ju bi bilo sporo. Alternativa je da se izgradi Java VM u kroskompajlerskom okruženju. Tako bi se koristio JNI kroskompajlera, a ne build mašine. Ali to je čisto teorijski. Java kroskompajler kao pojam zvuči smešno. Čak mislim da je "kompajliraš na jednoj mašini, izvršavaš bilo gde" bilo i deo marketinškog slogana u doba kada se pojavila. No, po svemu sudeći to nije tako apstraktna ideja kao što se čini na prvi pogled.
Dopuna: 11 Mar 2015 10:33
Šta htedoh reći. Ako nema binarnih paketa, nema drugog izlaza nego kompajliranja na ili za ciljnu mašinu. Ovo prvo (na) bi postigla instalacijom razvojnog okruženja na ciljnu mašinu i kompajliranjem direktno na njoj. Ovo drugo (za) bi bilo postignuto korišćenjem kroskompajlera.
Mada postoji i treća mogućnost: virtualizacija pomoću QEmu. QEmu ima podršku za virtualizaciju ARM računara. Ovo je vrlo slično opciji kompajliranja na samoj mašini.
Naravno, pretpostavka je da izvorni kod dolazi spreman za neki sistem za automatizaciju izgradnje. Klasično bi to bio build.xml za Apache ant. Ali danas postoje i drugi sistemi.
|
|
|
|
Poslao: 11 Mar 2015 11:28
|
offline
- Mila_90
- Ugledni građanin
- Pridružio: 25 Apr 2006
- Poruke: 322
|
Cisto radi probe kompajlirala sam direktno na RPI-ju.
U tom slucaju, sto se tice samog izvrsavanja servera i klijenta, najsporiji deo je startovanje (prilicno sporiji u poredjenju sa izvrsavanjem na PC-ju) - kreiranje sertifikata i, pretpostavljam, priprema adresnog prostora. Kasnije je sporo i uspostavljanje veze sa klijentom i razmena sertifikata.
Dalja manipulacija adresnim prostorom na serveru i njegova pretraga od strane klijenta su pristojnog trajanja, iako ima kasnjenja u odnosu na normalno izvrsavanje.
Trebalo bi da vidim razlog tome, pa prema tome da odlucim sta dalje raditi.
|
|
|
|