Forum Linux.général Librairie a extension .la ?

Posté par  .
Étiquettes : aucune
0
4
août
2004
Lors de la compil d'un logiciel, j'obtiens un message :

/usr/lib/libX11.la : file not found

effectivement dans mon répertoire /usr/lib ne se trouve pas de libX11.la mais il contient libX11.so et libX11.a. Quelqu'un serait-il comment créer une librairie en .la à l'aide des librairies .so ou .a ?

Merci beaucoup
  • # Je n'ai pas l'impression que ce soit possible.

    Posté par  . Évalué à 2.

    En effet à la fin de la section Link mode

    http://www.gnu.org/software/libtool/manual.html#SEC17(...)

    on a : If the output-file ends in `.la', then a libtool library is created, which must be built only from library objects (`.lo' files).

    il te faut le(s) .lo pour creer le .la.

    Il ya sans doute moyen de récupérer me truc, surtout avec le .a qui contient les .o de la compil d'origine - à approfondir.
  • # Tu ne pose pas la bonne question

    Posté par  (site web personnel) . Évalué à 3.

    En effet les .la ne sont pas des librairies, mais des fichiers textes utilisés par libtool pour aider a la compilation, il y stocke les dependances, des chemins d'acces, etc ...
    Mais c'est specifique a libtool, or XFree est loin d'etre compilé avec autoconf/automake/libtool (a part les versions de freedesktop).

    La bonne question est pourquoi cherche t'il ce fichier qui n'a aucune raison d'exister.
    Soit c'est une libraire presente sur le systeme qui reference ce fichier dans son .la (un grep "libX11.la" /usr/lib/*.la devrait permettre de verifier cela) soit c'est le makefile/configure qui est delirant (une solution: regenerer tout:
    [aclocal]
    libtoolize --force --copy
    [autoheader]
    [automake -c -f -a]
    autoconf
    ).

    Une autre solution creer un /usr/lib/libX11.la a la mains en prenant exemple sur un existant:

    dlname='libX11.so.6.2'
    library_names='libX11.so.6.2 libX11.so.6 libX11.so'
    old_library='libX11.a'
    dependency_libs='-L/usr/X11R6/lib'

    current=6
    age=2
    revision=
    installed=yes
    dlopen=''
    dlpreopen=''

    Mais ca pourait poser plus de pb qu'autre chose.
    • [^] # Re: Tu ne pose pas la bonne question

      Posté par  . Évalué à 2.

      J'avais bien pensé à proposer une solution dans ce genre, mais c'est tellement cochon que j'ai pas essayé d'approfondir ... reste que le programme à compiler doit résever des surprises : quand ca commence comme ca, la nuit va être longue !
  • # Peut-être que ça peut aider...

    Posté par  (site web personnel) . Évalué à 2.

    Bonjour,

    Je ne sais pas si ça va t'aider mais j'ai eu également besoin de compiler certains softs récemment et, lors de la compilation, j'avais des erreurs genre /usr/lib/libGL.la missing, etc... etc..

    En faisant un "locate" je me suis aperçu que le fichier en question se trouvait dans /usr/X11R6/lib/.

    J'ai donc créé un lien symbolique pour que ça fonctionne.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.