Ich möchte ein bestimmtes Programm zum laufen bekommen, und benötige dafür Hilfe

  • Guten Abend.

    Ich habe einen Raspberry Pi 4B der mir sehr gute Dienste als kleiner Heimserver leistet. Es funktioniert auch alles sehr gut soweit.

    Jetzt habe ich ein Problen und hoffe ihr könnt mir helfen.

    Ich habe ein Programm zum Synchronisieren von 2 Shop Inventaren. Ich brauch das Programm um zu verhindern das 2 Kunden in jeweils einem Shop die gleichen Waren bestellen.

    Dieses Programm gibt es einmal als Linux64 Version oder man kann den Source Code herunterladen. Daneben gibt es natürlich noch Mac OS und Windows Versionen.

    Ich hab mir die tar.gz auf den Raspberry geladen, sie entpackt und dann versucht sie auszuführen.

    Ergebnis war das ich die Fehlermeldung "Kann die Binärdatei nicht ausführen. Fehler im Format der Programmdatei" bekomme.

    Daraufhin hab ich mich ein wenig belesen und habe via rpi update meinen Raspbian Kernel auf 64 Bit upgedatet. Der Fehler bleibt allerdings bestehen .

    So und nun dachte ich ich wende mich an euch um mir Anfänger zu erklären wo mein Fehler liegt, und was ich machen kann um ihn zu beheben.

    Als kleine Info füge ich hier noch die Links zur Linux64 Version und dem Source Code an.

    http://www.bricksync.net/bricksync-linux64-171.tar.gz

    Das ist die Linux Version.

    http://www.bricksync.net/bricksync-src.tar.gz

    Das ist der Source Code

    Ich benutze übrigens Raspbian als Betriebssystem.

    Ich hoffe ihr könnt mir helfen und ich bedanke mich im Voraus.

    Frosty

  • Ich möchte ein bestimmtes Programm zum laufen bekommen, und benötige dafür Hilfe? Schau mal ob du hier fündig wirst!

  • Hallo,

    ich würde mal stark vermuten, dass die vorkompilierte Linux-Version für x86 CPUs kompiliert ist, der Raspi hat aber eine ARM CPU. Kann also nicht laufen.

    Selber aus dem Source Code kompilieren sollte funktionieren, Musst dann wohl mal suchen, ob es eine detailliertere Anleitung gibt... Auf der Download-Seite stehen dazu ja nur ein paar Anmerkung... Oder du probierst einfach mal in Trial & Error Manier ./configure && make && sudo make install. Risiko dabei: du musst dein System ggf. händisch aufräumen, wenn ein Teil der Dateien kompiliert wird und das Kompilieren dann irgendwann warum auch immer abbricht.

    Gruß, noisefloor

  • Hallo frosty,

    Du brauchst lediglich den Quellcode auf dem RaspberryPi zu compilieren und zu einem lauffähigen Programm umzuwandeln.

    Klappt das dann oder welche Fehlermeldungen erhältst Du bei dem Versuch?

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Es gibt eine Datei `compile` und die musst du ausfuehren, zB mit

    bash compile

    Die Vorraussetzungen sind nicht besonders hoch, libcrypto++-dev und libssl-dev wie es aussieht.

    Danach hast du dann ein executable bricksync.

  • So also vielen Dank für die Tipps bisher.

    Ich hab mir jetzt ein Verzeichnis erstellt und mir den Source Code dahin runtergeladen. Den hab ich dann entpackt. Jetzt hatte ich viele bunte Dateien.

    Die Compile Datei auszuführen hat erstmal zu folgendem Fehler geführt:

    gcc: error: unrecognized command line option ‘-m64’

    compile: Zeile 2: ./cpuconf: Datei oder Verzeichnis nicht gefunden

    gcc: error: unrecognized command line option ‘-m64’

    Nach einigem hin und her hab ich die compile einfach mal mit Nano geöffnet und siehe da es steht dort ein Parameter -m64.

    Ganz Naiv wie ich bin hab ich den gelöscht.

    Danach nochmal ausgeführt und ich bekomme eine irre lange Liste mit Code und vielen Fehlern ausgespuckt.

    Ich werd an diesen Post mal ne TXT mit dem Code anhängen.

    Jetzt steh ich da so ein wenig doof davor. Programme kompilieren hab ich noch nie gemacht.

    ich hoffe ihr könnt mir helfen.

  • Da fehlen zum einen Header der Pakete die ich genannt habe. Hast du die installiert?

    Aber dann gibt’s offensichtlich auch eine Menge mehr prozessorspezifischen Code, in teilweise etwas befremdlichen Dateien, die zb Verhindern sollen, das man das Programm unter einem debugger laufen lassen kann. Was absurd ist, wenn man gleichzeitig den Code rausgibt.

    Anderer Code scheint assembler zu nutzen. Auch das ist natürlich nur für Intel Prozessoren gemacht.

    Es kann sein, dass man das mit viel Liebe und Kenntnissen zum laufen bekommt. Aber da muss man sich tief einarbeiten. Mit ein paar Tipps und Befehlen auf der Kommandozeile ist es nicht getan.

    Wenn das Produkt ein Forum hat, oder sonst eine Form der Nutzer-Community, würde ich da mal fragen, ob das wer schon für ARM angepasst hat. Oder beim Hersteller.

    Alternativ kann man es vielleicht auch mit Qemu laufen lassen.

  • Hallo allerseits

    erstmal vielen Dank für die Hilfe.

    ich werde die entsprechenden Pakete dann nochmal installieren und schauen ob es dann funktioniert. Wenn es nicht funktionieren sollte gebt mir doch eventuell mal einen Tipp was für eine Art Server ich benötigen würde damit das Programm läuft. Ich bin leider auf diese Software im Moment angewiesen.

    Vielen Dank schon mal

  • Wenn man sich die Datei "cpuconf.c" enmal ansieht, die bei dem Script zum Kompilieren als erste aufgerufen wird, sieht man die CPU-Typen, auf die dieses Programm optimiert ist:

    Auch die weitere Definition bezieht sich nur auf Intel oder AMD-CPUs vom Typ x32/x64, nicht auf ARM-CPUs.

    Das wird man, ohne viel am Code zu verbiegen, wohl auch ARM-Prozessoeren nicht zum laufen bekommen.

    Das Programm "cpuinfo.c" ist auch nur für x32/x64-Systeme (Windows, Linux, MacOS)

  • ich habe mir sowas in der Art schon gedacht.

    Ich habe den Programmierer angeschrieben und ihn gefragt ob er eine ARM oder Raspberry Version des Programms besitzt. Wenn das nicht der Fall sein sollte, wovon ich ausgehe, werde ich mir wohl einen entsprechenden Server mieten müssen. Wie gesagt momentan bin ich auf das Programm angewiesen.

    Daher noch eine abschließende Frage. Was für einen Server würdet ihr da empfehlen. Es soll erstmal nur das Programm darauf laufen. Ach ja und wenn möglich könnte ich ja auch eine Verbindung zwischen dem Raspberry und diesem Server herstellen. DynDns funktioniert bei mir aufgrund einer fehlenden IPv4 Zuordnung seitens meines DSL Anbieters leider nicht.

    Vielleicht könnt ihr.mir dahingehend nochmal Helfen.

    Vielen Dank

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!