IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

Problème de librairies dynamiques


Sujet :

Oracle

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 286
    Points : 279
    Points
    279
    Par défaut Problème de librairies dynamiques
    Bonjour,

    D'abord je pose le décors :
    HPUX11
    Oracle 9.2.0.3 et 9.2.0.6.
    OS et Oracle gérés par mon client.

    J'ai une application 'C/ProC' compilée il ya quelque temps et qui tourne bien.
    Pour les besoins d'une modification soft je recompile, sans avoir modifié quoi que ce soit, ni sources, ni makefiles, ni environnement.
    Et à l'execution paf :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /usr/lib/pa20_64/dld.sl: Unable to find library 'libwtc9.sl'.
    Aprés un moment de solitude, je trouve la solution : définir la variable LD_LIBRARY_PATH et la faire pointer sur le repertoire des lib oracle qui contient 'libwtc9.sl'.

    La ou je m'interroge : Comment on en est arrivé la ?
    J'ai l'hypothese suivante :

    Au depart mes executables etaient (et sont toujours ) compilés/linkés en 'statique', incluant à l'époque les librairies Oracle 9.2.0.3 en statique elles aussi.

    Arrive mon client qui migre en 9.2.0.6 et la je suppose que les lib oracle ne sont plus statiques mais dynamiques.

    Mes executables, pas recompilés, continuent à tourner avec leur lib 9.2.0.3 incorporées à la compile précedente.

    Maintenant si je compile j'inclus les nouvelles lib 9.2.0.6 qui sont dynamiques, et sans le LD_LIBRARY_PATH paf la lib


    Est ce que mon raisonnement se tient ?
    Avez vous d'autes explications ?
    --
    ... Hello sweetie ...

  2. #2
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    Pour savoir si ton raisonnnement tient la route (ce dont je doute fortement vu que tu restes dans la même release, seul le niveau d'upgrade changeant), il te suffit de faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ file {NOM_DU_PROGRAMME}
    si la réponse contient ou non "dynamically linked", tu seras fixé.

    Pour connaitre les librairies utilisées, la commande ldd est faite pour ça.

    Je suis plus persuadé que le .profile positionnait le LD_LIBRARY_PATH et qu'il a été modifié (peut-être que le .profile utilisateur n'a pas été modifié mais celui de /etc si ! )

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 286
    Points : 279
    Points
    279
    Par défaut
    Citation Envoyé par LeoAnderson
    Je suis plus persuadé que le .profile positionnait le LD_LIBRARY_PATH et qu'il a été modifié (peut-être que le .profile utilisateur n'a pas été modifié mais celui de /etc si ! )
    J'ai vérifié sur d'autres sites du même type, même soft même client etc, et cela tourne SANS LD_LIBRARY_PATH.

    Quels changements, liés à cette migartion mineur, peut necessiter la définition de cette variable ?
    --
    ... Hello sweetie ...

  4. #4
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    LIBPATH ou CLASSPATH peut-être

  5. #5
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    Ha bah non... Metalink est notre ami :
    Precompilers - Version: 9.2.0.6.0
    This problem can occur on any platform.
    Symptoms

    Upon setting up a new box with a cobol compiler, users now receive the following error
    when using Pro*COBOL:

    /usr/lib/pa20_64/dld.sl Unable to find library 'libcobrts64.sl'

    Cause
    Permissions on <full path>/mfcobol are too restrictive. When permissions are too restrictive
    the libcobrts64.sl library cannot be found.
    Solution

    To implement the solution, issue the following commands:

    $ su - root
    # cd [location where cobol is at]
    # chmod -R 755 mfcobol

  6. #6
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    Citation Envoyé par Alain B.
    J'ai une application 'C/ProC' compilée il ya quelque temps et qui tourne bien.
    donc ta note sur le cobol....

    et que donnent les commandes file et ldd ?

  7. #7
    Membre actif
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 286
    Points : 279
    Points
    279
    Par défaut
    Je pense avoir trouvé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    chatr opt/oracle/product/9.2.0.6/lib//libclntsh.sl.9.0:
    opt/oracle/product/9.2.0.6/lib//libclntsh.sl.9.0:
             64-bit ELF shared library
             shared library dynamic path search:
                 LD_LIBRARY_PATH    enabled  first
                 SHLIB_PATH         enabled  second
                 embedded path      enabled  third  /b/s425/lib
    ...
    ...
    Sur n'importe quel autre site ca donne plustot :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    chatr opt/oracle/product/9.2.0.6/lib//libclntsh.sl.9.0:
    opt/oracle/product/9.2.0.6/lib//libclntsh.sl.9.0:
             64-bit ELF shared library
             shared library dynamic path search:
                 LD_LIBRARY_PATH    enabled  first
                 SHLIB_PATH         enabled  second
                 embedded path      enabled  third  /opt/oracle/product/9.2.0.6/lib
    ...
    ...
    J'en conclu que le gars qui a installé les binaires s'est un peu fourvoyé et a du oublié la phase relink..
    Et comme l'appli n'a pas ete recompilée apres le patch, elle utilise toujours les libs opt/oracle/product/9.2.0.2/lib qui sont correctement configurées.
    --
    ... Hello sweetie ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/03/2013, 17h17
  2. [Free Pascal] [Linux] Deux problèmes liés aux librairies dynamiques
    Par ChPr dans le forum Lazarus
    Réponses: 2
    Dernier message: 20/09/2011, 23h51
  3. Problème de liaison de librairie dynamique
    Par mithrendil dans le forum C#
    Réponses: 2
    Dernier message: 15/06/2011, 23h12
  4. Réponses: 7
    Dernier message: 04/06/2008, 19h22
  5. Creation de librairies dynamique... Problème !
    Par Franck.H dans le forum Linux
    Réponses: 12
    Dernier message: 24/06/2005, 11h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo