# [layman] Erreur de compilation (résolu)

## glegall

Bonjour à tous,

Petit problème quand je compile layman par la commande : emerge -uDNv world

layman me pète une erreur :S 

```

WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:

app-portage/layman:0

  (app-portage/layman-2.4.2-r1:0/0::gentoo, ebuild scheduled for merge) conflicts with

    app-portage/layman::gentoo required by @selected

                              

The following packages are causing rebuilds:

  (dev-lang/perl-5.24.1-r1:0/5.24::gentoo, ebuild scheduled for merge) causes rebuilds for:

    (dev-perl/Digest-HMAC-1.30.0-r1:0/0::gentoo, ebuild scheduled for merge)

    (perl-core/File-Temp-0.230.400-r1:0/0::gentoo, ebuild scheduled for merge)

    (dev-perl/IO-Socket-SSL-2.24.0:0/0::gentoo, ebuild scheduled for merge)

    (dev-perl/Module-Build-0.421.600:0/0::gentoo, ebuild scheduled for merge)

    (dev-perl/Text-WrapI18N-0.60.0-r1:0/0::gentoo, ebuild scheduled for merge)

    (dev-perl/Locale-gettext-1.50.0-r1:0/0::gentoo, ebuild scheduled for merge)

    (dev-perl/libintl-perl-1.240.0:0/0::gentoo, ebuild scheduled for merge)

    (dev-perl/Error-0.170.240:0/0::gentoo, ebuild scheduled for merge)

    (dev-perl/SGMLSpm-1.03-r7:0/0::gentoo, ebuild scheduled for merge)

    (dev-perl/Unicode-EastAsianWidth-1.330.0-r1:0/0::gentoo, ebuild scheduled for merge)

    (dev-perl/Net-SMTP-SSL-1.30.0:0/0::gentoo, ebuild scheduled for merge)

    (dev-perl/Text-CharWidth-0.40.0-r1:0/0::gentoo, ebuild scheduled for merge)

    (dev-perl/Authen-SASL-2.160.0-r1:0/0::gentoo, ebuild scheduled for merge)

```

Pouvez vous m'aider ?

Merci d'avance !!

----------

## xaviermiller

Bonjour,

As-tu eu une mise à jour de perl récemment ?

Fais d'abord un

```
perl-cleaner --all
```

 puis retente d'installer layman.

----------

## Silentd

Bonjour,

J'allais poser la même question. 

Essaie aussi de rajouter l'option --backtrack=30 dans ton emerge world.

----------

## glegall

Tout d'abord merci à vous de m'avoir répondu aussi rapidement.

Silentd, j'ai oublié de mettre dans ma commande mais j'ai mis un backtrack de 300 sinon j'ai plus d'erreur que ça :S

xaviermiller, une foi la commande perl-cleaner --all voici le résultat:

```

!!! Multiple package instances within a single package slot have been pulled

!!! into the dependency graph, resulting in a slot conflict:

dev-lang/perl:0

  (dev-lang/perl-5.24.1-r1:0/5.24::gentoo, ebuild scheduled for merge) pulled in by

    =dev-lang/perl-5.24* required by (virtual/perl-Getopt-Long-2.480.0-r1:0/0::gentoo, ebuild scheduled for merge)

    ^              ^^^^^                                                                                                                                                 

    (and 23 more with the same problem)

  (dev-lang/perl-5.20.2:0/5.20::gentoo, installed) pulled in by

    dev-lang/perl:0/5.20= required by (dev-perl/Net-SSLeay-1.720.0-r1:0/0::gentoo, installed)

                 ^^^^^^^^                                                                                                        

    (and 7 more with the same problem)

NOTE: Use the '--verbose-conflicts' option to display parents omitted above

It may be possible to solve this problem by using package.mask to

prevent one of those packages from being selected. However, it is also

possible that conflicting dependencies exist such that they are

impossible to satisfy simultaneously.  If such a conflict exists in

the dependencies of two different packages, then those packages can

not be installed simultaneously. You may want to try a larger value of

the --backtrack option, such as --backtrack=30, in order to see if

that will solve this conflict automatically.

For more information, see MASKED PACKAGES section in the emerge man

page or refer to the Gentoo Handbook.

 * Beginning a clean up of .ph files

 * Excluding files for 5.20.2 and 5.20.2/x86_64-linux from cleaning

 * Locating ph files for removal

 * Updating ph files.

 * Ignore all "No such file..." messages!

Can't open machine/ansi.h: Aucun fichier ou dossier de ce type

Can't open sys/_types.h: Aucun fichier ou dossier de ce type

Can't open gnu/stubs-x32.h: Aucun fichier ou dossier de ce type

Can't open gnu/stubs-x32.h: Aucun fichier ou dossier de ce type

Can't open gnu/stubs-x32.h: Aucun fichier ou dossier de ce type

Can't open gnu/stubs-x32.h: Aucun fichier ou dossier de ce type

 * Locating packages for an update

 * Locating ebuilds linked against libperl

 * No package needs to be reinstalled.

 * Finding left over modules and header

 * The following files remain. These were either installed by hand

 * or edited. This script cannot deal with them.

```

et j'ai réinstallé layman:

```

>>> Installing (1 of 1) app-portage/layman-2.4.2-r1::gentoo

 * Running layman-updater...

 *   Automatic db rename: db already updated: /var/lib/layman/installed.xml

 * 

>>> Recording app-portage/layman in "world" favorites file...

>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

 * Regenerating GNU info directory index...

 * Processed 115 info files.

!!! existing preserved libs:

>>> package: sys-libs/ncurses-6.0-r1

 *  - /usr/lib64/libform.so.5

 *  - /usr/lib64/libform.so.5.9

 *      used by /usr/bin/ccmake (dev-util/cmake-3.3.1-r1)

 *  - /lib64/libncurses.so.5

 *  - /lib64/libncurses.so.5.9

 *      used by /bin/bash (app-shells/bash-4.3_p42-r1)

 *      used by /lib64/libeinfo.so.1 (sys-apps/openrc-0.19.1)

 *      used by /lib64/libreadline.so.6.3 (sys-libs/readline-6.3_p8-r2)

 *      used by 6 other files

 *  - /lib64/libncursesw.so.5

 *  - /lib64/libncursesw.so.5.9

 *      used by /bin/more (sys-apps/util-linux-2.26.2)

 *      used by /bin/nano (app-editors/nano-2.4.3)

 *      used by /sbin/cfdisk (sys-apps/util-linux-2.26.2)

 *      used by 14 other files

 *  - /usr/lib64/libpanelw.so.5

 *  - /usr/lib64/libpanelw.so.5.9

 *      used by /usr/lib64/python2.5/lib-dynload/_curses_panel.so (dev-lang/python-2.5.4-r6)

 *      used by /usr/lib64/python2.7/lib-dynload/_curses_panel.so (dev-lang/python-2.7.10-r1)

 *      used by /usr/lib64/python3.4/lib-dynload/_curses_panel.cpython-34.so (dev-lang/python-3.4.3-r1)

Use emerge @preserved-rebuild to rebuild packages using these libraries

 * IMPORTANT: 2 config files in '/etc' need updating.

 * See the CONFIGURATION FILES and CONFIGURATION FILES UPDATE TOOLS

 * sections of the emerge man page to learn how to update config files.

```

[**EDIT**]

voici avec la commande emerge -u perl

```

# emerge -u perl

Calculating dependencies... done!

WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:

dev-lang/perl:0

  (dev-lang/perl-5.24.1-r1:0/5.24::gentoo, ebuild scheduled for merge) conflicts with

    =dev-lang/perl-5.20* required by (virtual/perl-Test-Harness-3.330.0:0/0::gentoo, installed)

    ^              ^^^^^

    dev-lang/perl:0/5.20=[-build(-)] required by (dev-perl/Authen-SASL-2.160.0-r1:0/0::gentoo, installed)

                 ^^^^^^^^           

    =dev-lang/perl-5.20* required by (virtual/perl-MIME-Base64-3.140.0-r1:0/0::gentoo, installed)

    ^              ^^^^^

    =dev-lang/perl-5.20* required by (virtual/perl-Digest-SHA-5.880.0:0/0::gentoo, installed)

    ^              ^^^^^

    =dev-lang/perl-5.20* required by (virtual/perl-Digest-MD5-2.530.0-r2:0/0::gentoo, installed)

    ^              ^^^^^

    dev-lang/perl:0/5.20=[-build(-)] required by (perl-core/File-Temp-0.230.400-r1:0/0::gentoo, installed)

                 ^^^^^^^^           

    dev-lang/perl:0/5.20=[-build(-)] required by (dev-perl/Net-SMTP-SSL-1.30.0:0/0::gentoo, installed)

                 ^^^^^^^^           

    dev-lang/perl:0/5.20=[-build(-)] required by (dev-vcs/git-2.7.3-r1:0/0::gentoo, installed)

                 ^^^^^^^^           

    dev-lang/perl:0/5.20=[-build(-)] required by (perl-core/libnet-1.270.0:0/0::gentoo, installed)

                 ^^^^^^^^           

    dev-lang/perl:0/5.20= required by (dev-perl/Net-SSLeay-1.720.0-r1:0/0::gentoo, installed)

                 ^^^^^^^^

    dev-lang/perl:0/5.20=[-build(-)] required by (dev-perl/Digest-HMAC-1.30.0-r1:0/0::gentoo, installed)

                 ^^^^^^^^           

    dev-lang/perl:0/5.20=[-build(-)] required by (dev-perl/IO-Socket-SSL-2.24.0:0/0::gentoo, installed)

                 ^^^^^^^^           

    dev-lang/perl:0/5.20=[-build(-)] required by (dev-perl/Error-0.170.240:0/0::gentoo, installed)

                 ^^^^^^^^           

    dev-lang/perl:0/5.20=[-build(-)] required by (perl-core/Data-Dumper-2.154.0:0/0::gentoo, installed)

                 ^^^^^^^^           

    =dev-lang/perl-5.20* required by (virtual/perl-Scalar-List-Utils-1.380.0:0/0::gentoo, installed)

    ^              ^^^^^

>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

```

----------

## sebB

 *Quote:*   

> Use emerge @preserved-rebuild to rebuild packages using these libraries 

 

Yep tu as tenté le emerge @preserved-rebuild?

----------

## DuF

moi je ferai un "emerge -C " de tous les paquets identifiés commençant avec :

```
=

^
```

Comme ils sont de type "virtual" cela ne risquera rien et ton emerge perl refera toutes les MAJ nécessaires.

----------

## karmageddon

j'ai remarquer ça

 *Quote:*   

> * IMPORTANT: 2 config files in '/etc' need updating.
> 
>  * See the CONFIGURATION FILES and CONFIGURATION FILES UPDATE TOOLS
> 
>  * sections of the emerge man page to learn how to update config files. 

 

tente dispatch-conf ,ça débloque parfois les choses

----------

## xaviermiller

et une mise à jour complète de ton système

```
emerge -DuNav @world
```

----------

## DuF

 *xaviermiller wrote:*   

> et une mise à jour complète de ton système
> 
> ```
> emerge -DuNav @world
> ```
> ...

 

à mon avis sa mise à jour complète ne passera pas tant qu'il n'aura pas régler le problème de son paquet perl, pour avoir de temps en temps ce genre de situation, je trouve que le plus simple c'est de faire des "emerge -C APP" car rapide et efficace.

----------

## glegall

Salut à tous,

Merci pour votre réponse !!

Alors j'ai tenté une @prevent-rebuild sans succès. 

La mise à jour du système de fonctionne pas car les packets perl déconne.

Pour ce qui est de emerge -C APP je n'ai pas testé, je vous posterai la réponse d'ici mardi.

Merci et bonne fin de week-end

----------

## glegall

Désolé de ce post tardif, voici les étapes pour résoudre ce problème:

```

perl-cleaner --all

emerge -C layman

emerge layman

**EDIT** emerge @preserved-rebuild

etc-update

emerge -auDNv world

```

Fixé pour moi ! Merci bien !!

----------

## Mr. T.

Pour maintenir la cohérence, il faudrait ajouter une arobase devant chaque ensemble de logiciels.

```
emerge @preserved-rebuild @world
```

helecho.

----------

## xaviermiller

Bonjour,

Il faut juste mettre @preserved-rebuild, qui correspond à l'ensemble (set) des paquets à reconstruire.

world ou @world, c'est équivalent.

----------

## glegall

Bonjour,

J'ai corrigé mon erreur !

----------

