Stlink: compilando en ubuntu 16.10

Creado en 4 dic. 2016  ·  12Comentarios  ·  Fuente: stlink-org/stlink

Hola
Recientemente instalé ubuntu 16.10 y estoy intentando instalar el controlador stlink. Desafortunadamente, no puedo compilar el código. ¿Qué estoy haciendo mal? problemas con ubuntu 16.10?

CMakeFiles_output.zip

Esta es la salida del comando make release :

hacer liberación

- La identificación del compilador de C es GNU 6.2.0
- Compruebe si el compilador de C funciona: / usr / bin / cc
- Compruebe si el compilador de C funciona: / usr / bin / cc - funciona
- Detectando información ABI del compilador C
- Detectando información ABI del compilador C - hecho
- Detección de funciones de compilación de C
- Detectando funciones de compilación de C - hecho
Error de CMake en cmake / Version. cmake: 25 (cadena):
cadena de subcomando REGEX, el modo REPLACE necesita al menos 6 argumentos en total para
mando.
Pila de llamadas (la llamada más reciente primero):
CMakeLists. txt: 15 (incluir)

- Realización de la prueba C_SUPPORTS_STD_GNU99
- Realización de la prueba C_SUPPORTS_STD_GNU99 - Éxito
- Realización de la prueba C_SUPPORTS_WALL
- Realización de la prueba C_SUPPORTS_WALL - Éxito
- Realización de la prueba C_SUPPORTS_WEXTRA
- Realización de la prueba C_SUPPORTS_WEXTRA - Éxito
- Realización de la prueba C_SUPPORTS_WSHADOW
- Realización de la prueba C_SUPPORTS_WSHADOW - Éxito
- Realización de la prueba C_SUPPORTS_D_FORTIFY_SOURCE_2
- Realización de la prueba C_SUPPORTS_D_FORTIFY_SOURCE_2 - Éxito
- Realización de la prueba C_SUPPORTS_FSTRICT_ALIASING
- Realización de la prueba C_SUPPORTS_FSTRICT_ALIASING - Éxito
- Realización de la prueba C_SUPPORTS_WUNDEF
- Realización de la prueba C_SUPPORTS_WUNDEF - Éxito
- Realización de la prueba C_SUPPORTS_WFORMAT
- Realización de la prueba C_SUPPORTS_WFORMAT - Éxito
- Realización de la prueba C_SUPPORTS_WFORMAT_SECURITY
- Realización de la prueba C_SUPPORTS_WFORMAT_SECURITY - Éxito
- Realización de la prueba C_SUPPORTS_WMAYBE_UNINITIALIZED
- Realización de la prueba C_SUPPORTS_WMAYBE_UNINITIALIZED - Correcto
- Realización de la prueba C_SUPPORTS_WMISSING_VARIABLE_DECLARATIONS
- Realización de la prueba C_SUPPORTS_WMISSING_VARIABLE_DECLARATIONS - Falló
- Realización de la prueba C_SUPPORTS_WSHORTEN_64_TO_32
- Realización de la prueba C_SUPPORTS_WSHORTEN_64_TO_32 - Falló
- Realización de la prueba C_SUPPORTS_WIMPLICIT_FUNCTION_DECLARATION
- Realización de la prueba C_SUPPORTS_WIMPLICIT_FUNCTION_DECLARATION - Correcto
- Realización de la prueba C_SUPPORTS_WREDUNDANT_DECLS
- Realización de la prueba C_SUPPORTS_WREDUNDANT_DECLS - Éxito
- Realización de la prueba C_SUPPORTS_FPIC
- Realización de la prueba C_SUPPORTS_FPIC - Correcto
- Encontrado Libusb: /usr/lib/x86_64-linux-gnu/libusb-1.0.so
- Se encontró PkgConfig: / usr / bin / pkg-config (se encontró la versión "0.29.1")
- Comprobando el módulo 'gtk + -3.0'
- Encontrado gtk + -3.0, versión 3.20.9
- Buscando sys / mman.h
- Buscando sys / mman.h - encontrado
- Generación de página de manual deshabilitada
- ¡Configuración incompleta, se produjeron errores!
Consulte también "... / Toolchain / stlink / build / Release / CMakeFiles / CMakeOutput.log".
Consulte también "... / Toolchain / stlink / build / Release / CMakeFiles / CMakeError.log".
Makefile: 42 : la receta para el objetivo 'compilación / lanzamiento' falló
make: * [compilación / lanzamiento] Error 1

Y este es el CMakeError.log:

La realización de la prueba C SOURCE FILE C_SUPPORTS_WMISSING_VARIABLE_DECLARATIONS falló con el siguiente resultado:
Cambiar de directorio: ... / Cadena de herramientas / stlink / build / Release / CMakeFiles / CMakeTmp

Ejecute el comando de compilación: "/ usr / bin / make" "cmTC_f6585 / fast"
make [1]: Ingresando al directorio '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'
/ usr / bin / make -f CMakeFiles / cmTC_f6585.dir / build.make CMakeFiles / cmTC_f6585.dir / build
make [2]: Ingresando al directorio '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'
Construyendo el objeto 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_VARIA -keF65_DECLARTC variable. dir / src.co -c ... / Cadena de herramientas / stlink / build / Release / CMakeFiles / CMakeTmp / src.c
cc: error: opción de línea de comando no reconocida '-Wmissing-variable-declarations'; ¿quiso decir '-Wmissing-declaraciones'?
CMakeFiles / cmTC_f6585.dir / build. make: 65 : la receta para el destino 'CMakeFiles / cmTC_f6585.dir / src.co' falló
make [2]: * [CMakeFiles / cmTC_f6585.dir / src.co] Error 1make [2]: Saliendo del directorio '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'Makefile: 126 : la receta para el objetivo 'cmTC_f6585 / fast' fallómake [1]: * [cmTC_f6585 / fast] Error 2
make [1]: Saliendo del directorio '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'

El archivo de origen era:
int main (void) {return 0; }
La realización de la prueba C SOURCE FILE C_SUPPORTS_WSHORTEN_64_TO_32 falló con el siguiente resultado:
Cambiar de directorio: ... / Cadena de herramientas / stlink / build / Release / CMakeFiles / CMakeTmp

Ejecute el comando de compilación: "/ usr / bin / make" "cmTC_04dd3 / fast"
make [1]: Ingresando al directorio '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'
/ usr / bin / make -f CMakeFiles / cmTC_04dd3.dir / build.make CMakeFiles / cmTC_04dd3.dir / build
make [2]: Ingresando al directorio '... Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'
Construyendo el objeto 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 -Wa cmTC_04dd3.dir / src.co -c ... / Cadena de herramientas / stlink / build / Release / CMakeFiles / CMakeTmp / src.c
cc: error: opción de línea de comando no reconocida '-Wshorten-64-to-32'
CMakeFiles / cmTC_04dd3.dir / build. make: 65 : la receta para el destino 'CMakeFiles / cmTC_04dd3.dir / src.co' falló
make [2]: * [CMakeFiles / cmTC_04dd3.dir / src.co] Error 1make [2]: Saliendo del directorio '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'Makefile: 126 : la receta para el objetivo 'cmTC_04dd3 / fast' fallómake [1]: * [cmTC_04dd3 / fast] Error 2
make [1]: Saliendo del directorio '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'

El archivo de origen era:
int main (void) {return 0; }

bucompilation bufixed errocompilation olinux statuduplicate staturesolved

Comentario más útil

Problema resuelto. Me faltaban los encabezados libusb: -). Lamento molestarte.

Todos 12 comentarios

Parece que (su) cmake (versión) se ahoga con esto: https://github.com/texane/stlink/blob/master/cmake/Version.cmake#L25 -L26

¿Qué versión está ejecutando cmake --version ?
Si miro la lista de paquetes de ubuntu, debería estar ejecutando 3.5.x (http://packages.ubuntu.com/yakkety/cmake)

Gracias por responder.

es cmake versión 3.5.2
¿Cómo puedo resolverlo? Soy novato en estos temas

Necesito investigar esto. Como no tengo problemas con cmake 3.0 (debian 8) y 3.7 (mac osx). ¿Hiciste git clone o descargaste un archivo zip con las fuentes?

Descargué el archivo zip

He propuesto una solución. Se debió al desarrollo y la compilación de un árbol de git (y la detección de versiones de git), y no he verificado la compilación de fuentes zipfile.

Gracias por informar, debería funcionar ahora.

Necesito arreglar esto (también) en versiones anteriores de git, reabrir ... Parece que la compilación de integración continua ha fallado.

Manual probado en

  • Debian 8, cmake 3.0, versión de git
  • Mac OS X, cmake 3.7, git versión 2.9.3 (Apple Git-75)

Roto en

  • Ubuntu? Versión 12? en Travis CI (necesita versiones exactas informadas> aquí <)

Yo también recibo este error de compilación en Ubuntu 16.04 LTS, cmake versión 3.5.1

Errores en el registro:
opción de línea de comando no reconocida '-Wmissing-variable-declarations'
opción de línea de comando no reconocida '-Wshorten-64-to-32'

@newtoniant esto no debería ser relevante cuando se usa un archivo zip más nuevo (master.zip). Commit https://github.com/texane/stlink/commit/0c63a2cffc7b7fca817d4c7fb896dbe696341ea3 debería solucionar este problema.

Cierre, preparación para v1.3.0. Siéntase libre de abrir una nueva edición después de que haya ocurrido la nueva versión.

Esto también aparece cuando se construye desde git tree con git checkout 1.3.1; make debug en Fedora 25 (gcc 6.3.1, cmake 3.6.2). Se adjuntan CMakeOutput.log y CMakeError.log .

En particular, los errores son los mismos:

La realización de la prueba C SOURCE FILE C_SUPPORTS_WMISSING_VARIABLE_DECLARATIONS falló con el siguiente resultado:
...
/ usr / lib64 / ccache / cc -std = gnu99 -Wall -Wextra -Wshadow -D_FORTIFY_SOURCE = 2 -fstrict-aliasing -Wundef -Wformat -Wformat-security -Wmaybe-uninitialized -DC_SUPPORTS_WMISSINGECO_VARIABLE -Variable cmTC_df367.dir / src.co -c /home/blablabla/stlink/build/Release/CMakeFiles/CMakeTmp/src.c
cc: error: opción de línea de comando no reconocida '-Wmissing-variable-declarations'; ¿quiso decir '-Wmissing-declaraciones'?

...

La realización de la prueba C SOURCE FILE C_SUPPORTS_WSHORTEN_64_TO_32 falló con el siguiente resultado:
...
/ usr / lib64 / ccache / cc -std = gnu99 -Wall -Wextra -Wshadow -D_FORTIFY_SOURCE = 2 -fstrict-aliasing -Wundef -Wformat -Wformat-security -Wmaybe-uninitialized -DC_SUPPORTS_WSTO -32 -Ws -64 CMakeFiles / cmTC_0ceee.dir / src.co -c /home/blablabla/stlink/build/Release/CMakeFiles/CMakeTmp/src.c
cc: error: opción de línea de comando no reconocida '-Wshorten-64-to-32'

Solicitando reabrir el problema.

Problema resuelto. Me faltaban los encabezados libusb: -). Lamento molestarte.

La solución más sencilla es eliminar el directorio .git e intentarlo de nuevo:
rm -r build && sudo rm -rf .git && make
Funciona en Linux Mint 18.3 y probablemente en todas partes.
Ah, y no olvide ejecutar sudo ldconfig después de sudo make install

¿Fue útil esta página
0 / 5 - 0 calificaciones