apt-get install não tem como alvo o mesmo caminho no Ubuntu ou no Debian

apt-get install não tem como alvo o mesmo caminho no Ubuntu ou no Debian

Estou intrigado sobre por que o apt-get install não se comporta da mesma maneira, dependendo se é invocado de um Ubuntu (16.04) ou de um debian (imagem do docker stretch-slim).

Basicamente, eu executo um:

root@ubuntu $ apt-get install libfcgi-dev 
...
root@ubuntu $ dpkg -L  libfcgi-dev 
/.
/usr
/usr/lib
/usr/lib/libfcgi++.a
/usr/lib/libfcgi.a
/usr/share
/usr/share/doc
/usr/share/doc/libfcgi-dev
/usr/share/doc/libfcgi-dev/copyright
/usr/include
/usr/include/fastcgi.h
/usr/include/fcgi_config.h
/usr/include/fcgios.h
/usr/include/fcgio.h
/usr/include/fcgiapp.h
/usr/include/fcgi_stdio.h
/usr/include/fcgimisc.h
/usr/lib/libfcgi.so
/usr/lib/libfcgi++.so
/usr/share/doc/libfcgi-dev/changelog.Debian.gz

O mesmo do contêiner:

root@container $ apt-get install libfcgi-dev 
...
root@container $ dpkg -L  libfcgi-dev 
/.
/usr
/usr/include
/usr/include/fastcgi.h
/usr/include/fcgi_config.h
/usr/include/fcgi_stdio.h
/usr/include/fcgiapp.h
/usr/include/fcgimisc.h
/usr/include/fcgio.h
/usr/include/fcgios.h
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/libfcgi++.a
/usr/lib/x86_64-linux-gnu/libfcgi.a
/usr/share
/usr/share/doc
/usr/share/doc/libfcgi-dev
/usr/share/doc/libfcgi-dev/changelog.Debian.amd64.gz
/usr/share/doc/libfcgi-dev/changelog.Debian.gz
/usr/share/doc/libfcgi-dev/copyright
/usr/lib/x86_64-linux-gnu/libfcgi++.so
/usr/lib/x86_64-linux-gnu/libfcgi.so

Achei que era o pacote quem decidia onde seria instalado (de acordo com [este post] [1]), e parece que o apt-install adiciona "x86_64-linux-gnu" no debian

É muito chato já que tenho que realizar uma grande compilação no debian onde todos os caminhos das bibliotecas são codificados sem o"/x86_64-linux-gnu"papel

Alguém tem uma dica sobre como posso contornar isso e executar a compilação sem vincular todos os x86_64-linux-gnu/* para /usr/lib ou reescrever os arquivos make?

Responder1

Isso não está aptmudando os caminhos. O pacote Ubuntu 16.04 foi construído usando caminhos “antigos”, o pacote Debian 9 foi construído com caminhos multi-arch (vejao changelog para a versão 8.4 do pacote).

Você não deveria precisar codificar os caminhos, o compilador sabe onde encontrar essas bibliotecas.

informação relacionada