O que é / usr / lib / i386-linux-gnu /?

29

Estou usando um aplicativo que, ao procurar dependências instaladas, procura alguns arquivos .so em / usr / lib e / usr / local / lib /.

Agora eu migrei no Natty e alguns arquivos parecem ser movidos de / usr / lib para / usr / lib / i386-linux-gnu /.

Devo relatar um bug aos desenvolvedores de aplicativos que eles devem alterar sua lógica de pesquisa? Existe um documento que explique a alteração para que eu possa encaminhá-la?

Alexander Gladysh
fonte
11
Para quem não conhece ou esqueceu o Natty, o Natty é o Ubuntu 11.04. Essa mudança ainda está presente nas versões recentes do Ubuntu (até o momento, 18.04).
JRH

Respostas:

31

Essa alteração foi feita para permitir a instalação de versões da mesma biblioteca compiladas para diferentes arquiteturas (por exemplo, em um sistema AMD64, uma versão pode entrar /usr/lib/x86_64-linux-gnuenquanto a outra entra i386-linux-gnu).

O vinculador padrão e o vinculador dinâmico conhecem esses diretórios; portanto, a alteração deve ser invisível para a maioria dos aplicativos. Se o aplicativo estiver pesquisando os arquivos reais da biblioteca manualmente, precisará ser modificado.

Detalhes das alterações no Ubuntu podem ser encontradas aqui:

https://wiki.ubuntu.com/MultiarchSpec

James Henstridge
fonte
3
Embora o link do Ubuntu seja um ponto de partida decente, há muito mais documentação disponível em wiki.debian.org/Multiarch (e também é esperado que seja muito melhor mantido atualizado; o wiki do Ubuntu tem tanto amor quanto um cemitério de elefantes abandonado).
tripleee
2
Eu pensei que temos / lib32 para multi-arch?
Bachsau