# [Emerge] Dépendance ACL manquante (Résolu)

## versus8

Bonsoir à tous,

voilà, j'ai voulu faire un peu de ménage sur ma Gentoo, mais le "un peu" ici s'est avéré plutôt embêtant !

En effet, maintenant je ne peux plus rien emerger !

Voici ce que j'ai cru bon supprimer car je ne m'en servait pas (il n'y a pas eu d'avertissment quelconque)

```
emerge -C app-crypt/mit-krb5

emerge -C app-text/gocr

emerge -C gnome-base/gconf

emerge -C gnome-base/gnome-common

emerge -C app-pda/jpilot

emerge -C app-pda/pilot-link

emerge -C media-gfx/dcraw

emerge -C net-fs/fusesmb

emerge -C net-libs/openslp

emerge -C net-nds/openldap

emerge -C sys-apps/acl

```

Il y en a eu d'autres, tels que tous ce qui étaient liés aux imprimantes et réseaux (cups, samba, mount-cifs), quelques paquets en  rapport avec gnome (car j'utilise XFCE-4).

Mais les paquets que je n'aurais jamais dù supprimer étaient apparement app-crypt/mit-krb5 et sys-apps/acl car emerge ne fonctionne plus sans :

```

sed: error while loading shared libraries: libacl.so.1: cannot open shared object file: No such file or directory

sed: error while loading shared libraries: libacl.so.1: cannot open shared object file: No such file or directory

sed: error while loading shared libraries: libacl.so.1: cannot open shared object file: No such file or directory

sed: error while loading shared libraries: libacl.so.1: cannot open shared object file: No such file or directory

mv: error while loading shared libraries: libacl.so.1: cannot open shared object file: No such file or directory

```

Les scripts "init" rapportent également des erreurs qui ont l'air d'être liées avec cette librairie :

```
-:0: assertion failed: system(mv /var/lib/init.d/treecache.N1ey0eh /var/lib/init.d/deptree)

* Failed to cache service dependencies

*Error running '/sbin/depscan.sh' !

(none) ~ #

```

ACL dépend de kerberos, et vice-versa. Bref, impossible de réinstaller ces paquets! meme un revdep-rebuild échoue (il trouve cependant beaucoup de paquets "broken" mais irréparable).

Normalement, je n'utilise pas d'extensions ACL pour reiserfs ou ext2, ni kerberos dans les fonctions réseau du noyau (de toute façon, je n'utilise plus samba ou cifs).

J'utilise un noyau 2.6.28-tuxonice avec Genkernel, que devrais-je faire pour de nouveau pouvoir utiliser emerge ?

Dois-je vraiment tout réinstaller en risquant de tout perdre ?

Merci par avance si vous avez des conseils avisés qui pourraient m'aider.Last edited by versus8 on Wed Apr 14, 2010 4:22 pm; edited 1 time in total

----------

## Kazuya

Hello,

mit-krb5, je ne pense pas que ce soit un paquet important au bon fonctionnement de gentoo (dans la mesure ou chez moi il n'est pas installé et que ma gentoo ~amd64 fonctionne bien comme ça) 

Mais en effet, acl, c'est le paquet important (d'ailleur c'est sys-apps/acl --> sys, pour "system" je pense...) 

Peut-être que qu'en réinstallant un paquet cela peut marcher ? (par paquet j'entends un paquet (avec emerge -k nom_du_paquet) et pas un ebuild...) 

 *Quote:*   

> 
> 
>  --usepkg[=n] (-k)
> 
>               Tells  emerge  to  use  binary packages (from $PKGDIR) if they are available, thus possibly avoiding some
> ...

 

Et si vraiment emerge ne veut rien savoir, alors replacer les fichiers manuellement... 

Mais pour qu'un gentooiste puisse te donner le package en question il faudrait que tu nous dises ton architecture et si tu es en stable ou tildarché (pour la version d'acl)

Ah moins que tu as le dvd d'installation de gentoo, peut-être que le paquet acl est disponible dessus (ça je ne sais pas par contre...)

----------

## Fenril

Je vais peut-être dire une bêtise mais je crois que gconf (ainsi que gnome-common) est nécessaire même si t'es sous Xfce, il y a une dépendance je sais plus où. Je le sais car j'avais fait aussi la chasse des paquets non désiré, et j'avais vu que c'était un paquet lié à gnome, mais que je n'arrivais pas à supprimer, j'avais vérifié avant moi  :Razz: 

Taquinerie à part, ce sont les joies des expérimentations sous un système tel que Gentoo, on est à peu près tous passé par là. Courage  :Wink: 

----------

## mrpouet

gconf: mauvais idée de le supprimer, car même si t'es sous xfce, et que tu uses certains applications gnome, ces applications vont avoir besoin du shared object de gconf-client... le risque c'est que çà ne marche pas au chargement parce que ld ne trouve pas les libs.

bon et puis pour acl, pour faire simple, lorsqu'un qu'il s'agit d'un paquet maintenu par la herd base-system soit trés prudent (soit le de manière général même, et renseigne toi avant de supprimer quelque chose aussi   :Wink:  )

En ce qui concerne, la récup d'acl, c'est pas compliqué jettes un oeuil ici : http://tinderbox.x86.dev.gentoo.org/default-linux/x86/sys-apps/

c'est une archive binaire, normalement tu as plus qu'a mettre çà dans /usr/portage/packages (quelque chose comme çà) et çà devrait rouler.

tiens nous au jus  :Wink: 

----------

## Trapamoosch

On peut peut-être rappeler la meilleure solution pour faire le ménage sur sa Gentoo : éditer le fichier /var/lib/portage/world, supprimer les lignes dont on est sûr qu'on n'en veut plus, puis faire un emerge --depclean suivi d'un revdep-rebuild.

----------

## versus8

Merci pour tous vos précieux conseils, je vais retrousser mes manches et vous tiendrez au courant  :Wink: 

Alors à très bientôt !

----------

## versus8

J'ai crée un répertoire /usr/portage/packages, puis téléchargé l'archive de la version amd64, ai rajouté dans /etc/makeconf :

PKGDIR="/usr/portage/packages"

Puis :

```
emerge -k acl
```

Mais emerge veut absolument le fetcher par le réseau...

Je ne comprend pas ce qu'il faut faire.

----------

## Trapamoosch

Il faut mettre l'archive tbz2 dans /usr/portage/packages/sys-apps/

Extrait du man :

```
PKGDIR = [path]

              Defines the location where created .tbz2 binary packages will be stored when the emerge(1) --buildpkg option is enabled.  By default, a given package is stored in a  subdi‐

              rectory  corresponding  to  it's category.
```

----------

## versus8

Bonjour, 

et merci, car on progresse puisque je peux maintenant fetcher sans passer par le réseau. J'ai donc téléchargé ce que j'avais supprimer dans packages.

Cependant, j'ai toujours une erreur sed spécifiant que libacl.so.1 est introuvable.

Faudrait-il donc que je puisse récupérer cette librairie partagée ?

J'ai trouvé dev-python/pylibacl, mais l'installation ne semble pas fonctionner sans libacl.so.1.

Je tenterai de rechercher cette librairie sur le DVD-ROM de l'installation et, si je la trouve, est-ce que vous savez où faudrait la placer dans le système ?

----------

## Mickael

Salut,

regarde le dernier post de ce lien : 

https://forums.gentoo.org/viewtopic-t-666392-highlight-libacl.html

avec busibox, tu vas pouvoir corriger ce problème  :Smile: 

Have fun!

EDIT pour info : 

 *Quote:*   

> locate libacl
> 
> /lib/libacl.so.1
> 
> /lib/libacl.so.1.1.0
> ...

 

pour que tu puisses faire les liens symboliques ou autres au bon endroit.

----------

## versus8

Merci Mickael !!!

Je vais peut-être voir la lumière au bout du tunnel !

Je vous tiens au courant  :Wink: 

----------

## Mickael

Alors!!! c'est réparé !   :Exclamation: 

----------

## versus8

Malheureusement non, je cherche, je cherche ...

----------

## versus8

Bon, j'ai décompressé l'archive tarball dans "/" avec busybox, puis rebooté.

Apparemment, ça à l'air bon (je n'ai pas eu à faire de lien symbolique ni une quelconque modification des droits).

Je suis en train de tout réparer.

On verra bien  :Wink: 

----------

## nexus6

Un grand merci à vous tous, et pour Mickael pour m'avoir lancé sur la bonne piste.

En fin de compte, il y avait plus de peurs de que de mal  :Wink: 

Edit : je ne peux pas éditer le titre du post en [Résolu]

----------

## ghoti

 *nexus6 wrote:*   

> Edit : je ne peux pas éditer le titre du post en [Résolu]

 

Normal : hormis les modos, seul l'auteur du topic peut modifier le titre.

Aurais-tu deux pseudos ?  :Wink: 

----------

## versus8

Héhéhé...

Quel noob je fais :p

Et oui, j'avais oublié que j'avais deux pseudos. Va falloir que j'en vire un.

----------

