[Toulibre] rpmbuild et dépendances, ou pourquoi y'a t-il une différence entre l'install par rpm et par compilation ?
HAMMER Cédric Ext ROSI/DPS
chammer.ext at orange-ftgroup.com
Ven 5 Oct 13:50:43 CEST 2007
Hello Eric,
Voici donc le message que j'avais envoyé et qui n'est pas passé (en espérant que ce ne soit pas trop gros cette fois) ;).
Merci pour toutes ces explications (et le temps que tu as passé à les écrire ...), ça aide beaucoup à comprendre comment fonctionne rpmbuild ;).
J'ai donc quelques manips et investigations dont voici le résumé et résultats:
- A mon grand regret (c'aurait été simple), je n'ai pas de .rpmrc dans mon home directory:
# ls -al .*rc
-rw-r--r-- 1 root root 383 May 21 09:27 .bashrc
-rw-r----- 1 root root 238 Aug 29 2005 .cshrc
-rwx--x--- 1 root root 119 Feb 27 2006 .fetchmailrc
-rw-r--r-- 1 root root 120 Jul 25 2005 .gtkrc
-r-x------ 1 root root 0 Aug 29 2005 .kshrc
-rw------- 1 root root 31 Jun 13 2006 .mcoprc
-rw-r--r-- 1 root root 224 Aug 29 2005 .tcshrc
- j'ai regardé les fichiers rpmrc du répertoire /usr/lib/rpm, et j'ai effectivement les même que toi (rpmrc, macro, etc.) ; je retrouve donc bien ce dont tu me parlais, mais je n'ai pas pu déceler de ligne notifiant un glibc 2.3.4 (peut-être n'ai-je pas cherché au bon endroit tu me diras, où la bonne entrée ! J'ai tenté de cherché des lignes avec les mots libc ou glibc mais rien de significatif n'en est ressorti).
- concernant les logs de construction du rpm, tu trouveras tout en pièces jointes (j'ai fait un rpmbuild -bt file.rpm >> fichier.log, mais tout n'est pas parti sur cette sorti, j'ai eu quelques affichages à l'écran que j'ai mis dans rpmbuild-proftpd_stdout.log).
A ce sujet, je vois bien les lignes:
Requires: /bin/sh /sbin/chkconfig /usr/bin/perl config(proftpd) = 1.3.1rc3-1 libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_ 2.2) libc.so.6(GLIBC_2.2.3) libc.so.6(GLIBC_2.3) libc.so.6(GLIBC_2.3.4) libcrypt.so.1 libcrypt.so.1(GLIBC_2.0) libncurses.so.5 libpam.so.0 pam >= 0.72 perl(getopts.pl)
qui indiquent bien que GLIBC 2.3.4 va être requis, mais qu'est-ce qui l'induit ??
D'ailleurs ces prérequis sont confirmés par la commande que tu m'as donnée:
# rpm --requires -qp ced/tf11/proftpd-1.3.1rc3/proftpd-1.3.1-patched-1.i386.rpm
/bin/sh
libbfd-2.14.90.0.4.so
libc.so.6
libc.so.6(GLIBC_2.0)
libc.so.6(GLIBC_2.1)
libc.so.6(GLIBC_2.2)
libc.so.6(GLIBC_2.2.3)
libc.so.6(GLIBC_2.3)
libc.so.6(GLIBC_2.3.4)
libcrypt.so.1
libcrypt.so.1(GLIBC_2.0)
libdl.so.2
libdl.so.2(GLIBC_2.0)
libdl.so.2(GLIBC_2.1)
libncurses.so.5
libpam.so.0
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Et au passage, ce que ça fournit (après reconstruction):
# rpm --provides -qp /usr/src/redhat/RPMS/i386/proftpd-1.3.1-patched-1.i386.rpm
proftpd-1.3.1
proftpd-1.3.1 = patched-1
- Par la suite, tes messages m'ont remémoré quelque chose: il y a peu, nous avions tenté sur le même serveur, de mettre à jour glibc (sûrement en 2.3.4, mais je ne m'en souviens pas). Cette tentative a avorté, l'opération étant très "touchy". Bref, toujours est-il que la 2.3.2 est toujours installée, et la 2.3.4 non, mais que lors de la tentative d'install, il y a surement des entrées qui ont été insérées dans certains fichiers, faisant références à cette version de glibc ; entrées qui n'ont donc pas été supprimées par la suite. Les preuves que le problème est bien là:
# rpm -qa |grep glibc
glibc-common-2.3.2-95.50
glibc-kernheaders-2.4-8.34.5
glibc-devel-2.3.2-95.50
glibc-2.3.2-95.50
glibc-utils-2.3.2-95.50
glibc-headers-2.3.2-95.50
glibc-profile-2.3.2-95.50
=> pas de 2.3.4 mais j'ai finalement tenté de recréer le rpm sur un autre serveur (identique en termes de système), et là ça fonctionne nickel (ie pas de dépendance à glibc 2.3.4) !
Au final, mon problème est quasi résolu grâce à toi, car j'ai réussi à construire le rpm, mais maintenant j'aimerai bien savoir comment "nettoyer" le premier de ses références à glibc_2.3.4 pour les prochaines constructions de rpm ... Tu as une idée d'où pourrai(en)t se trouver cette(ces) entrée(s) ??
Merci en tout cas pour tout (et pour mon roman aussi :=) ) Cdt,
Ced
*********************************
This message and any attachments (the "message") are confidential and intended solely for the addressees.
Any unauthorised use or dissemination is prohibited.
Messages are susceptible to alteration.
France Telecom Group shall not be liable for the message if altered, changed or falsified.
If you are not the intended addressee of this message, please cancel it immediately and inform the sender.
********************************
-------------- section suivante --------------
Une pièce jointe autre que texte a été nettoyée...
Nom: rpmbuild-proftpd-log.tar.gz
Type: application/x-gzip
Taille: 2729 octets
Desc: rpmbuild-proftpd-log.tar.gz
URL: <http://toulibre.org/pipermail/toulouse-ll/attachments/20071005/a9178d66/attachment.bin>
Plus d'informations sur la liste de diffusion Toulouse-ll