it-swarm.com.de

Fehler: bash: ./autogen.sh: Keine solche Datei oder Verzeichnis

Für die stm32f4-Programmierung muss st-linkv2 in Eclipse installiert werden.

automake, dh-autoreconf, libusb-1.0-0-dev werden für st-linkv2 benötigt.

Terminal sieht so aus:

[email protected]:~/ARMToolchains/stlink-master$ ls -a
.               debian        LICENSE                 .travis.sh
..              doc           Makefile                .travis.yml
.appveyor.yml   etc           README.md               usr
build           flashloaders  scripts                 .version
ChangeLog.md    .github       src
cmake           .gitignore    stlinkv1_macosx_driver
CMakeLists.txt  include       tests
$ ./autogen.sh
bash: ./autogen.sh: No such file or directory
$ whereis automake
automake: /usr/share/man/man1/automake.1.gz
$ ./configure
bash: ./configure: No such file or directory
$ Sudo apt-get install automake
[Sudo] password for abin: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
automake is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 18 not upgraded.
$ whereis autoconf
autoconf: /usr/bin/autoconf /usr/share/autoconf /usr/share/man/man1/autoconf.1.gz
$ whereis libusb-1.0-0-dev
libusb-1: /usr/include/libusb-1.0

Ich habe den Quellcode von hier auf GitHub heruntergeladen.

Ich verfolge blindlings dieses You Tube-Video , das zeigt, wie man Eclipse unter Linux für die STMboard-Programmierung verwendet und den Code in das Board schreibt. Der Hersteller des Videos führt den Vorgang, den ich versuche, um 8:37 Uhr durch.

Betriebssystem ist Ubuntu 15.04, 32-Bit.

Ich würde gerne wissen, wie man das kompiliert. Ich möchte auch verstehen, warum wir Methoden wie ./autogen.sh und andere Befehle verwenden.

2
abinjacob

Die von Ihnen verwendete Syntax

./name-of-file

führt eine ausführbare Datei im aktuellen Arbeitsverzeichnis aus. Wenn Sie name-of-file mit ls -a nicht sehen können, schlägt dies mit dem von Ihnen erkannten Fehler fehl, und wenn der Benutzer, der den Befehl ausführt, keine Ausführungsberechtigung hat, schlägt dies mit permission denied fehl (falls Es sind überhaupt keine x-Bits gesetzt, und Sie versuchen, es mit Sudo auszuführen. Die Fehlermeldung lautet command not found).

Das Programm, das Sie zu kompilieren versuchen, verwendet die Methode cmake, um die Build-Umgebung einzurichten, und es ist offensichtlich kein Skript autogen.sh (oder configure) zum Ausführen vorhanden.

Ich habe gerade erfolgreich diese Version von der GitHub-Seite erstellt, auf die Sie verlinkt haben. Es war unkompliziert und ich hatte keine Probleme.

Zuerst müssen Sie alle Abhängigkeiten für den Build installieren. Ich bin mir nicht sicher, ob all dies tatsächlich erforderlich ist, aber Sie haben erwähnt, dass Sie sowieso etwas davon benötigen ...

Sudo apt install build-essential automake dh-autoreconf libusb-1.0-0-dev cmake g++

erstellen Sie ein Verzeichnis an der in Ihrem Screenshot angegebenen Stelle (öffnen Sie ein Terminal und cd /ARMToolchains/stlink-master, falls erforderlich ... Warum erstellen Sie nicht Ihr Basisverzeichnis? Ich empfehle, das gesamte Verzeichnis auf $USER zu verschieben, aber sowieso ...) die grundmethode ist

mkdir build
cd build
cmake ..

Wenn das erfolgreich beendet wird, können Sie ausführen

make

Wenn dies erfolgreich ist, können Sie ausführen

Sudo make install

Verschieben der Binärdateien an die richtigen Positionen. Wenn nicht, können Sie sie aus dem aktuellen Verzeichnis ausführen. Wenn Sie die Version, die Sie bereits zum Erstellen heruntergeladen haben, nicht herunterladen können (dies passiert häufig beim Klonen des Masters, da möglicherweise gerade Änderungen vorgenommen werden), laden Sie eine der Versionen herunter (wie die oben verlinkte). und versuche es erneut.

2
Zanna