# [portage] Paquetes rotos tras actualización (solucionado)

## pcmaster

Desde hace algunos días, tras hacer una actualización se me han roto varios paquetes. Normalmente cuando había pasado algo parecido con algún paquete se arreglaba en sucesivos emerges, pero esta vez no.

En primer lugar, algunas partes de xfce4 han dejado de funcionar. Por ejemplo, no muestra el fondo ni iconos del escritorio y algunos paquetes como thunar no inician, aunque en su mayor parte sigue funcionando.

Algún otro paquete como glib-perl no puede actualizarse porque al intentarlo falla irremediablemente:

```
# emerge -DuvaN world

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

Calculating dependencies... done!

[ebuild     U ] dev-perl/glib-perl-1.223 [1.200] 0 kB

[ebuild  N    ] dev-perl/Pango-1.221  0 kB

[ebuild     U ] dev-perl/gtk2-perl-1.222 [1.202] 0 kB

Total: 3 packages (2 upgrades, 1 new), Size of downloads: 0 kB

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

>>> Verifying ebuild manifests

>>> Starting parallel fetch

>>> Emerging (1 of 3) dev-perl/glib-perl-1.223

 * Glib-1.223.tar.gz RMD160 SHA1 SHA256 size ;-) ...                                                                                      [ ok ]

 * Package:    dev-perl/glib-perl-1.223

 * Repository: gentoo

 * Maintainer: perl@gentoo.org

 * USE:  amd64 elibc_glibc kernel_linux multilib userland_GNU

>>> Unpacking source...

>>> Unpacking Glib-1.223.tar.gz to /var/tmp/portage/dev-perl/glib-perl-1.223/work

>>> Source unpacked in /var/tmp/portage/dev-perl/glib-perl-1.223/work

>>> Preparing source in /var/tmp/portage/dev-perl/glib-perl-1.223/work/Glib-1.223 ...

>>> Source prepared.

>>> Configuring source in /var/tmp/portage/dev-perl/glib-perl-1.223/work/Glib-1.223 ...

 * Using ExtUtils::MakeMaker

 * perl Makefile.PL PREFIX=/usr INSTALLDIRS=vendor INSTALLMAN3DIR=none DESTDIR=/var/tmp/portage/dev-perl/glib-perl-1.223/image/

Can't locate ExtUtils/Depends.pm in @INC (@INC contains: /etc/perl /usr/lib64/perl5/site_perl/5.12.2/x86_64-linux /usr/lib64/perl5/site_perl/5.12.2 /usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux /usr/lib64/perl5/vendor_perl/5.12.2 /usr/lib64/perl5/5.12.2/x86_64-linux /usr/lib64/perl5/5.12.2 /usr/lib64/perl5/site_perl /usr/lib64/perl5/vendor_perl /usr/local/lib/site_perl .) at (eval 6) line 1.

BEGIN failed--compilation aborted at (eval 6) line 1.

Checking if your kit is complete...

Looks good

MakeMaker FATAL: prerequisites not found.

    ExtUtils::Depends not installed

    ExtUtils::PkgConfig not installed

Please install these modules first and rerun 'perl Makefile.PL'.

 * ERROR: dev-perl/glib-perl-1.223 failed:

 *   Unable to build! (are you using USE="build"?)

 * 

 * Call stack:

 *     ebuild.sh, line   56:  Called src_configure

 *   environment, line 2687:  Called perl-module_src_configure

 *   environment, line 2338:  Called perl-module_src_prep

 *   environment, line 2396:  Called die

 * The specific snippet of code:

 *               perl Makefile.PL "$@" <<< "${pm_echovar}" || die "Unable to build! (are you using USE=\"build\"?)";

 * 

 * If you need support, post the output of 'emerge --info =dev-perl/glib-perl-1.223',

 * the complete build log and the output of 'emerge -pqv =dev-perl/glib-perl-1.223'.

 * The complete build log is located at '/var/tmp/portage/dev-perl/glib-perl-1.223/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/dev-perl/glib-perl-1.223/temp/environment'.

 * S: '/var/tmp/portage/dev-perl/glib-perl-1.223/work/Glib-1.223'

>>> Failed to emerge dev-perl/glib-perl-1.223, Log file:

>>>  '/var/tmp/portage/dev-perl/glib-perl-1.223/temp/build.log'

 * Messages for package dev-perl/glib-perl-1.223:

 * ERROR: dev-perl/glib-perl-1.223 failed:

 *   Unable to build! (are you using USE="build"?)

 * 

 * Call stack:

 *     ebuild.sh, line   56:  Called src_configure

 *   environment, line 2687:  Called perl-module_src_configure

 *   environment, line 2338:  Called perl-module_src_prep

 *   environment, line 2396:  Called die

 * The specific snippet of code:

 *               perl Makefile.PL "$@" <<< "${pm_echovar}" || die "Unable to build! (are you using USE=\"build\"?)";

 * 

 * If you need support, post the output of 'emerge --info =dev-perl/glib-perl-1.223',

 * the complete build log and the output of 'emerge -pqv =dev-perl/glib-perl-1.223'.

 * The complete build log is located at '/var/tmp/portage/dev-perl/glib-perl-1.223/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/dev-perl/glib-perl-1.223/temp/environment'.

 * S: '/var/tmp/portage/dev-perl/glib-perl-1.223/work/Glib-1.223'

```

----------

## sasho23

Hola, echa un ojo a este  link 

quiza te sirva. suerte.

----------

## pcmaster

Gracias.

Ejecutando el perl-cleaner --all ya no hay más errores de paquetes que no se quieran instalar, pero xfce sigue igual. Estoy heciendo un revdep-rebuild y está encontrando errores (antes del perl-cleaner, que ha actualizado unos 80 paquetes, no los había).

revdep-rebuild ha actualizado un sólo paquete, libxfce4gui, pero los problemas con el escritorio continúan. No hay menú en el botón derecho del ratón, no hay fondo de escritorio ni iconos, y thunar no funciona. Lanzando thunar desde un terminal:

```

$ thunar

process 7188: arguments to dbus_connection_send_with_reply_and_block() were incorrect, assertion "(error) == NULL || !dbus_error_is_set ((error))" failed in file dbus-connection.c line 3346.

This is normally a bug in some application using the D-Bus library.

  D-Bus not built with -rdynamic so unable to print a backtrace

Abortado
```

Un nuevo revdep-rebuild ya no encuentra más errores, y la salida de un nuevo perl-cleaner es:

```
# perl-cleaner --all

 * Beginning a clean up of .ph files

 * Excluding files for 5.12.2 and 5.12.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: No existe el fichero o el directorio

Can't open sys/_types.h: No existe el fichero o el directorio

 * 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.

/usr/lib32/perl5/5.8.8/i686-linux/auto/B/C/C.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/B/B.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/IO/IO.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/XS/APItest/APItest.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/XS/Typemap/Typemap.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/re/re.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/Cwd/Cwd.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/IPC/SysV/SysV.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/Sys/Hostname/Hostname.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/Sys/Syslog/Syslog.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/Data/Dumper/Dumper.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/I18N/Langinfo/Langinfo.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/File/Glob/Glob.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/MIME/Base64/Base64.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/List/Util/Util.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/Time/HiRes/HiRes.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/Digest/MD5/MD5.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/Encode/CN/CN.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/Encode/JP/JP.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/Encode/KR/KR.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/Encode/TW/TW.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/Encode/EBCDIC/EBCDIC.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/Encode/Byte/Byte.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/Encode/Symbol/Symbol.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/Encode/Encode.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/Encode/Unicode/Unicode.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/Filter/Util/Call/Call.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/Devel/Peek/Peek.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/Devel/DProf/DProf.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/Devel/PPPort/PPPort.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/Fcntl/Fcntl.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/POSIX/POSIX.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/attrs/attrs.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/Opcode/Opcode.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/PerlIO/via/via.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/PerlIO/encoding/encoding.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/PerlIO/scalar/scalar.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/Socket/Socket.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/SDBM_File/SDBM_File.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/threads/shared/shared.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/threads/threads.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/NDBM_File/NDBM_File.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/GDBM_File/GDBM_File.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/Storable/Storable.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/DB_File/DB_File.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/Unicode/Normalize/Normalize.so

/usr/lib32/perl5/5.8.8/i686-linux/auto/ByteLoader/ByteLoader.so

/usr/lib64/perl5/5.8.8/x86_64-linux/Encode/ConfigLocal.pm

/usr/lib64/perl5/vendor_perl/5.8.8/XML/SAX/ParserDetails.ini

```

re-emerger thunar no lo soluciona, pero acabo de descubrir que como root sí funciona. ¿Cuestión de permisos en alguna parte?

----------

## sasho23

Por lo que veo el thunar te dice que es fallo del dbus(segun he entendido yo) y ahi no puedo ayudarte por que ahora mismo yo intento solucionar mi propio problema de dbus.   :Very Happy:  . Si lo consigo te lo dire, y si lo haces tu primero ponlo aqui para solucionar el mio tambien.

   El resto...pues yo creo que con un pearl-cleaner te vale y un revdep-rebuild, asi que sera otra cosa. Vuelvo a insistir en el dbus. Yo estoy con KDE pero por culpa del dbus no me funcionan varias cosas, tampoco encuentro mucho tiempo para buscar y tampoco encuentro muchas temas al respecto.

----------

## pcmaster

Hola,

Tras añadir mi usuario al grupo plugdev, para resolver otro problema ha quedado solucionado.

----------

