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

C Discussion :

problème libraire partagé .so


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Août 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 76
    Par défaut problème libraire partagé .so
    Bonjour,
    j'essaie d'exécuter un script cgi écrit en C sur un serveur de reconnaissance vocale, mais j'ai cette erreur::

    /var/www/cgi-bin/transfertFichier.cgi: error while loading shared libraries: libSWIrec.so.3: cannot open shared object file: No such file or directory

    cette libraire existe bien dans le disc mais je ne sais pas ou il faut la placer exactement pour que le script fonctionne correctement!

    est ce que vous avez une ideé?
    Merci

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2006
    Messages : 107
    Par défaut
    Bonjour,

    Ce n'est pas un problème de language C mais bon.

    Il faut que ta librairie soit dans un des répertoires de la variable d’environnement LD_LIBRARY_PATH de l'utilisateur sous lequel tourne ton serveur web.
    Donc, soit tu lui ajoute le répertoire contenant ta lib, soit tu déplace ta lib dans un de ses répertoires.

    Tu peux également éditer le fichier ld.so.conf et lancer ldconfig pour reconstruire le cache des librairies, il me semble.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Août 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 76
    Par défaut
    merci c'est super claire

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Août 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 76
    Par défaut
    une petite précision, il faut ajouté la chemin ou se trouve notre .so à la variable, ou il faut ajouter les dossier /etc/httpd/lib à la variable ?

  5. #5
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 486
    Par défaut
    Citation Envoyé par virus321 Voir le message
    une petite précision, il faut ajouté la chemin ou se trouve notre .so à la variable, ou il faut ajouter les dossier /etc/httpd/lib à la variable ?
    Le chemin où se trouve ton *.so.

    Par contre, si ton script est exécuté par le serveur web et pas directement par toi, alors il faudra t'assurer que le serveur en question — lui — affecte correctement cette variable. Et, pour cela, il existe des directives dédiées.

    Par ailleurs, si c'est sous Linux que tu travailles, il existe le fichier /etc/ld.so.conf et le répertoire ld.so.conf.d qui servent à spécifier les emplacements de toutes les bibliothèques et générer un cache.

    D'une manière générale, si ta bibliothèque est faite pour être installée durablement sur le système, il vaut mieux la mettre dans un des répertoires dédiés à cela plutôt que surcharger LD_LIBRARY_PATH. Par contre, si elle ne sert qu'à ton script, il vaut mieux la mettre à l'écart, effectivement.

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Août 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 76
    Par défaut
    effectivement c'est le serveur apache qui exécute le script et pas root,
    donc à ce que je comprends, je dois ajouter le chemin /usr/local/Nuance/Recognizer/lib(l'endroit où se trouve mon .so) dans le fichier ld.so.conf?

Discussions similaires

  1. Problème de partage de connexion
    Par oops! dans le forum Administration
    Réponses: 5
    Dernier message: 09/08/2006, 14h52
  2. Problème de partage
    Par jyms2006 dans le forum Administration
    Réponses: 1
    Dernier message: 29/03/2006, 16h15
  3. Problème de partage de connection Internet
    Par Bradarys dans le forum Administration
    Réponses: 2
    Dernier message: 19/01/2006, 19h25
  4. [win] problème pour partager des fichiers entre 2 pc
    Par goma771 dans le forum Administration
    Réponses: 1
    Dernier message: 01/12/2005, 16h15
  5. probléme de partage de connection entre winxp et win2000
    Par unix27 dans le forum Administration
    Réponses: 1
    Dernier message: 29/07/2005, 20h02

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