# [RISOLTO] Problema revdep-rebuild loop infinito

## stifler83

Salve il problema che si presenta è molto strano. Praticamente lanciando revdep-rebuild ottengo questo:

```
revdep-rebuild 

 * Configuring search environment for revdep-rebuild

 * 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

[ 4% ]  *   broken /lib64/security/pam_smbpass.so (requires libtalloc.so.2)

[ 11% ]  *   broken /usr/bin/eventlogadm (requires libtalloc.so.2)

[ 19% ]  *   broken /usr/bin/net (requires libtalloc.so.2)

 *   broken /usr/bin/nmblookup (requires libtalloc.so.2)

 *   broken /usr/bin/ntlm_auth (requires libtalloc.so.2)

[ 20% ]  *   broken /usr/bin/pdbedit (requires libtalloc.so.2)

[ 21% ]  *   broken /usr/bin/profiles (requires libtalloc.so.2)

[ 22% ]  *   broken /usr/bin/rpcclient (requires libtalloc.so.2)

[ 24% ]  *   broken /usr/bin/sharesec (requires libtalloc.so.2)

 *   broken /usr/bin/smbcacls (requires libtalloc.so.2)

 *   broken /usr/bin/smbclient (requires libtalloc.so.2)

 *   broken /usr/bin/smbcontrol (requires libtalloc.so.2)

 *   broken /usr/bin/smbcquotas (requires libtalloc.so.2)

 *   broken /usr/bin/smbget (requires libtalloc.so.2)

 *   broken /usr/bin/smbpasswd (requires libtalloc.so.2)

 *   broken /usr/bin/smbspool (requires libtalloc.so.2)

 *   broken /usr/bin/smbstatus (requires libtalloc.so.2)

 *   broken /usr/bin/smbtree (requires libtalloc.so.2)

[ 25% ]  *   broken /usr/bin/testparm (requires libtalloc.so.2)

[ 71% ]  *   broken /usr/lib64/libnetapi.so.0 (requires libtalloc.so.2)

[ 73% ]  *   broken /usr/lib64/libsmbclient.so.0 (requires libtalloc.so.2)

[ 98% ]  *   broken /usr/sbin/nmbd (requires libtalloc.so.2)

[ 99% ]  *   broken /usr/sbin/smbd (requires libtalloc.so.2)

[ 100% ]                 

 * Generated new 3_broken.rr

 * Assigning files to packages

 *   /lib64/security/pam_smbpass.so -> net-fs/samba

 *   /usr/bin/eventlogadm -> net-fs/samba

 *   /usr/bin/net -> net-fs/samba

 *   /usr/bin/nmblookup -> net-fs/samba

 *   /usr/bin/ntlm_auth -> net-fs/samba

 *   /usr/bin/pdbedit -> net-fs/samba

 *   /usr/bin/profiles -> net-fs/samba

 *   /usr/bin/rpcclient -> net-fs/samba

 *   /usr/bin/sharesec -> net-fs/samba

 *   /usr/bin/smbcacls -> net-fs/samba

 *   /usr/bin/smbclient -> net-fs/samba

 *   /usr/bin/smbcontrol -> net-fs/samba

 *   /usr/bin/smbcquotas -> net-fs/samba

 *   /usr/bin/smbget -> net-fs/samba

 *   /usr/bin/smbpasswd -> net-fs/samba

 *   /usr/bin/smbspool -> net-fs/samba

 *   /usr/bin/smbstatus -> net-fs/samba

 *   /usr/bin/smbtree -> net-fs/samba

 *   /usr/bin/testparm -> net-fs/samba

 *   /usr/lib64/libnetapi.so.0 -> net-fs/samba

 *   /usr/lib64/libsmbclient.so.0 -> net-fs/samba

 *   /usr/sbin/nmbd -> net-fs/samba

 *   /usr/sbin/smbd -> net-fs/samba

 * 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 --complete-graph=y --oneshot --ask --verbose --quiet  net-fs/samba:0

..........

[ebuild   R   ] net-fs/samba-3.5.11  USE="acl aio client cups fam ldap netapi pam readline server smbclient -addns -ads -avahi -caps -cluster -debug -doc -examples -ldb -quota -smbsharemodes -smbtav2 -swat -syslog -winbind"                                                                                                                                                                 

Would you like to merge these packages? [Yes/No]
```

Ora procedo con la ricompilazione del pacchetto.

```
>>> Verifying ebuild manifests

>>> Emerging (1 of 1) net-fs/samba-3.5.11

>>> Installing (1 of 1) net-fs/samba-3.5.11

>>> Jobs: 1 of 1 complete                           Load avg: 2.59, 1.35, 0.57

 * Messages for package net-fs/samba-3.5.11:

 * The default value of 'wide links' has been changed to 'no' in samba 3.5

 * to avoid an insecure default configuration

 * ('wide links = yes' and 'unix extensions = yes'). For more details,

 * please see http://www.samba.org/samba/news/symlink_attack.html .

 * 

 * An EXPERIMENTAL implementation of the SMB2 protocol has been added.

 * SMB2 can be enabled by setting 'max protocol = smb2'. SMB2 is a new 

 * implementation of the SMB protocol used by Windows Vista and higher

 * 

 * For further information make sure to read the release notes at

 * http://samba.org/samba/history/samba-3.5.11.html and 

 * http://samba.org/samba/history/samba-3.5.0.html

 * Build finished correctly. Removing temporary files...

 * You can re-run revdep-rebuild to verify that all libraries and binaries

 * are fixed. Possible reasons for remaining inconsistencies include:

 *   orphaned files

 *   deep dependencies

 *   packages installed outside of portage's control

 *   specially-evaluated libraries

```

se lancio ora di nuovo revdep-rebuild ottengo di nuovo:

```
* Configuring search environment for revdep-rebuild

 * 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

[ 4% ]  *   broken /lib64/security/pam_smbpass.so (requires libtalloc.so.2)

[ 11% ]  *   broken /usr/bin/eventlogadm (requires libtalloc.so.2)

[ 19% ]  *   broken /usr/bin/net (requires libtalloc.so.2)

 *   broken /usr/bin/nmblookup (requires libtalloc.so.2)

 *   broken /usr/bin/ntlm_auth (requires libtalloc.so.2)

[ 20% ]  *   broken /usr/bin/pdbedit (requires libtalloc.so.2)

[ 21% ]  *   broken /usr/bin/profiles (requires libtalloc.so.2)

[ 22% ]  *   broken /usr/bin/rpcclient (requires libtalloc.so.2)

[ 24% ]  *   broken /usr/bin/sharesec (requires libtalloc.so.2)

 *   broken /usr/bin/smbcacls (requires libtalloc.so.2)

 *   broken /usr/bin/smbclient (requires libtalloc.so.2)

 *   broken /usr/bin/smbcontrol (requires libtalloc.so.2)

 *   broken /usr/bin/smbcquotas (requires libtalloc.so.2)

 *   broken /usr/bin/smbget (requires libtalloc.so.2)

 *   broken /usr/bin/smbpasswd (requires libtalloc.so.2)

 *   broken /usr/bin/smbspool (requires libtalloc.so.2)

 *   broken /usr/bin/smbstatus (requires libtalloc.so.2)

 *   broken /usr/bin/smbtree (requires libtalloc.so.2)

[ 25% ]  *   broken /usr/bin/testparm (requires libtalloc.so.2)

[ 71% ]  *   broken /usr/lib64/libnetapi.so.0 (requires libtalloc.so.2)

[ 73% ]  *   broken /usr/lib64/libsmbclient.so.0 (requires libtalloc.so.2)

[ 98% ]  *   broken /usr/sbin/nmbd (requires libtalloc.so.2)

[ 99% ]  *   broken /usr/sbin/smbd (requires libtalloc.so.2)

[ 100% ]                 

 * Generated new 3_broken.rr

 * Assigning files to packages

 *   /lib64/security/pam_smbpass.so -> net-fs/samba

 *   /usr/bin/eventlogadm -> net-fs/samba

 *   /usr/bin/net -> net-fs/samba

 *   /usr/bin/nmblookup -> net-fs/samba

 *   /usr/bin/ntlm_auth -> net-fs/samba

 *   /usr/bin/pdbedit -> net-fs/samba

 *   /usr/bin/profiles -> net-fs/samba

 *   /usr/bin/rpcclient -> net-fs/samba

 *   /usr/bin/sharesec -> net-fs/samba

 *   /usr/bin/smbcacls -> net-fs/samba

 *   /usr/bin/smbclient -> net-fs/samba

 *   /usr/bin/smbcontrol -> net-fs/samba

 *   /usr/bin/smbcquotas -> net-fs/samba

 *   /usr/bin/smbget -> net-fs/samba

 *   /usr/bin/smbpasswd -> net-fs/samba

 *   /usr/bin/smbspool -> net-fs/samba

 *   /usr/bin/smbstatus -> net-fs/samba

 *   /usr/bin/smbtree -> net-fs/samba

 *   /usr/bin/testparm -> net-fs/samba

 *   /usr/lib64/libnetapi.so.0 -> net-fs/samba

 *   /usr/lib64/libsmbclient.so.0 -> net-fs/samba

 *   /usr/sbin/nmbd -> net-fs/samba

 *   /usr/sbin/smbd -> net-fs/samba

 * 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 --complete-graph=y --oneshot --ask --verbose --quiet  net-fs/samba:0

..........

[ebuild   R   ] net-fs/samba-3.5.11  USE="acl aio client cups fam ldap netapi pam readline server smbclient -addns -ads -avahi -caps -cluster -debug -doc -examples -ldb -quota -smbsharemodes -smbtav2 -swat -syslog -winbind"                                                                                                                                                                 

Would you like to merge these packages? [Yes/No]
```

idee su come uscire da questo loop e fixare il problema?   :Cool: Last edited by stifler83 on Wed Sep 14, 2011 11:46 am; edited 2 times in total

----------

## Cazzantonio

1) guarda se in /var/cache/revdep-rebuild/ sono rimasti dei file vecchi che non sono stati cancellati una volta finito il processo

2) cerca di reinstallare con emerge -1 qualche programma a cui appartengono i programmi broken (equery belongs nomefile per scoprire di quale ebuild si tratti)

----------

## djinnZ

emerge -1 talloc

emerge -1 emul-linux-x86-baselibs

revdep-rebuild -i

sicuro che non sei passato da multilib a 64 puro o viceversa (o ti sei perso la use multilib, o la hai aggiunta per errore etc.)?

rilanciare eselect profile e gcc-config potrebbe essere d'aiuto.

controlla con emerge --depclean -p se vuole rimuovere qualcosa (nel caso fai pulizia) e parti da u sistema completamente aggiornato (se un pacchetto non è in world e non è una dipendenza emerge -DNu @world non lo considera ma non aggiungere a world librerie).

forse anche la use compat potrebbe essere d'aiuto.

controlla se per caso /usr/lib*/libtalloc.so & C sono dei symlink e puntano correttamente a libtalloc.so.x.x.x

questo è quello che mi viene a mente.

----------

## stifler83

Soluzione perfetta, vi ringrazio. 

Ho lanciato emerge -1 talloc emul-linux-x86-baselibs && revdep-rebuild e si è sistemato.

Grazie ancora  :Very Happy: 

----------

## djinnZ

tanto per nota: revdep-rebuild -i per cancellare i file temporanei ed i due emerge erano separati

controlla use e dipendenze non è normale quello che è successo.

----------

## stifler83

si scusa ho riportato male ieri, ho lanciato emerge -1 talloc emul-linux-x86-baselibs && revdep-rebuild -i

Ho controllato ma non riesco a trovare nulla di strano. Grazia a tutti comunque

----------

## djinnZ

Raccomandazione generale (ovvero se qualcuno becca simili problemi e legge questo thread) devi verificare se non sono rimasti link simbolici sballati o se non è saltata qualche use prima dell'emerge -1 . Nel caso specifico (pacchetti a 32 bit su sistema a 64) sono due gli emerge -1 (e verificare sempre i link tra i due emerge) perché è sempre possibile che ci sia una "collision" dei file tra i due pacchetti o che qualche link del pacchetto a 32 sia a qualcosa in /lib o /usr/lib (che puntano alle rispettive lib64) piuttosto che a /lib32 o /usr/lib32.

----------

