Hallo
Ich habe kürzlich Ubuntu 16.10 installiert und versuche, den Stlink-Treiber zu installieren. Leider kann ich den Code nicht kompilieren. Was mache ich falsch? Probleme mit Ubuntu 16.10?
Dies ist die Ausgabe des Befehls make release :
- Die C-Compiler-Identifikation lautet GNU 6.2.0
- Überprüfen Sie, ob der C-Compiler funktioniert: / usr / bin / cc
- Überprüfen Sie, ob der C-Compiler funktioniert: / usr / bin / cc - funktioniert
- Erkennen von C-Compiler-ABI-Informationen
- Erkennen von C-Compiler-ABI-Informationen - erledigt
- Erkennen von C-Kompilierungsfunktionen
- Erkennen von C-Kompilierungsfunktionen - fertig
CMake-Fehler bei cmake / Version. cmake: 25 (Zeichenfolge):
String-Unterbefehl REGEX, Modus REPLACE benötigt insgesamt mindestens 6 Argumente
Befehl.
Call Stack (letzter Anruf zuerst):
CMakeLists. txt: 15 (einschließen)
- Durchführen des Tests C_SUPPORTS_STD_GNU99
- Durchführen des Tests C_SUPPORTS_STD_GNU99 - Erfolgreich
- Durchführen des Tests C_SUPPORTS_WALL
- Durchführen des Tests C_SUPPORTS_WALL - Erfolgreich
- Durchführen des Tests C_SUPPORTS_WEXTRA
- Durchführen des Tests C_SUPPORTS_WEXTRA - Erfolgreich
- Durchführen des Tests C_SUPPORTS_WSHADOW
- Durchführen des Tests C_SUPPORTS_WSHADOW - Erfolgreich
- Durchführen des Tests C_SUPPORTS_D_FORTIFY_SOURCE_2
- Durchführen des Tests C_SUPPORTS_D_FORTIFY_SOURCE_2 - Erfolgreich
- Durchführen des Tests C_SUPPORTS_FSTRICT_ALIASING
- Durchführen des Tests C_SUPPORTS_FSTRICT_ALIASING - Erfolgreich
- Durchführen des Tests C_SUPPORTS_WUNDEF
- Durchführen des Tests C_SUPPORTS_WUNDEF - Erfolgreich
- Durchführen des Tests C_SUPPORTS_WFORMAT
- Durchführen des Tests C_SUPPORTS_WFORMAT - Erfolgreich
- Durchführen des Tests C_SUPPORTS_WFORMAT_SECURITY
- Durchführen des Tests C_SUPPORTS_WFORMAT_SECURITY - Erfolgreich
- Durchführen des Tests C_SUPPORTS_WMAYBE_UNINITIALIZED
- Durchführen des Tests C_SUPPORTS_WMAYBE_UNINITIALIZED - Erfolgreich
- Durchführen des Tests C_SUPPORTS_WMISSING_VARIABLE_DECLARATIONS
- Durchführen des Tests C_SUPPORTS_WMISSING_VARIABLE_DECLARATIONS - Fehlgeschlagen
- Durchführen des Tests C_SUPPORTS_WSHORTEN_64_TO_32
- Durchführen des Tests C_SUPPORTS_WSHORTEN_64_TO_32 - Fehlgeschlagen
- Durchführen des Tests C_SUPPORTS_WIMPLICIT_FUNCTION_DECLARATION
- Durchführen des Tests C_SUPPORTS_WIMPLICIT_FUNCTION_DECLARATION - Erfolgreich
- Durchführen des Tests C_SUPPORTS_WREDUNDANT_DECLS
- Durchführen des Tests C_SUPPORTS_WREDUNDANT_DECLS - Erfolgreich
- Durchführen des Tests C_SUPPORTS_FPIC
- Durchführen des Tests C_SUPPORTS_FPIC - Erfolgreich
- Libusb gefunden: /usr/lib/x86_64-linux-gnu/libusb-1.0.so
- PkgConfig gefunden: / usr / bin / pkg-config (gefundene Version "0.29.1")
- Überprüfung auf Modul 'gtk + -3.0'
- gtk + -3.0, Version 3.20.9 gefunden
- Auf der Suche nach sys / mman.h.
- Auf der Suche nach sys / mman.h - gefunden
- Manpage-Generierung deaktiviert
- Bei unvollständiger Konfiguration sind Fehler aufgetreten!
Siehe auch "... / Toolchain / stlink / build / Release / CMakeFiles / CMakeOutput.log".
Siehe auch "... / Toolchain / stlink / build / Release / CMakeFiles / CMakeError.log".
Makefile: 42 : Rezept für Ziel 'Build / Release' fehlgeschlagen
make: * [build / release] Fehler 1
Das Durchführen des C SOURCE FILE-Tests C_SUPPORTS_WMISSING_VARIABLE_DECLARATIONS ist mit der folgenden Ausgabe fehlgeschlagen:
Änderungsrichtung: ... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp
Führen Sie den Build-Befehl aus: "/ usr / bin / make" "cmTC_f6585 / fast"
make [1]: Eingabe des Verzeichnisses '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'
/ usr / bin / make -f CMakeFiles / cmTC_f6585.dir / build.make CMakeFiles / cmTC_f6585.dir / build
make [2]: Eingabe des Verzeichnisses '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'
Erstellen des C-Objekts CMakeFiles / cmTC_f6585.dir / src.co.
/ usr / bin / cc -std = gnu99 -Wall -Wextra -Wshadow -D_FORTIFY_SOURCE = 2 -striktes Aliasing -Wundef -Wormat -Wormat-Sicherheit -Wenn möglicherweise nicht initialisiert -DC_SUPPORTS_WMISSING_VARIABLE_DECLARS dir / src.co -c ... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp / src.c.
cc: Fehler: nicht erkannte Befehlszeilenoption '-Wmissing-Variable-Deklarationen'; Meinten Sie "-Wmissing-Erklärungen"?
CMakeFiles / cmTC_f6585.dir / build. make: 65 : Rezept für Ziel 'CMakeFiles / cmTC_f6585.dir / src.co' fehlgeschlagen
make [2]: * [CMakeFiles / cmTC_f6585.dir / src.co] Fehler 1make [2]: Verlassen des Verzeichnisses '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'Makefile: 126 : Rezept für Ziel 'cmTC_f6585 / fast' fehlgeschlagenmake [1]: * [cmTC_f6585 / fast] Fehler 2
make [1]: Verlassen des Verzeichnisses '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'
Quelldatei war:
int main (void) {return 0; }}
Das Durchführen des C SOURCE FILE-Tests C_SUPPORTS_WSHORTEN_64_TO_32 ist mit der folgenden Ausgabe fehlgeschlagen:
Änderungsrichtung: ... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp
Führen Sie den Build-Befehl aus: "/ usr / bin / make" "cmTC_04dd3 / fast"
make [1]: Eingabe des Verzeichnisses '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'
/ usr / bin / make -f CMakeFiles / cmTC_04dd3.dir / build.make CMakeFiles / cmTC_04dd3.dir / build
make [2]: Eingabe des Verzeichnisses '... Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'
Erstellen des C-Objekts CMakeFiles / cmTC_04dd3.dir / src.co.
/ usr / bin / cc -std = gnu99 -Wall -Wextra -Wshadow -D_FORTIFY_SOURCE = 2 -striktes Aliasing -Wundef -Wformat -Wformat-Sicherheit -Wie möglicherweise -initialisiert -DC_SUPPORTS_WSHORTEN_64_TO_32 -Whorten-64 cmTC_04dd3.dir / src.co -c ... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp / src.c.
cc: Fehler: nicht erkannte Befehlszeilenoption '-Wshorten-64-to-32'
CMakeFiles / cmTC_04dd3.dir / build. make: 65 : Rezept für Ziel 'CMakeFiles / cmTC_04dd3.dir / src.co' fehlgeschlagen
make [2]: * [CMakeFiles / cmTC_04dd3.dir / src.co] Fehler 1make [2]: Verlassen des Verzeichnisses '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'Makefile: 126 : Rezept für Ziel 'cmTC_04dd3 / fast' fehlgeschlagenmake [1]: * [cmTC_04dd3 / fast] Fehler 2
make [1]: Verlassen des Verzeichnisses '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'
Quelldatei war:
int main (void) {return 0; }}
Es scheint, dass (Ihre) cmake (Version) daran erstickt: https://github.com/texane/stlink/blob/master/cmake/Version.cmake#L25 -L26
Auf welcher Version läuft cmake --version
?
Wenn ich mir die Ubuntu-Paketliste ansehe, sollten Sie 3.5.x
ausführen (http://packages.ubuntu.com/yakkety/cmake).
Danke für die Antwort.
Es ist cmake Version 3.5.2
Wie kann ich das lösen? Ich bin Neuling in diesen Themen
Ich muss das untersuchen. Da habe ich keine Probleme mit cmake 3.0 (Debian 8) und 3.7 (Mac OSX). Haben Sie eine git clone
oder eine Zip-Datei mit Quellen heruntergeladen?
Ich habe die Zip-Datei heruntergeladen
Ich habe eine Lösung vorgeschlagen. Es war auf die Entwicklung und das Erstellen eines Git-Baums (und die Versionserkennung von Git) zurückzuführen, und ich habe nicht gegen das Erstellen von Zipfile-Quellen geprüft.
Vielen Dank für die Berichterstattung, es sollte jetzt funktionieren!
Ich muss dies (auch) bei älteren Git-Versionen beheben und erneut öffnen ... Es scheint, dass der Build für die fortgesetzte Integration fehlgeschlagen ist.
Handbuch getestet am
Aufgebrochen
Ich bekomme auch diesen Build-Fehler unter Ubuntu 16.04 LTS, cmake Version 3.5.1
Fehler im Protokoll:
nicht erkannte Befehlszeilenoption '-Wmissing-Variable-Deklarationen'
nicht erkannte Befehlszeilenoption '-Wshorten-64-to-32'
@newtoniant Dies sollte nicht relevant sein, wenn eine neuere Zip-Datei (master.zip) verwendet wird. Commit https://github.com/texane/stlink/commit/0c63a2cffc7b7fca817d4c7fb896dbe696341ea3 sollte dies beheben.
Schließen, vorbereiten für v1.3.0. Fühlen Sie sich frei, eine neue Ausgabe zu öffnen, nachdem die neue Version erschienen ist.
Dies wird auch angezeigt, wenn aus einem Git-Baum mit git checkout 1.3.1; make debug
auf Fedora 25 (gcc 6.3.1, cmake 3.6.2) erstellt wird. CMakeOutput.log und CMakeError.log sind angehängt.
Insbesondere sind Fehler gleich:
Das Durchführen des C SOURCE FILE-Tests C_SUPPORTS_WMISSING_VARIABLE_DECLARATIONS ist mit der folgenden Ausgabe fehlgeschlagen:
...
/ usr / lib64 / ccache / cc -std = gnu99 -Wall -Wextra -Wshadow -D_FORTIFY_SOURCE = 2 -striktes Aliasing -Wundef -Wformat -Wformat-Sicherheit -Wann möglicherweise -initialisiert -DC_SUPPORTS_WMISSING_VARIABLE cmTC_df367.dir / src.co -c /home/blablabla/stlink/build/Release/CMakeFiles/CMakeTmp/src.c
cc: Fehler: nicht erkannte Befehlszeilenoption '-Wmissing-Variable-Deklarationen'; Meinten Sie "-Wmissing-Erklärungen"?
...
Das Durchführen des C SOURCE FILE-Tests C_SUPPORTS_WSHORTEN_64_TO_32 ist mit der folgenden Ausgabe fehlgeschlagen:
...
/ usr / lib64 / ccache / cc -std = gnu99 -Wall -Wextra -Wshadow -D_FORTIFY_SOURCE = 2 -striktes Aliasing -Wundef -Wormat -Wormat-Sicherheit -Wmaybe-uninitialized -DC_SUPPORTS_WSHORTEN_64 -TO- CMakeFiles / cmTC_0ceee.dir / src.co -c /home/blablabla/stlink/build/Release/CMakeFiles/CMakeTmp/src.c
cc: Fehler: nicht erkannte Befehlszeilenoption '-Wshorten-64-to-32'
Anfordern, das Problem erneut zu öffnen.
Problem gelöst. Mir fehlten libusb-Header: -). Entschuldige die Störung.
Die einfachste Lösung besteht darin, das Verzeichnis .git
zu entfernen und es erneut zu versuchen:
rm -r build && sudo rm -rf .git && make
Es funktioniert unter Linux Mint 18.3 und wahrscheinlich überall.
Oh, und vergessen Sie nicht, sudo ldconfig
nach sudo make install
auszuführen
Hilfreichster Kommentar
Problem gelöst. Mir fehlten libusb-Header: -). Entschuldige die Störung.