Stlink: Kompilieren auf Ubuntu 16.10

Erstellt am 4. Dez. 2016  ·  12Kommentare  ·  Quelle: stlink-org/stlink

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?

CMakeFiles_output.zip

Dies ist die Ausgabe des Befehls make release :

Release machen

- 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

Und das ist das CMakeError.log:

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; }}

bucompilation bufixed errocompilation olinux statuduplicate staturesolved

Hilfreichster Kommentar

Problem gelöst. Mir fehlten libusb-Header: -). Entschuldige die Störung.

Alle 12 Kommentare

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

  • Debian 8, cmake 3.0, Git-Version?
  • Mac OS X, cmake 3.7, Git-Version 2.9.3 (Apple Git-75)

Aufgebrochen

  • Ubuntu? Version 12? auf Travis CI (benötigt genaue Versionen> hier <)

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

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen