Restaure o sqlite3 no Mac OS X para o Google Chrome

2

Eu fui estúpido o suficiente para compilar sqlite3 da fonte e instalá-lo em /usr , substituindo a biblioteca padrão.
Isso está sendo feito, o Google Chrome não inicia mais, causando problemas com essa saída:

Dyld Error Message:
  Library not loaded: /usr/lib/libsqlite3.dylib
  Referenced from: /System/Library/Frameworks/Security.framework/Versions/A/Security
  Reason: no suitable image found.  Did find:
    /usr/lib/libsqlite3.dylib: mach-o, but wrong architecture
    /usr/local/lib/libsqlite3.dylib: mach-o, but wrong architecture
    /usr/lib/libsqlite3.dylib: mach-o, but wrong architecture

Posso de alguma forma reverter sqlite3 para a versão original que eu tinha ou corrigir o problema de alguma outra forma?

    
por Dan 01.03.2011 / 06:38

3 respostas

3

Consegui corrigir isso compilando sqlite3 para i386 e x86_64 e colocando-o em /usr :

./configure --prefix=/usr --disable-dependency-tracking CFLAGS="-arch i386 -arch x86_64"
    
por 01.03.2011 / 07:07
1

No meu sistema, o libsqlite3.dylib foi instalado como parte do pacote BaseSystem e atualizado pelos pacotes 10.6.5 e 10.6.7.

$ grep -rl libsqlite3.dylib /var/db/receipts/
/var/db/receipts/com.apple.pkg.BaseSystem.bom
/var/db/receipts/com.apple.pkg.update.os.10.6.5.patch.bom
/var/db/receipts/com.apple.pkg.update.os.10.6.7.patch.bom

Você pode extrair apenas os arquivos dos arquivos .pkg originais usando algo como Pacifist , pkgutil ou installer . Não foi imediatamente óbvio para mim como extrair um único arquivo de um arquivo .pkg com as ferramentas de linha de comando. É bem direto com o Pacifist; Os documentos estão aqui .

    
por 29.04.2011 / 05:12
0

Se você alterou o soemthing em / usr, você alterou o código fornecido pela Apple, portanto, será necessário reinstalar o sistema operacional. No entanto, como este é um grande chnage eu tentaria primeiro restaurar o mysql do seu backup :). Caso contrário, obtenha a atualização do combo OSX verstion da Apple . Caso contrário, vá para o DVD do OSX, você pode restaurar alguns arquivos, olhando para o conteúdo do pacote - no entanto o meu OSX está confuso e não tem o nome do pacote correto.

Para este caso em particular, você pode recompilar como @gaearon diz, mas você precisa obter a versão correta e assumir que a Apple não fez alterações.

Em geral, eu adicionaria novas bibliotecas usando um gerenciador de pacotes fink, macports, etc., pois colocam as coisas fora das áreas do sistema Apple e lidam com qualquer esquisitice do OSX. Se você compilar seu próprio uso / usr / local

    
por 01.03.2011 / 10:21