Olhando para a mensagem atual erro (a coisa que você mencionou na pergunta é um aviso , que não terminará o processo de compilação):
libtool: install: /usr/bin/install -c magick/.libs/libMagickCore-6.Q16.so.2.0.0 /usr/local/lib/libMagickCore-6.Q16.so.2.0.0 /usr/bin/install: cannot create regular file '/usr/local/lib/libMagickCore-6.Q16.so.2.0.0': Permission denied
Isso significa que, quando você executou make install
, fez isso como um usuário que não tem permissão para criar arquivos no diretório /usr/local/lib
.
Há algumas soluções para isso.
A solução "arremesse-se-no-pé" é executar sudo make install
. Isso é ruim porque
-
Você não sabe o que o Makefile faz quando executa
make install
e, na pior das hipóteses, pode executar códigos maliciosos comoroot
. -
Instalar coisas em
/usr/local
em um sistema Linux (ou qualquer sistema Unix) é ruim porque geralmente é um local onde os arquivos são instalados por vários gerenciadores de pacotes. Isso significa que você pode correr o risco de sobrescrever arquivos existentes. -
Como você planeja desinstalar o software?
Algumas soluções melhores:
-
Configure o projeto para instalação em um ambiente neutro, como
/opt
ou/sw
(onde não estiver sendo usado pelo sistema e pelo gerenciador de pacotes). Faça isso executandoconfigure
com a opção--prefix
, por exemplo./configure --prefix=/opt
. Observe que isso ainda pode exigir que você executesudo make install
, a menos que tenha permissões de gravação na hierarquia de instalação. -
Configure o projeto para instalar em algum lugar em nosso diretório inicial. Esta pode ser a melhor opção se você não precisar instalar a coisa em todo o sistema. Basta fazer como acima, mas defina o prefixo de instalação para algo como
$HOME/local
, ou mesmo$HOME/tmp
(e apenas remova esse diretório quando terminar).
A primeira dessas abordagens não resolve totalmente o problema de desinstalar mais tarde o software, e a segunda abordagem só resolve isso se estiver instalando em uma hierarquia vazia (apenas rm -rf
a coisa toda). Para isso, posso recomendar o utilitário GNU Stow . Isso facilita a desinstalação do software que você está criando. Sem isso, é realmente difícil rastrear quais arquivos devem ser removidos se você deseja desinstalar algo.