Wie entferne ich LD_LIBRARY_PATH zur Laufzeit?

Ich erstelle eine C ++ - Anwendung, die Intel verwendetIPP Bibliothek. Diese Bibliothek wird standardmäßig in / opt installiert und muss von Ihnen festgelegt werdenLD_LIBRARY_PATH Sowohl zum Kompilieren als auch zum Ausführen Ihrer Software (wenn Sie die Verknüpfung der gemeinsam genutzten Bibliothek gewählt haben, was ich auch getan habe). Ich habe meine bereits geändertconfigure.ac/Makefile.am damit ich diese Variable beim Kompilieren nicht festlegen muss, aber die gemeinsam genutzte Bibliothek zur Laufzeit immer noch nicht finde; wie mache ich das?

Ich kompiliere mit dem-Wl, -R/path/to/libdir kennzeichnen mitg++

Update 1: Eigentlich hat mein Binärprogramm einige IPP-Bibliotheken korrekt verknüpft, aber nur eine ist nicht:

$ 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

Natürlich ist die Bibliothek da:

$ locate libiomp5.so
/opt/intel/ipp/6.0.2.076/em64t/sharedlib/libiomp5.so

Antworten auf die Frage(7)

Ihre Antwort auf die Frage