domingo, dezembro 04, 2005

LD_ASSUME_KERNEL

Ao atualizar o servidor da empresa (um Fedora Core 3), me deparei com a seguinte mensagem de erro ao chamar o apt, yum ou o rpm após a instalação:

rpmdb: unable to initialize mutex: Function not implemented
rpmdb: /var/lib/rpm/__db.001: unable to initialize environment lock: Function not implemented


Se isso acontecer com você, não se desespere. Muitos fóruns na internet vão sugerir que você formate a máquina, destrua e reconstrua o banco de dados do rpm usando rpm --initdb ou rpm --rebuilddb. O que você precisa fazer é simplesmente remover a variável de ambiente LD_ASSUME_KERNEL.

Essa variável era necessária pelo Java, Oracle, e mesmo pelo Mozilla, logo que o Kernel do Linux mudou a forma como funcionavam as threads, na versão 2.6. Nas versões mais novas do Linux, essas variáveis estão começando a causar problema nos softwares mais atuais.

Então, como recurso, para verificar se seu problema é realmente esse, digite, num console:

# unset LD_ASSUME_KERNEL
# rpm -qa


Se funcionar, seu problema é esse mesmo. Daí, basta remover esta variável de toda a sua configuração (/etc/profile, /etc/profile.d/*, ~/.profile, ~/.bashrc, e outros).

Segue o link onde encontrei a informação correta: LD_ASSUME_KERNEL considered harmful (tummy.com, ltd. Journal Entry)

Nenhum comentário: