uso correto do rpath (relativo versus absoluto)
Ao construir um binário ou biblioteca, especificando orpath
, ou seja,
-Wl,rpath,<path/to/lib>
informa ao vinculador onde encontrar a biblioteca necessária no tempo de execução do binário.
Qual é a filosofia do UNIX em relação aos caminhos absolutos e relativos aqui? É melhor usar um caminho absoluto para que a lib possa ser encontrada de qualquer lugar? Ou é melhor torná-lo relativo para que copiar um diretório inteiro ou renomear um caminho de nível superior não torne o binário unusab, le?
AtualizarUsando$ORIGIN
geralmente é a maneira preferida de construir binários. Para bibliotecas, eu gosto de colocar o caminho absoluto, porque, caso contrário, você não poderá vincular à biblioteca. Um link simbólico alterará o$ORIGIN
para apontar para o caminho doligação e não do linkalvo.