[résolu] OpenSSL package "no version information available"

Bonjour,

j’ai apporté quelques modifications à OpenSSL et j’ai voulu le repackager pour ma Debian. Pour cela, j’ai récupéré la façon de faire du mainteneur Debian de ce paquet. C’est-à-dire que j’ai piqué son dossier debian, j’ai modifié quelques trucs dedans et j’ai patché les Makefiles/Configure pour coller à ce qui avait été fait par le mainteneur. De cette façon, mon paquet est supposé s’intégrer parfaitement dans la distribution.

Sauf que ces paquets, bien qu’ils fonctionnent comme il faut, m’impriment des warnings lorsque des programmes comme “ssh” (par exemple) vont taper dans mon OpenSSL. J’ai un message disant “no version information available”.

Après quelques recherches sur le net, j’ai trouvé qu’en fait chaque paquet Debian compilé, utilise du versioning de symbôles. Du coup, chaque programme qui utilise mon OpenSSL ne connait pas les symbôles et il y a ce message.

Par contre, je n’ai pas trouvé comment faire au-delà de cette explication. Je suis peu expérimenté en création de paquets et je souhaiterais connaître comment ne plus avoir ces warnings, soit en les désactivant, soit en faisant une base de symbôles dont je n’ai aucune idée de comment cela fonctionne.

Merci de votre éclairage,
Dest.

J’ai trouvé et je me réponds à moi-même dans le cas où cela pourrait servir à quelqu’un.

Quand on fait un objdump -p /usr/lib/libcrypto.so, on voit bien qu’il manque la partie “Version definitions” si on compare avec un OpenSSL installé depuis les dépôts.

La solution pour moi à consister à faire un apt-get source openssl pour récupérer le paquet du mainteneur. Dans le dossier OpenSSL se situe le fichier openssl.ld, c’est lui qui nous permet d’avoir les définitions, vous le mettez à la racine du dossier OpenSSL.
Puis vous faites un “grep -irn openssl.ld *” qui va aller scanner dans les sources (du mainteneur) où se situe les occurences et vous devriez tomber sur le Configure et le Makefile.

Dans vos sources à vous, vous modifiez et ça roule.

A+