Wie einstellen wo Linux nach shared Libraries sucht?

Diskutiere Wie einstellen wo Linux nach shared Libraries sucht? im Linux OS Forum im Bereich Linux/Unix Allgemein; Ich habe eine library selber kompiliert, weil sie nicht auf dem Packetserver meiner Distri erhältlich ist in der neuen Version. Das make install...

  1. #1 BetaWolf, 26.02.2009
    BetaWolf

    BetaWolf Grünschnabel

    Dabei seit:
    10.03.2007
    Beiträge:
    8
    Zustimmungen:
    0
    Ich habe eine library selber kompiliert, weil sie nicht auf dem Packetserver meiner Distri erhältlich ist in der neuen Version. Das make install Script hat sie nach /usr/local installiert.

    Beim linken war das kein Problem. Jedoch, wenn ich das Programm starten möchte findet er die Library nicht. Wie kann ich Linux sagen, das er auch in /usr/local/lib mal nachschauen soll?
     
  2. #2 gropiuskalle, 26.02.2009
    gropiuskalle

    gropiuskalle terra incognita

    Dabei seit:
    01.07.2006
    Beiträge:
    4.857
    Zustimmungen:
    1
    Ort:
    Berlin
    Code:
    export PATH=/usr/local/lib
     
  3. #3 bytepool, 27.02.2009
    Zuletzt bearbeitet: 27.02.2009
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Hi,

    interessante Frage, da hatte ich selber noch nie nach geguckt, aber unser Freund Google gibt eigentlich bereitwillig Auskunft. ;)

    source: http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html
    Dort steht eigentlich alles was du zu dem Thema wissen musst. Ansonsten duerfte 'man ld.so' auch brauchbare Infos liefern.

    Wie kommst du denn darauf? Das waere mir aber sehr neu, ich denke da hast du entweder seinen Post nicht richtig gelesen, oder etwas grundlegend durcheinander gebracht.

    Edit:
    Ich sehe jetzt erst wie du ueberhaupt auf die Frage kommst. Im Normalfall passt den library Pfad der Packagemaintainer deiner Distribution von Hand an. D.h. wenn du selber kompilierst, solltest du einfach im Makefile den Pfad selber anpassen. Es kann natuerlich trotzdem nicht schaden, wenn man weiss wie das mit den libraries gehandhabt wird. ;)

    mfg,
    bytepool
     
  4. #4 supersucker, 27.02.2009
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    Wie Kollege Bytepool schon schrieb, bringt das für shared-libraries nix.

    @BetaWolf

    Code:
    echo '/usr/local/lib' >> /etc/ld.so.conf && ldconfig
    sollte Abhilfe schaffen.
     
  5. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Es gibt mindestens zwei Stufen, wie unter Linux nach Bibliotheken gesucht wird. Der ueber /etc/ld.conf ist auf jeden Fall die letzte.
    Davor wird die Variable LD_LIBRARY_PATH abgesucht. Vielleicht ist es das, was gropiuskalle meinte.
     
  6. #6 gropiuskalle, 27.02.2009
    gropiuskalle

    gropiuskalle terra incognita

    Dabei seit:
    01.07.2006
    Beiträge:
    4.857
    Zustimmungen:
    1
    Ort:
    Berlin
    Ich hab' die Frage nur halb gelesen, sorry deswegen. Meine Lösung funktioniert natürlich nur mit binaries.
     
  7. #7 pferdefreund, 27.02.2009
    pferdefreund

    pferdefreund Doppel-As

    Dabei seit:
    26.12.2007
    Beiträge:
    144
    Zustimmungen:
    0
    .. oder export "LD_LIBRARY_PATH=/usr/local/lib" und dann Programm starten. Dann braucht man
    nix an der Konfiguration zu schrauben.
     
  8. #8 bitmuncher, 27.02.2009
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.175
    Zustimmungen:
    3
    Bevor hier noch die LD_LIBRARY_PATHs zerschossen werden... Wenn man eine vom System verwendete Umgebungsvariable ändert, sollte man immer auch den Default-Wert mit aufnehmen, wenn die Variable schon mit einem Wert belegt ist. Daher zuerst mit

    Code:
    echo $LD_LIBRARY_PATH
    nachsehen, ob diese Umgebungsvariable schon einen Wert hat und wenn ja, dann doch bitte

    Code:
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
    verwenden. Im übrigen wird der LD_LIBRARY_PATH zwar zuerst ausgewertet, aber wenn man die darin angegebenen Pfade eh als feste Werte braucht, sollte man sie in den ld.so-Cache einbringen, indem man sie in die /etc/ld.so.conf einträgt und 'ldconfig' ausführt. Dann erspart man sich das Setzen der Pfade für jeden User einzeln.
     
  9. T-One

    T-One Routinier

    Dabei seit:
    14.10.2008
    Beiträge:
    493
    Zustimmungen:
    7
    Ort:
    Österreich
    Ich hau sowas immer in die /etc/ld.so.conf.d/
    Einfach eine .conf zum Programmnamen erstellen, bei oracle-xpress z.b. oracle-xe.conf
    Code:
    /usr/lib/oracle/10.2.0.4/client64/lib
    /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib
    
    und dann per
    Code:
    ldconfig -v
    Die libs neu einlesen.
     
  10. #10 BetaWolf, 27.02.2009
    BetaWolf

    BetaWolf Grünschnabel

    Dabei seit:
    10.03.2007
    Beiträge:
    8
    Zustimmungen:
    0
    Danke Leute. Ich habs mit der ld.so.conf Methode gemacht.
     
Thema:

Wie einstellen wo Linux nach shared Libraries sucht?

Die Seite wird geladen...

Wie einstellen wo Linux nach shared Libraries sucht? - Ähnliche Themen

  1. Unendliche Lease Time bei DHCP Server Suse Linux einstellen

    Unendliche Lease Time bei DHCP Server Suse Linux einstellen: Hallo, wie kann ich bei dem DHCPD Server von Suse Linux eine unendliche Lease Time einstellen? Gruß Horus
  2. wo Deutsch einstellen dauerhaft

    wo Deutsch einstellen dauerhaft: Hallo, ich haette gern Deutsch dauerhaft eingestellt. Irgendeine Datei scheint maechtig zu sein und aendert es immer nach dem booten auf...
  3. IP einstellen aus C-Programm heraus

    IP einstellen aus C-Programm heraus: Hallo, ich bin noch unerfahren in Linux und ich habe das Problem das ich aus einem C-Programm heraus die IP, Maske und das Gateway in Linux...
  4. Console oder Terminal auf 80x25 einstellen?

    Console oder Terminal auf 80x25 einstellen?: Ich habe ein Fujitsu TX1310-M1 mit SLES11 SP3 installiert. Ich habe in grub Video=640x480 eingestellt. Mit "stty size", bekomme "30 80" und "echo...
  5. Deutsche Tastatur in Debian Wheezy einstellen

    Deutsche Tastatur in Debian Wheezy einstellen: Hallo. Ich habe mir heute Debian Wheezy minimal installiert und anschliessend fluxbox als Oberflaeche. Bei der installation habe ich die...