recebendo erro: bash: ./autogen.sh: Nenhum arquivo ou diretório

1

É necessário instalar o st-linkv2 no eclipse para a programação do stm32f4.

automake, dh-autoreconf, libusb-1.0-0-dev são necessários para st-linkv2.

O Terminal é assim:

abin@abin-Compaq-Presario-C700-Notebook-PC:~/ARMToolchains/stlink-master$ ls -a
.               debian        LICENSE                 .travis.sh
..              doc           Makefile                .travis.yml
.appveyor.yml   etc           README.md               usr
build           flashloaders  scripts                 .version
ChangeLog.md    .github       src
cmake           .gitignore    stlinkv1_macosx_driver
CMakeLists.txt  include       tests
$ ./autogen.sh
bash: ./autogen.sh: No such file or directory
$ whereis automake
automake: /usr/share/man/man1/automake.1.gz
$ ./configure
bash: ./configure: No such file or directory
$ sudo apt-get install automake
[sudo] password for abin: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
automake is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 18 not upgraded.
$ whereis autoconf
autoconf: /usr/bin/autoconf /usr/share/autoconf /usr/share/man/man1/autoconf.1.gz
$ whereis libusb-1.0-0-dev
libusb-1: /usr/include/libusb-1.0

Eu fiz o download da fonte de aqui no GitHub .

Eu estive seguindo cegamente este vídeo do You Tube que mostra como usar o Eclipse no Linux para programação do STMboard e despejar o código no quadro. O criador do vídeo realiza a operação que estou tentando fazer às 8:37.

OS é o Ubuntu 15.04, 32 bits.

Eu gostaria de saber como compilar isso. Eu também quero entender por que usamos métodos como ./autogen.sh e outros comandos.

    
por abinjacob 27.02.2017 / 02:57

1 resposta

2

A sintaxe que você está usando

./name-of-file

executa um executável no diretório de trabalho atual. Se você não puder ver name-of-file com ls -a , ele falhará com o erro que você viu e se ele não tiver permissão de execução para o usuário que está executando o comando, ele falhará com permission denied (se não houver nenhum conjunto de x bits de todo, e você tentar executá-lo com sudo , a mensagem de falha será command not found )

O programa que você está tentando compilar usa o método cmake para configurar o ambiente de compilação e, evidentemente, não há script autogen.sh (ou configure ) para executar.

Eu criei com sucesso esta versão da página do GitHub à qual você se vinculou. Foi simples e não encontrei nenhum problema.

Primeiro você precisa instalar todas as dependências para a compilação. Eu não tenho certeza se tudo isso é realmente necessário, mas você mencionou precisar de alguma coisa de qualquer maneira ...

sudo apt install build-essential automake dh-autoreconf libusb-1.0-0-dev cmake g++

crie um diretório no local mostrado na captura de tela (abra um terminal e cd /ARMToolchains/stlink-master , se necessário ... por que você não está criando em seu diretório pessoal? Eu recomendo mover todo o diretório para $USER , mas de qualquer maneira ...) o método básico é

mkdir build
cd build
cmake ..

Quando isso termina com sucesso, você pode executar

make

Se isso existir com sucesso, você pode executar

sudo make install

Para mover os binários para os locais corretos. Se não, você pode executá-los a partir do diretório atual. Se você não pode obter a versão que você já baixou para construir (isso acontece com bastante frequência ao clonar o master como ele pode estar no processo de ser mexido), então baixe um dos lançamentos (como o link acima) e tente novamente.

    
por Zanna 27.02.2017 / 15:53