Problema de aviso com o homebrew brew doctor no Mac OS X

0

Acabei de instalar o homebrew e estou recebendo este aviso:

$ médico de fermentação

Observe que esses avisos são usados ​​apenas para ajudar os mantenedores do Homebrew a depurar se você registrar um problema. Se tudo o que você usa para Homebrew estiver funcionando bem: não se preocupe e apenas os ignore. Obrigado!

Aviso: dylibs não parafusados ​​foram encontrados em / usr / local / lib. Se você não colocá-los lá de propósito, eles podem causar problemas ao criar fórmulas Homebrew e podem precisar ser excluídos.

Dylibs inesperados:

/usr/local/lib/libMonoPosixHelper.dylib

/usr/local/lib/libSFFileMonitor.32.dylib

/usr/local/lib/libSFIPC.32.dylib

/usr/local/lib/libSFIPC.I.dylib

/usr/local/lib/libSFsqlite3.7.4.dylib

/usr/local/lib/libSFSyncEngine.I.dylib
erik
fonte
Bem vinda. Então, o que é homebrew brew doctor? Você postou uma experiência que parece ser auto-explicativa. Não vejo nada parecido com uma pergunta. Isso foi de alguma forma um problema? Existe algo específico em que você precisa de ajuda?
fixer1234

Respostas:

0

O aviso em si afirma claramente o problema:

Observe que esses avisos são usados ​​apenas para ajudar os mantenedores do Homebrew a depurar se você registrar um problema. Se tudo o que você usa para Homebrew estiver funcionando bem: não se preocupe e apenas os ignore. Obrigado!

Especificamente isso; ênfase é minha:

Aviso: dylibs não parafusados ​​foram encontrados em / usr / local / lib. Se você não colocá-los lá de propósito, eles podem causar problemas ao criar fórmulas Homebrew e podem precisar ser excluídos .

A chave é que o homebrew está apenas passando por e apontar problemas em potencial e não problemas atuais . O risco é que essas bibliotecas dinâmicas instaladas localmente possam ter versões mais antigas / mais recentes que não são verificadas em relação às receitas caseiras. Como tal, há um caso extremo em que eles podem causar problemas no futuro.

Observando as bibliotecas dinâmicas listadas lá, elas parecem estar conectadas ao Citrix Receiver, conforme explicado nesta resposta do Stack Overflow . Portanto, se você estiver usando ativamente o Citrix Receiver, não poderá excluir esses arquivos. Mas se você não estiver usando o receptor Citrix, é muito provável que você os exclua.

Dito isto, aqui estão duas soluções possíveis: listar os arquivos em branco e excluí-los completamente.

Lista branca dos arquivos dinâmicos da biblioteca.

Se você estiver usando o Citrix Receiver e não puder excluir os arquivos, é provável que a lista branca deles seja o melhor compromisso. Supondo que sua instalação do homebrew esteja no local padrão, você pode abrir o doctor.rbarquivo Ruby conectado ao homebrew assim no nanoTerminal:

/usr/local/Library/Homebrew/cmd/doctor.rb

Você pode ver o mesmo conteúdo no repositório GitHub aqui . E na linha 120 está a white_listdefinição:

white_list = [
    "libfuse.2.dylib", # MacFuse
    "libfuse_ino64.2.dylib", # MacFuse
    "libmacfuse_i32.2.dylib", # OSXFuse MacFuse compatibility layer
    "libmacfuse_i64.2.dylib", # OSXFuse MacFuse compatibility layer
    "libosxfuse_i32.2.dylib", # OSXFuse
    "libosxfuse_i64.2.dylib", # OSXFuse
  ]

Edite isso para adicionar suas bibliotecas dinâmicas relacionadas ao Citrix Receiver como este:

white_list = [
    "libfuse.2.dylib", # MacFuse
    "libfuse_ino64.2.dylib", # MacFuse
    "libmacfuse_i32.2.dylib", # OSXFuse MacFuse compatibility layer
    "libmacfuse_i64.2.dylib", # OSXFuse MacFuse compatibility layer
    "libosxfuse_i32.2.dylib", # OSXFuse
    "libosxfuse_i64.2.dylib", # OSXFuse
    "libMonoPosixHelper.dylib", # Citrix Receiver
    "libSFFileMonitor.32.dylib", # Citrix Receiver
    "libSFIPC.32.dylib", # Citrix Receiver
    "libSFIPC.I.dylib", # Citrix Receiver
    "libSFsqlite3.7.4.dylib", # Citrix Receiver
    "libSFSyncEngine.I.dylib", # Citrix Receiver
  ]

E você deve ser bom com os itens que estão na lista branca, sendo ignorados e, portanto, sem mais avisos. Mas lembre-se: da próxima vez que você instalar o homebrew ou até atualizá-lo, esses valores de lista branca poderão ser substituídos.

Excluindo os arquivos da biblioteca dinâmica.

Excluir os arquivos da biblioteca dinâmica é a próxima opção. Mas se você não tiver certeza sobre a exclusão, pode adotar a abordagem segura de simplesmente mover esses arquivos específicos para algum lugar seguro, como um diretório chamado critix_dylibs. Primeiro, crie o diretório atual como este:

mkdir ~/critix_dylibs

Em seguida, mova-os para esse diretório assim:

sudo mv /usr/local/lib/libMonoPosixHelper.dylib ~/critix_dylibs/
sudo mv /usr/local/lib/libSFFileMonitor.32.dylib ~/critix_dylibs/
sudo mv /usr/local/lib/libSFIPC.32.dylib ~/critix_dylibs/
sudo mv /usr/local/lib/libSFIPC.I.dylib ~/critix_dylibs/
sudo mv /usr/local/lib/libSFsqlite3.7.4.dylib ~/critix_dylibs/
sudo mv /usr/local/lib/libSFSyncEngine.I.dylib ~/critix_dylibs/

Eles serão efetivamente "neutralizados" simplesmente sendo movidos assim. E o homebrew em execução deve mostrar uma execução limpa sem avisos.

Você pode até levar esse arquivo um passo adiante, criando um arquivo .tare .gzassim. Primeiro, crie o .tararquivo:

tar -cf ~/critix_dylibs.tar ~/critix_dylibs

Próximo Gzip-lo assim:

gzip ~/critix_dylibs.tar

E depois lance o diretório assim:

rm -rf ~/critix_dylibs

Dessa forma, você possui um backup limpo das bibliotecas dinâmicas removidas em um arquivo chamado, critix_dylibs.tar.gzcaso precise reinstalá-las novamente.

JakeGould
fonte