# [revdep-rebuild] no version information available(résolu)

## gglaboussole

Bonjour,

J'ai un chroot 32 bits sur ma gentoo ~amd64 qui me sert à construire des binaires pour mon eeepc...

L'autre jour en jouant avec symlinks, lancé en root, à l'arrache, et sans lire la doc   :Embarassed:   (honte à moi) pour corriger un problème de prelink sur le système "hôte" j'ai explosé tous les liens symboliques de mon chroot...

(heureusement ça n'a pas perturbé le système "hôte" que j'ai quand même recompilé par mesure de précaution)

Avec beaucoup de patience j'ai pu tout reconstruire en partant d'un binaire de gcc (car je pouvait plus rien compiler, les liens de gcc était cassés..) emerge -e system  2 fois sur mon chroot suivi d'un emerge e world et voilà tout remis en ordre... enfin presque !

voilà ce que me donne en permanence revdep-rebuild :

```

laboussole / # revdep-rebuild -ipv

 * Configuring search environment for revdep-rebuild

 * Temporary cache files are located in /var/cache/revdep-rebuild

 * Environment mismatch from previous run, deleting temporary files...

revdep-rebuild environment:

SEARCH_DIRS="/bin

/lib

/libexec

/opt/bin

/sbin

/usr/bin

/usr/games/bin

/usr/games/lib

/usr/i686-pc-linux-gnu/gcc-bin/4.4.3

/usr/i686-pc-linux-gnu/lib

/usr/lib

/usr/lib/gcc/i686-pc-linux-gnu/4.4.3

/usr/lib/opengl/xorg-x11/lib

/usr/lib/qt4

/usr/lib/xulrunner-1.9.2

/usr/libexec

/usr/local/lib

/usr/sbin"

SEARCH_DIRS_MASK="/lib/modules

/opt/icedtea6-bin-1.7.2

/opt/sun-jdk-1.6.0.20

/opt/sun-jre-bin-1.6.0.20

/usr/lib/real

/usr/lib/win32"

LD_LIBRARY_MASK="libjava.so

libjawt.so

libjvm.so

libodbc.so

libodbcinst.so"

PORTAGE_ROOT="/"

EMERGE_OPTIONS=""

ORDER_PKGS="1"

FULL_LD_PATH="1"

 * Checking reverse dependencies

 * Packages containing binaries and libraries broken by a package update

 * will be emerged.

 * Collecting system binaries and libraries

 * Generated new 1_files.rr

 * Collecting complete LD_LIBRARY_PATH

 * Generated new 2_ldpath.rr

 * Checking dynamic linking consistency

[ 100% ]                 

 *   broken /usr/lib/libxml2.so.2 (no version information available)

 *   broken //usr/lib/libxml2.so.2 (no version information available)

 *   broken /usr//lib/libxml2.so.2 (no version information available)

 *   broken /usr/lib/perl5/5.10.1/i686-linux/auto/Compress/Raw/Zlib/Zlib.so (no version information available)

 *   broken /usr/lib/perl5/vendor_perl/5.10.1/i686-linux/auto/Compress/Raw/Zlib/Zlib.so (no version information available)

 * Generated new 3_broken.rr

 * Assigning files to packages

 *   //usr/lib/libxml2.so.2 -> dev-libs/libxml2

 *   /usr//lib/libxml2.so.2 -> dev-libs/libxml2

 *   /usr/lib/libxml2.so.2 -> dev-libs/libxml2

 *   /usr/lib/perl5/5.10.1/i686-linux/auto/Compress/Raw/Zlib/Zlib.so -> dev-lang/perl

 *   /usr/lib/perl5/vendor_perl/5.10.1/i686-linux/auto/Compress/Raw/Zlib/Zlib.so -> perl-core/Compress-Raw-Zlib

 * Generated new 4_raw.rr and 4_owners.rr

 * Cleaning list of packages to rebuild

 * Generated new 4_pkgs.rr

 * Assigning packages to ebuilds

 * Generated new 4_ebuilds.rr

 * Evaluating package order

 * Generated new 5_order.rr

 * All prepared. Starting rebuild

emerge --oneshot --with-bdeps=y --pretend --verbose dev-lang/perl:0

dev-libs/libxml2:2

perl-core/Compress-Raw-Zlib:0

These are the packages that would be merged, in order:

Calculating dependencies          ... done!

[ebuild   R   ] dev-lang/perl-5.10.1  USE="berkdb gdbm -build -debug -doc -ithreads" 0 kB

[ebuild   R   ] dev-libs/libxml2-2.7.7  USE="python readline -debug -doc -examples -ipv6 -test" 0 kB

[ebuild   R   ] perl-core/Compress-Raw-Zlib-2.026  0 kB

Total: 3 packages (3 reinstalls), Size of downloads: 0 kB

 * Now you can remove -p (or --pretend) from arguments and re-run revdep-rebuild.

```

Après maintes  et vaines recompilations des paquets incriminés, de leur dépendances, une désinstallation de gentoolkit suivi d'un rm -rf /var/cache/revdep-rebuild et une réinstallation ... je m'en viens à vous pour un ptit peu d'aide

Que signifient ces  no version information available ? qui arrivent après les 100%

Pourquoi revdep-rebuild lancé sur mon eeepc ne me sort, lui aucune erreur de ce type alors qu'il est censé être l'image parfaite de mon chroot ?? 

(bon d'accord je lui ai pas mis un coup de symlinks à lui  :Laughing:  )

Merci d'avance

EDIT:Je crois que je devrai installer un ethylomètre qui m'interdit de passer root if tx d'alcool > 0,5

----------

## gglaboussole

Me permets un pt'it up n'ayant toujours pas trouvé la réponse à ce mystérieux problème...

----------

## xaviermiller

Et en mettant les pendules l'heure via un cht'it 

```
revdep-rebuild -i
```

 :Question: 

----------

## gglaboussole

regardes bien la commande que j'ai tapé..... -ipv donc ça vient pas de là, snif

----------

## boozo

'alute

si on en prend une bibliothèque au pif i.e. libxml2, est-ce que tu as bien çà chez toi :

```
 -rw-r--r-- 1 root root 1258238 13 avril 19:01 /usr/lib/libxml2.a

-rw-r--r-- 1 root root     926 13 avril 19:01 /usr/lib/libxml2.la

lrwxrwxrwx 1 root root      16 13 avril 19:02 /usr/lib/libxml2.so -> libxml2.so.2.7.6

lrwxrwxrwx 1 root root      16 13 avril 19:02 /usr/lib/libxml2.so.2 -> libxml2.so.2.7.6

-rwxr-xr-x 1 root root 1008028 13 avril 19:01 /usr/lib/libxml2.so.2.7.6

```

----------

## gglaboussole

A part la version qui diffère oui :

```

-rw-r--r-- 1 root root 1473578  3 mai   22:15 /usr/lib/libxml2.a

-rw-r--r-- 1 root root     927  3 mai   22:15 /usr/lib/libxml2.la

lrwxrwxrwx 1 root root      16  3 mai   22:15 /usr/lib/libxml2.so -> libxml2.so.2.7.7

lrwxrwxrwx 1 root root      16  3 mai   22:15 /usr/lib/libxml2.so.2 -> libxml2.so.2.7.7

-rwxr-xr-x 1 root root 1221200  3 mai   22:15 /usr/lib/libxml2.so.2.7.7

```

pareil sur l'eeepc, mais pas de problème de revdep-rebuild chez lui... je sais pas ce que j'ai foutu avec mes liens symboliques ni pourquoi une reconstruction complète n'y fait rien....

----------

## boozo

Et un si on compare un ldd dessus pour voir (modulo la version ^^) :

```
        linux-gate.so.1 =>  (0x4001e000)

        libdl.so.2 => /lib/libdl.so.2 (0x40132000)

        libz.so.1 => /lib/libz.so.1 (0x40136000)

        libm.so.6 => /lib/libm.so.6 (0x40150000)

        libc.so.6 => /lib/libc.so.6 (0x40176000)

        /lib/ld-linux.so.2 (0x40000000)

```

Edit: Il n'y aurait pas un problème avec le path pour la $SEARCH_DIR_MASK ou $LD_SEARCH_MARK dans les fichiers de conf de revdep-rebuild ? i.e. il chercherait dans /usr/lib/* au lieu de /usr/lib32/* du fait que c'est un chroot 32bit ou un truc dans ce goût-là   :Sad: 

j'ai pas vraiment l'impression d'après ta sortie verbeuse du dessus mais bon si jamais l'idée éveille qqch à qq'un

----------

## gglaboussole

Merci boozo de te pencher sur mon problème...

Alors ldd me sort :

```

laboussole / # ldd /usr/lib/libxml2.so.2

   linux-gate.so.1 =>  (0xf77a0000)

   libdl.so.2 => /lib/libdl.so.2 (0xf7654000)

   libz.so.1 => /lib/libz.so.1 (0xf763e000)

   libm.so.6 => /lib/libm.so.6 (0xf7618000)

   libc.so.6 => /lib/libc.so.6 (0xf74d3000)

   /lib/ld-linux.so.2 (0xf77a1000)

```

même chose sur l' eepc, a part les adresses mémoire différentes bien sûr , quant à mes fichiers de conf de revdep-rebuild, identiques sur la machine "mère" et "fille"

```

LD_LIBRARY_MASK="libodbcinst.so libodbc.so libjava.so libjvm.so"

SEARCH_DIRS="/bin /sbin /usr/bin /usr/sbin /lib* /usr/lib*"

```

----------

## netfab

Jette un oeil à ce bug.

En résumé, des entêtes présents dans /usr/local qui font que lorsque les paquets sont compilés, cela produit des binaires qui sont détectés comme broken par revdep-rebuild.

Donc il faudrait vérifier les répertoires d'inclusion utilisés lors des compilations.

----------

## gglaboussole

Très intéressant ça...merci   :Smile: 

Je jette un oeil à tout ça demain et je vous tiens courant...

----------

## gglaboussole

Ben en fait ça ne m'a pas aidé....y a rien de bien spécial dans mon /usr/local...

----------

## gglaboussole

Bon je viens de régler ce problème insoluble....  :Very Happy: 

J'avais 2 "morceaux" de zlib en double qui était à la fois dans /usr/lib et /lib 

un petit rm /usr/lib/libz.so.* et ça roule...

----------

