
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á apt
mudando 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.