Como obter 'make' para reconhecer o comando alias

3

Estou instalando MOOG , e quando eu make -f Makefile.maclap recebo o erro:

$ make -f Makefile.maclap
g77 -w   -c -o Abfind.o Abfind.f
make: g77: No such file or directory
make: *** [Abfind.o] Error 1

Depois de pesquisar online, acho que, como tenho o gcc-5, o comando g77 não existe no meu computador.

Então usei, com base em uma questão de troca de pilha, alias g77=/usr/local/bin/gfortran-5 para tentar compilar o código fortran com gfortran.

Agora, quando eu g77 , vejo gfortran-5: fatal error: no input files compilation terminated , indicando que g77 está funcionando como compilado.

Mas quando eu make -f Makefile.maclap ainda recebo o erro:

$ make -f Makefile.maclap
g77 -w   -c -o Abfind.o Abfind.f
make: g77: No such file or directory
make: *** [Abfind.o] Error 1

Como posso obter o comando make para usar o fortran-5 para compilar o arquivo Abfind.o e Abfind.f?

Como posso concluir com êxito as etapas make e make install para que este pacote de software seja executado?

    
por jww 04.07.2015 / 19:51

2 respostas

0

Se você não quiser fazer um link simbólico como o @Thomas sugerido, basicamente você pode fazer um alias direto no Makefile assim, colocando esta linha em algum lugar perto do topo do Makefile:

G77 := /usr/local/bin/gfortran-5

e, em seguida, no seu destino em algum lugar, use-o como:

$(G77) -w -c -o Abfind.o Abfind.f
    
por 04.07.2015 / 21:39
3

O programa make só vai para ver os nomes que são realmente arquivos (ou diretórios). Não sabe nada sobre aliases de shell.

Em vez de usar alias , se você tivesse g77 no seu $PATH como um link simbólico, isso funcionaria. Em muitos ambientes, se você tiver um diretório $HOME/bin , isso será automaticamente adicionado ao seu $PATH . (Se não, é simples fazer isso manualmente, detalhes dependendo do seu shell).

Se for o caso mais simples:

cd
mkdir bin
cd bin
ln -s /usr/local/bin/gfortran-5 g77

Em seguida, efetue logout e efetue login novamente (para permitir que os scripts de inicialização do shell atualizem o caminho, etc.)

    
por 04.07.2015 / 20:00