Oi
Eu instalei recentemente o ubuntu 16.10 e estou tentando instalar o driver stlink. Infelizmente não consigo compilar o código. O que estou fazendo de errado? problemas com o Ubuntu 16.10?
Esta é a saída do comando make release :
- A identificação do compilador C é GNU 6.2.0
- Verifique se o compilador C está funcionando: / usr / bin / cc
- Verifique se o compilador C está funcionando: / usr / bin / cc - funciona
- Detecção de informações ABI do compilador C
- Detecção de informações ABI do compilador C - concluído
- Detecção de recursos de compilação C
- Detecção de recursos de compilação C - feito
Erro CMake em cmake / versão. cmake: 25 (string):
string subcomando REGEX, modo REPLACE precisa de pelo menos 6 argumentos no total para
comando.
Pilha de chamadas (a chamada mais recente primeiro):
CMakeLists. txt: 15 (incluir)
- Executando o teste C_SUPPORTS_STD_GNU99
- Executando teste C_SUPPORTS_STD_GNU99 - Sucesso
- Executando teste C_SUPPORTS_WALL
- Executando teste C_SUPPORTS_WALL - Sucesso
- Executando o teste C_SUPPORTS_WEXTRA
- Executando teste C_SUPPORTS_WEXTRA - Sucesso
- Executando teste C_SUPPORTS_WSHADOW
- Executando teste C_SUPPORTS_WSHADOW - Sucesso
- Executando teste C_SUPPORTS_D_FORTIFY_SOURCE_2
- Executando teste C_SUPPORTS_D_FORTIFY_SOURCE_2 - Sucesso
- Executando teste C_SUPPORTS_FSTRICT_ALIASING
- Executando teste C_SUPPORTS_FSTRICT_ALIASING - Sucesso
- Executando teste C_SUPPORTS_WUNDEF
- Executando teste C_SUPPORTS_WUNDEF - Sucesso
- Executando teste C_SUPPORTS_WFORMAT
- Executando teste C_SUPPORTS_WFORMAT - Sucesso
- Executando teste C_SUPPORTS_WFORMAT_SECURITY
- Executando teste C_SUPPORTS_WFORMAT_SECURITY - Sucesso
- Executando teste C_SUPPORTS_WMAYBE_UNINITIALIZED
- Executando teste C_SUPPORTS_WMAYBE_UNINITIALIZED - Sucesso
- Executando teste C_SUPPORTS_WMISSING_VARIABLE_DECLARATIONS
- Executando teste C_SUPPORTS_WMISSING_VARIABLE_DECLARATIONS - Falha
- Executando teste C_SUPPORTS_WSHORTEN_64_TO_32
- Executando teste C_SUPPORTS_WSHORTEN_64_TO_32 - Falha
- Executando teste C_SUPPORTS_WIMPLICIT_FUNCTION_DECLARATION
- Executando teste C_SUPPORTS_WIMPLICIT_FUNCTION_DECLARATION - Sucesso
- Executando teste C_SUPPORTS_WREDUNDANT_DECLS
- Executando teste C_SUPPORTS_WREDUNDANT_DECLS - Sucesso
- Executando teste C_SUPPORTS_FPIC
- Executando teste C_SUPPORTS_FPIC - Sucesso
- Libusb encontrado: /usr/lib/x86_64-linux-gnu/libusb-1.0.so
- PkgConfig encontrado: / usr / bin / pkg-config (versão encontrada "0.29.1")
- Verificando o módulo 'gtk + -3,0'
- Encontrado gtk + -3.0, versão 3.20.9
- Procurando por sys / mman.h
- Procurando por sys / mman.h - encontrado
- Geração de página de manual desativada
- Configurando incompleto, ocorreram erros!
Consulte também "... / Toolchain / stlink / build / Release / CMakeFiles / CMakeOutput.log".
Veja também "... / Toolchain / stlink / build / Release / CMakeFiles / CMakeError.log".
Makefile: 42 : a receita do destino 'build / Release' falhou
make: * [build / Release] Erro 1
A execução do teste C SOURCE FILE C_SUPPORTS_WMISSING_VARIABLE_DECLARATIONS falhou com a seguinte saída:
Alterar Dir: ... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp
Execute o comando de compilação: "/ usr / bin / make" "cmTC_f6585 / fast"
make [1]: Entrando no diretório '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'
/ usr / bin / make -f CMakeFiles / cmTC_f6585.dir / build.make CMakeFiles / cmTC_f6585.dir / build
make [2]: Entrando no diretório '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'
Construindo 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_VARIABLE-aliasing -Wundef -Wformat -Wformat-security -Wmaybe-uninitialized -DC_SUPPORTS_WMISSING_VARIABLE-aliasing -Wundef -Wformat -Wformat-security -Wmaybe-uninitialized -DC_SUPPORTS_WMISSING_VARIABLE_TCFilesing_DECLARATIONS -variável_65 / cmTCFilesing_DECLARATIONS 85-variável CMDECLARATIONS -VARIABLE-cmdecLARATIONS-declaração 85 / cmWTCFilesing_DECLARATIONS-variável-CMDECLARATIONS -VARIABLE-CMDECLARATIONS 85 variável. dir / src.co -c ... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp / src.c
cc: erro: opção de linha de comando não reconhecida '-Wmissing-variable-declarations'; você quis dizer '-Declarações de despedida'?
CMakeFiles / cmTC_f6585.dir / build. make: 65 : a receita para o destino 'CMakeFiles / cmTC_f6585.dir / src.co' falhou
make [2]: * [CMakeFiles / cmTC_f6585.dir / src.co] Erro 1make [2]: Saindo do diretório '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'Makefile: 126 : a receita para o destino 'cmTC_f6585 / fast' falhoumake [1]: * [cmTC_f6585 / fast] Erro 2
make [1]: Saindo do diretório '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'
O arquivo de origem era:
int main (void) {return 0; }
A execução do teste C SOURCE FILE C_SUPPORTS_WSHORTEN_64_TO_32 falhou com a seguinte saída:
Alterar Dir: ... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp
Execute o comando de compilação: "/ usr / bin / make" "cmTC_04dd3 / fast"
make [1]: Entrando no diretório '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'
/ usr / bin / make -f CMakeFiles / cmTC_04dd3.dir / build.make CMakeFiles / cmTC_04dd3.dir / build
make [2]: Entrando no diretório '... Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'
Construindo 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-CMF-64-Wshorten- cmTC_04dd3.dir / src.co -c ... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp / src.c
cc: erro: opção de linha de comando não reconhecida '-Wshorten-64-to-32'
CMakeFiles / cmTC_04dd3.dir / build. make: 65 : a receita para o destino 'CMakeFiles / cmTC_04dd3.dir / src.co' falhou
make [2]: * [CMakeFiles / cmTC_04dd3.dir / src.co] Erro 1make [2]: Saindo do diretório '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'Makefile: 126 : a receita para o destino 'cmTC_04dd3 / fast' falhoumake [1]: * [cmTC_04dd3 / fast] Erro 2
make [1]: Saindo do diretório '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'
O arquivo de origem era:
int main (void) {return 0; }
Parece que (seu) cmake (versão) engasga com isso: https://github.com/texane/stlink/blob/master/cmake/Version.cmake#L25 -L26
Qual versão você está executando cmake --version
?
Se eu olhar a lista de pacotes do ubuntu, você deve estar executando 3.5.x
(http://packages.ubuntu.com/yakkety/cmake)
Obrigado pela resposta.
é cmake versão 3.5.2
Como posso resolver isso? Eu sou novato nesses tópicos
Eu preciso investigar isso. Como não tenho problemas com cmake 3.0 (debian 8) e 3.7 (mac osx). Você fez um git clone
ou baixou um arquivo zip com as fontes?
Eu baixei o arquivo zip
Eu propus uma correção. Foi devido ao desenvolvimento e construção de uma árvore git (e detecção de versão do git), e eu não verifiquei a construção do código-fonte do zipfile.
Obrigado por relatar, deve funcionar agora!
Eu preciso corrigir isso (também) em versões mais antigas do git, reabrindo ... Parece que a construção de integração contínua falhou.
Manual testado em
Quebrado em
Eu também estou recebendo este erro de compilação no Ubuntu 16.04 LTS, cmake versão 3.5.1
Erros no registro:
opção de linha de comando não reconhecida '-Wmissing-variable-declarations'
opção de linha de comando não reconhecida '-Wshorten-64-to-32'
@newtoniant isso não deve ser relevante ao usar um arquivo zip mais recente (master.zip). Commit https://github.com/texane/stlink/commit/0c63a2cffc7b7fca817d4c7fb896dbe696341ea3 deve corrigir isso.
Fechando, preparando para v1.3.0. Sinta-se à vontade para abrir um novo problema após o lançamento do novo.
Isso também aparece ao compilar a partir da árvore git com git checkout 1.3.1; make debug
no Fedora 25 (gcc 6.3.1, cmake 3.6.2). CMakeOutput.log e CMakeError.log são anexados.
Em particular, os erros são os mesmos:
A execução do teste C SOURCE FILE C_SUPPORTS_WMISSING_VARIABLE_DECLARATIONS falhou com a seguinte saída:
...
/ usr / lib64 / ccache / cc -std = gnu99 -Wall -Wextra -Wshadow -D_FORTIFY_SOURCE = 2 -fstrict-aliasing -Wundef -Wformat -Wformat-security -Wmaybe-uninitialized -DC_SUPPORTS_WMISSING_VARIABLE-declarationsLARIABLE-declarationsLARIABLE_DECARIO_VARIABLE cmTC_df367.dir / src.co -c /home/blablabla/stlink/build/Release/CMakeFiles/CMakeTmp/src.c
cc: erro: opção de linha de comando não reconhecida '-Wmissing-variable-declarations'; você quis dizer '-Declarações de despedida'?
...
A execução do teste C SOURCE FILE C_SUPPORTS_WSHORTEN_64_TO_32 falhou com a seguinte saída:
...
/ 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-64 -W CMakeFiles / cmTC_0ceee.dir / src.co -c /home/blablabla/stlink/build/Release/CMakeFiles/CMakeTmp/src.c
cc: erro: opção de linha de comando não reconhecida '-Wshorten-64-to-32'
Solicitando a reabertura do problema.
Problema resolvido. Eu estava faltando cabeçalhos de libusb: -). Desculpe incomodar.
A solução mais fácil é remover o diretório .git
e tentar novamente:
rm -r build && sudo rm -rf .git && make
Ele funciona no Linux Mint 18.3 e provavelmente em qualquer lugar.
Ah, e não se esqueça de executar sudo ldconfig
após sudo make install
Comentários muito úteis
Problema resolvido. Eu estava faltando cabeçalhos de libusb: -). Desculpe incomodar.