Wenn ich im apache als cgi-bin ein bestimmtes Programm aufrufe erscheint in der error.log folgende Meldung:
fatal: libstdc++.so.6: open failed: No such file or directory
Ich habe herausgefunden, dass anscheinende die Umgebungsvariable LD_LIBRARY_PATH falsch gesetzt ist.
Bei normalen Benutzern habe ich die Variable mit „declare -x LD_LIBRARY_PATH=/usr/local/lib“ im entsprechenden Homedir (.profile) des Users richtig gesetzt, dann läuft das Programm auch.
Leider scheint dies bei http (unter dieser Kennung läuft apache) nicht zu funktionieren.
Kann mir jemand sagen, wie ich für die cgi-Umgebung Umgebungsvariablen setzen kann?
/etc/profile scheint auch keine Wirkung zu haben.
Wenn ich im apache als cgi-bin ein bestimmtes Programm aufrufe
erscheint in der error.log folgende Meldung:
fatal: libstdc++.so.6: open failed: No such file or directory
Ich habe herausgefunden, dass anscheinende die
Umgebungsvariable LD_LIBRARY_PATH falsch gesetzt ist.
Bei normalen Benutzern habe ich die Variable mit „declare -x
LD_LIBRARY_PATH=/usr/local/lib“ im entsprechenden Homedir
(.profile) des Users richtig gesetzt, dann läuft das Programm
auch.
Na, dann mach das doch hier auch so. Ich weiss ja jetzt nicht, welche konkrete Sprache Dein CGI verwendet, aber ich mutmasse mal ganz keck, dass es Perl ist:
Danke für Eure Tipps, ich habe die Lösung gefunden:
Das CGI-Script war übrigens kein Script, sondern ein kompiliertes C-Programm.
Ich habe den Bibliothekspfad zur Compile-Zeit richtig gesetzt, danach lief es.