sed: não é possível ler Makefile: nenhum arquivo ou diretório

3

Eu tentei substituir uma linha em Makefile por sed -i -e 's|$(bindir)\/embossupdate|:|' Makefile , mas recebi sed: can't read Makefile: No such file or directory

FROM ubuntu:16.04
...
# EMBOSS (ftp://emboss.open-bio.org/pub/EMBOSS/)
ENV EMBOSS_VER 6.6.0
RUN apt-get install libhpdf-dev libpng12-dev libgd-dev -y
ADD EMBOSS-${EMBOSS_VER}.tar.gz /usr/local/
WORKDIR /usr/local/EMBOSS-${EMBOSS_VER}
RUN sed -i -e 's|$(bindir)\/embossupdate|:|' Makefile        
RUN ./configure  --enable-64 --with-thread  --without-x
RUN make
RUN ldconfig
RUN make install

O que eu fiz de errado com o comando sed?

    
por user977828 11.08.2016 / 06:11

1 resposta

2

O Makefile não é criado até você executar o script configure . Tente colocar o comando sed após a invocação de configure .

Eu não verifiquei se o sed edit está fazendo o que deveria ou não, mas a questão principal é provavelmente que o Makefile simplesmente ainda não existe naquele momento em seu script.

Em geral, eu evitaria sed -i , pois sua semântica é diferente para o GNU e BSD sed . É mais seguro para sed ... file >tmpfile && mv tmpfile file .

    
por 11.08.2016 / 08:04