Problema de aviso com o médico brew de homebrew no Mac OS X

0

Acabei de instalar o homebrew e estou recebendo este aviso:

$ brew doctor

Please note that these warnings are just used to help the Homebrew maintainers with debugging if you file an issue. If everything you use Homebrew for is working fine: please don't worry and just ignore them. Thanks!

Warning: Unbrewed dylibs were found in /usr/local/lib. If you didn't put them there on purpose they could cause problems when building Homebrew formulae, and may need to be deleted.

Unexpected dylibs:

/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
    
por erik 13.11.2014 / 06:16

1 resposta

0

O aviso em si afirma claramente o problema:

Please note that these warnings are just used to help the Homebrew maintainers with debugging if you file an issue. If everything you use Homebrew for is working fine: please don't worry and just ignore them. Thanks!

Especificamente isso; ênfase é minha:

Warning: Unbrewed dylibs were found in /usr/local/lib. If you didn't put them there on purpose they could cause problems when building Homebrew formulae, and may need to be deleted.

A chave é que o homebrew está apenas passando por & apontar questões potenciais e não questões atuais . O risco é que essas bibliotecas dinâmicas instaladas localmente possam ser versões mais antigas / mais recentes que não sejam verificadas em receitas de homebrews. Como tal, há um caso extremo em que eles podem causar problemas no futuro.

Olhando para as bibliotecas dinâmicas listadas aqui, elas parecem se conectar ao Citrix Receiver conforme explicado nesta resposta de estouro de pilha . Portanto, se você estiver usando ativamente o Citrix Receiver, não será possível excluir esses arquivos. Mas se você não estiver usando o receptor Citrix, é mais provável que seja seguro excluí-los.

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

Listagem em branco dos arquivos da biblioteca dinâmica.

Se você estiver usando o Citrix Receiver e não puder excluir os arquivos, é provável que a listagem em branco seja o melhor compromisso. Supondo que sua instalação do homebrew esteja no local padrão, você pode abrir o arquivo doctor.rb Ruby conectado ao homebrew como este em nano via Terminal:

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

Você pode ver o mesmo conteúdo no repositório do GitHub aqui . E a linha 120 é a definição white_list :

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 assim:

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 esses itens sendo listados, portanto, ignorados, portanto, não há mais avisos. Mas lembre-se: na próxima vez que você instalar o homebrew ou até mesmo atualizá-lo, esses valores de lista branca poderão ser sobrescritos.

Excluindo os arquivos da biblioteca dinâmica.

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

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 a execução de homebrew deve mostrar uma execução limpa, sem avisos.

Você pode até levar esse arquivamento um passo adiante criando um arquivo .tar e .gz como este. Primeiro, crie o arquivo .tar :

tar -cf ~/critix_dylibs.tar ~/critix_dylibs

Próximo Gzip assim:

gzip ~/critix_dylibs.tar

E, em seguida, lance o diretório assim:

rm -rf ~/critix_dylibs

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

    
por 13.11.2014 / 06:35