Stlink: compilation sur ubuntu 16.10

Créé le 4 déc. 2016  ·  12Commentaires  ·  Source: stlink-org/stlink

salut
J'ai récemment installé ubuntu 16.10 et j'essaye d'installer le pilote stlink. Malheureusement, je ne peux pas compiler le code. Qu'est-ce que je fais mal? problèmes avec ubuntu 16.10?

CMakeFiles_output.zip

Voici la sortie de la commande make release :

faire la libération

- L'identification du compilateur C est GNU 6.2.0
- Vérifiez que le compilateur C fonctionne: / usr / bin / cc
- Vérifiez que le compilateur C fonctionne: / usr / bin / cc - fonctionne
- Détection des informations ABI du compilateur C
- Détection des informations ABI du compilateur C - terminé
- Détection des fonctionnalités de compilation C
- Détection des fonctionnalités de compilation C - terminé
Erreur CMake à cmake / Version. cmake: 25 (chaîne):
string sous-commande REGEX, le mode REPLACE nécessite au moins 6 arguments au total pour
commander.
Pile d'appels (appel le plus récent en premier):
CMakeLists. txt: 15 (inclure)

- Exécution du test C_SUPPORTS_STD_GNU99
- Exécution du test C_SUPPORTS_STD_GNU99 - Succès
- Exécution du test C_SUPPORTS_WALL
- Exécution du test C_SUPPORTS_WALL - Succès
- Exécution du test C_SUPPORTS_WEXTRA
- Exécution du test C_SUPPORTS_WEXTRA - Succès
- Exécution du test C_SUPPORTS_WSHADOW
- Exécution du test C_SUPPORTS_WSHADOW - Succès
- Exécution du test C_SUPPORTS_D_FORTIFY_SOURCE_2
- Exécution du test C_SUPPORTS_D_FORTIFY_SOURCE_2 - Succès
- Exécution du test C_SUPPORTS_FSTRICT_ALIASING
- Exécution du test C_SUPPORTS_FSTRICT_ALIASING - Succès
- Exécution du test C_SUPPORTS_WUNDEF
- Exécution du test C_SUPPORTS_WUNDEF - Succès
- Exécution du test C_SUPPORTS_WFORMAT
- Exécution du test C_SUPPORTS_WFORMAT - Succès
- Exécution du test C_SUPPORTS_WFORMAT_SECURITY
- Exécution du test C_SUPPORTS_WFORMAT_SECURITY - Succès
- Exécution du test C_SUPPORTS_WMAYBE_UNINITIALIZED
- Exécution du test C_SUPPORTS_WMAYBE_UNINITIALIZED - Succès
- Exécution du test C_SUPPORTS_WMISSING_VARIABLE_DECLARATIONS
- Exécution du test C_SUPPORTS_WMISSING_VARIABLE_DECLARATIONS - Échec
- Exécution du test C_SUPPORTS_WSHORTEN_64_TO_32
- Exécution du test C_SUPPORTS_WSHORTEN_64_TO_32 - Échec
- Exécution du test C_SUPPORTS_WIMPLICIT_FUNCTION_DECLARATION
- Exécution du test C_SUPPORTS_WIMPLICIT_FUNCTION_DECLARATION - Succès
- Exécution du test C_SUPPORTS_WREDUNDANT_DECLS
- Exécution du test C_SUPPORTS_WREDUNDANT_DECLS - Succès
- Exécution du test C_SUPPORTS_FPIC
- Exécution du test C_SUPPORTS_FPIC - Succès
- Libusb trouvé: /usr/lib/x86_64-linux-gnu/libusb-1.0.so
- PkgConfig trouvé: / usr / bin / pkg-config (version trouvée "0.29.1")
- Vérification du module 'gtk + -3.0'
- Trouvé gtk + -3.0, version 3.20.9
- Recherche de sys / mman.h
- Recherche de sys / mman.h - trouvé
- Génération de page de manuel désactivée
- Configuration incomplète, des erreurs se sont produites!
Voir aussi "... / Toolchain / stlink / build / Release / CMakeFiles / CMakeOutput.log".
Voir aussi "... / Toolchain / stlink / build / Release / CMakeFiles / CMakeError.log".
Makefile: 42 : la recette de la cible 'build / Release' a échoué
make: * [build / Release] Erreur 1

Et voici le CMakeError.log:

L'exécution du test C SOURCE FILE C_SUPPORTS_WMISSING_VARIABLE_DECLARATIONS a échoué avec la sortie suivante:
Changer de dir: ... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp

Exécutez la commande de construction: "/ usr / bin / make" "cmTC_f6585 / fast"
make [1]: Saisie du répertoire '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'
/ usr / bin / make -f CMakeFiles / cmTC_f6585.dir / build.make CMakeFiles / cmTC_f6585.dir / build
make [2]: Saisie du répertoire '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'
Construction de l'objet C CMakeFiles / cmTC_f6585.dir / src.co
/ usr / bin / cc -std = gnu99 -Wall -Wextra -Wshadow -D_FORTIFY_SOURCE = 2 -fstrict-aliasing -Wundef -Wformat -Wformat-security -Wmaybe-uninitialized -DC_SUPPORTS_WMISSING_VARIABLE_DECoLARATIONS-CMFiles85 dir / src.co -c ... / Chaîne d'outils / stlink / build / Release / CMakeFiles / CMakeTmp / src.c
cc: erreur: option de ligne de commande non reconnue '-Wmissing-variable-declarations'; vouliez-vous dire «-Wmissing-declarations»?
CMakeFiles / cmTC_f6585.dir / build. make: 65 : la recette de la cible 'CMakeFiles / cmTC_f6585.dir / src.co' a échoué
make [2]: * [CMakeFiles / cmTC_f6585.dir / src.co] Erreur 1make [2]: Quitter le répertoire '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'Makefile: 126 : la recette de la cible 'cmTC_f6585 / fast' a échouémake [1]: * [cmTC_f6585 / fast] Erreur 2
make [1]: Quitter le répertoire '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'

Le fichier source était:
int main (void) {return 0; }
L'exécution du test C SOURCE FILE C_SUPPORTS_WSHORTEN_64_TO_32 a échoué avec la sortie suivante:
Changer de dir: ... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp

Exécutez la commande de construction: "/ usr / bin / make" "cmTC_04dd3 / fast"
make [1]: Saisie du répertoire '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'
/ usr / bin / make -f CMakeFiles / cmTC_04dd3.dir / build.make CMakeFiles / cmTC_04dd3.dir / build
make [2]: Saisie du répertoire '... Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'
Construction de l'objet C CMakeFiles / cmTC_04dd3.dir / src.co
/ usr / bin / cc -std = gnu99 -Wall -Wextra -Wshadow -D_FORTIFY_SOURCE = 2 -fstrict-aliasing -Wundef -Wformat -Wformat-security -Wmaybe-uninitialized -DC_SUPPORTS_WSHORTEN_64_TO_32 -Wshorten-64_TO_32 -Wshorten-64 cmTC_04dd3.dir / src.co -c ... / Chaîne d'outils / stlink / build / Release / CMakeFiles / CMakeTmp / src.c
cc: erreur: option de ligne de commande non reconnue '-Wshorten-64-to-32'
CMakeFiles / cmTC_04dd3.dir / build. make: 65 : la recette de la cible 'CMakeFiles / cmTC_04dd3.dir / src.co' a échoué
make [2]: * [CMakeFiles / cmTC_04dd3.dir / src.co] Erreur 1make [2]: Quitter le répertoire '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'Makefile: 126 : la recette de la cible 'cmTC_04dd3 / fast' a échouémake [1]: * [cmTC_04dd3 / fast] Erreur 2
make [1]: Quitter le répertoire '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'

Le fichier source était:
int main (void) {return 0; }

bucompilation bufixed errocompilation olinux statuduplicate staturesolved

Commentaire le plus utile

Problème résolu. Il me manquait des en-têtes de libusb: -). Désolé de déranger.

Tous les 12 commentaires

Il semble que (votre) (version) cmake s'étouffe à ce sujet: https://github.com/texane/stlink/blob/master/cmake/Version.cmake#L25 -L26

Quelle version utilisez-vous cmake --version ?
Si je regarde la liste des paquets ubuntu, vous devriez exécuter 3.5.x (http://packages.ubuntu.com/yakkety/cmake)

Merci pour la réponse.

c'est la version 3.5.2 de cmake
Comment puis-je le résoudre? Je suis novice dans ces sujets

J'ai besoin d'enquêter là-dessus. Comme je n'ai aucun problème avec cmake 3.0 (debian 8) et 3.7 (mac osx). Avez-vous fait un git clone ou téléchargé un fichier zip avec les sources?

J'ai téléchargé le fichier zip

J'ai proposé un correctif. C'était dû au développement et à la construction à partir d'un arbre git (et à la détection de version à partir de git), et je n'ai pas vérifié la construction des sources zipfile.

Merci de nous avoir signalé, cela devrait fonctionner maintenant!

Je dois corriger cela (également) sur les anciennes versions de git, rouvrir ... Il semble que la construction d'intégration continue a échoué.

Testé manuellement sur

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

Cassé sur

  • Ubuntu? Version 12? sur Travis CI (nécessite des versions exactes rapportées> ici <)

Je reçois aussi cette erreur de construction sur Ubuntu 16.04 LTS, cmake version 3.5.1

Erreurs dans le journal:
option de ligne de commande non reconnue '-Wmissing-variable-declarations'
option de ligne de commande non reconnue '-Wshorten-64-to-32'

@newtoniant cela ne devrait pas être pertinent lors de l'utilisation d'un fichier zip plus récent (master.zip). Commit https://github.com/texane/stlink/commit/0c63a2cffc7b7fca817d4c7fb896dbe696341ea3 devrait résoudre ce problème.

Clôture, préparation de la v1.3.0. N'hésitez pas à ouvrir un nouveau numéro après la sortie de la nouvelle version.

Cela apparaît également lors de la construction à partir de git tree avec git checkout 1.3.1; make debug sur Fedora 25 (gcc 6.3.1, cmake 3.6.2). CMakeOutput.log et CMakeError.log sont joints.

En particulier, les erreurs sont les mêmes:

L'exécution du test C SOURCE FILE C_SUPPORTS_WMISSING_VARIABLE_DECLARATIONS a échoué avec la sortie suivante:
...
/ usr / lib64 / ccache / cc -std = gnu99 -Wall -Wextra -Wshadow -D_FORTIFY_SOURCE = 2 -fstrict-aliasing -Wundef -Wformat -Wformat-security -Wmaybe-uninitialized -DC_SUPPORTS_WakeING_VARIABLE_DECLARATIONS variable cmTC_df367.dir / src.co -c /home/blablabla/stlink/build/Release/CMakeFiles/CMakeTmp/src.c
cc: erreur: option de ligne de commande non reconnue '-Wmissing-variable-declarations'; vouliez-vous dire «-Wmissing-declarations»?

...

L'exécution du test C SOURCE FILE C_SUPPORTS_WSHORTEN_64_TO_32 a échoué avec la sortie suivante:
...
/ usr / lib64 / ccache / cc -std = gnu99 -Wall -Wextra -Wshadow -D_FORTIFY_SOURCE = 2 -fstrict-aliasing -Wundef -Wformat -Wformat-security -Wmaybe-uninitialized -DC_SUPPORTS_WSHORTEN_64_TO_eno-64 -Wshort-64 CMakeFiles / cmTC_0ceee.dir / src.co -c /home/blablabla/stlink/build/Release/CMakeFiles/CMakeTmp/src.c
cc: erreur: option de ligne de commande non reconnue '-Wshorten-64-to-32'

Demande de rouvrir le problème.

Problème résolu. Il me manquait des en-têtes de libusb: -). Désolé de déranger.

La solution la plus simple consiste à supprimer le répertoire .git et à réessayer:
rm -r build && sudo rm -rf .git && make
Cela fonctionne sur Linux Mint 18.3 et probablement partout.
Oh, et n'oubliez pas d'exécuter sudo ldconfig après sudo make install

Cette page vous a été utile?
0 / 5 - 0 notes