O erro "no destroot found at" ocorre quando a instalação de um arquivo binário falhou antes (pelo menos é o que eu acho, não consertei e consertei porque não consegui reproduzir até agora).
De qualquer forma, a solução para isso não é fazer coisas manualmente, mas executar sudo port clean $portname
e tentar novamente. Essa é a primeira coisa que você deve tentar sempre que uma compilação falha, e ela corrige 100% dos erros "não destroot encontrado".
Btw, você não deve usar a opção -p
ao instalar ou atualizar o material. É considerado prejudicial neste caso. Ele não está sendo removido porque é útil em algumas operações que não dependem umas das outras, como sudo port -p fetch outdated
. O MacPorts geralmente força a recriação de portas sem alterações, a fim de obter uma versão atualizada de uma dependência. Se você executar sudo port -p upgrade outdated
, isso poderá levar a uma reconstrução mesmo que a versão atualizada da dependência não tenha sido criada, desafiando o ponto de atualização.
Sua instalação do gawk falhou porque seu binário /opt/local/bin/xz
está quebrado e não conseguiu extrair a fonte por causa disso:
:info:extract dyld: Library not loaded: /opt/local/lib/libiconv.2.dylib
:info:extract Referenced from: /opt/local/lib/libintl.8.dylib
:info:extract Reason: Incompatible library version: libintl.8.dylib requires version 8.0.0 or later, but libiconv.2.dylib provides version 7.0.0
Ironicamente, essa situação exata pode acontecer quando você executa a atualização com -p
. Para corrigir esse erro específico, você precisa reconstruir a gettext
port: sudo port -nf upgrade gettext
. Você também deve executar sudo port rev-upgrade
para descobrir problemas semelhantes e corrigi-los automaticamente (ou pelo menos tentar).