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"
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?
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 .
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