Como faço para me livrar do LD_LIBRARY_PATH em tempo de execução?
Estou construindo um aplicativo C ++ que usa o IntelIPP biblioteca. Esta biblioteca é instalada por padrão em / opt e requer que você definaLD_LIBRARY_PATH
tanto para compilar quanto para executar o software (se você escolher o link da biblioteca compartilhada, o que eu fiz). Eu já modifiquei meuconfigure.ac
/Makefile.am
para que eu não precise definir essa variável ao compilar, mas ainda não consigo encontrar a biblioteca compartilhada em tempo de execução; como faço isso?
Estou compilando com o-Wl, -R/path/to/libdir
sinalizar usandog++
Atualização 1: Na verdade, meu programa binário possui algumas bibliotecas IPP vinculadas corretamente, mas apenas uma não é:
$ ldd myprogram
linux-vdso.so.1 => (0x00007fffa93ff000)
libippacem64t.so.6.0 => /opt/intel/ipp/6.0.2.076/em64t/sharedlib/libippacem64t.so.6.0 (0x00007f22c2fa3000)
libippsem64t.so.6.0 => /opt/intel/ipp/6.0.2.076/em64t/sharedlib/libippsem64t.so.6.0 (0x00007f22c2d20000)
libippcoreem64t.so.6.0 => /opt/intel/ipp/6.0.2.076/em64t/sharedlib/libippcoreem64t.so.6.0 (0x00007f22c2c14000)
[...]
libiomp5.so => not found
libiomp5.so => not found
libiomp5.so => not found
Claro que a biblioteca está lá:
$ locate libiomp5.so
/opt/intel/ipp/6.0.2.076/em64t/sharedlib/libiomp5.so