apt-get install não tem como alvo o mesmo caminho no ubuntu ou debian

3
Estou intrigado sobre o motivo pelo qual o apt-get install não se comporta da mesma maneira, de acordo com o fato de ser invocado a partir de um Ubuntu (16.04) ou de um debian (imagem de docker stretch-slim).

Basicamente, eu faço uma:

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

Eu achei que o pacote era o único a decidir onde ele seria instalado (de acordo com [este post] [1]), e parece que o apt-install adiciona "x86_64-linux-gnu" no debian

É bastante irritante já que tenho que executar uma grande compilação no debian onde todos os caminhos de librairies são codificados sem a parte "/ x86_64-linux-gnu"

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

    
por Marvin 01.06.2018 / 10:29

1 resposta

7

Isso não é 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 (veja o changelog para a versão 8.4 da embalagem ).

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

    
por 01.06.2018 / 10:31