# errore durante "emerge -C udev && emerge -uDavN world" [Ris]

## spuches

Ciao gente, potreste darmi una mano?

dopo aver installato Gentoo e successivamente compilato ed installato Xorg X11 con il problema indicato al post, ho eseguito il comando indicato nel post (emerge -C udev && emerge -uDavN world) ma l'aggiornamento si è bloccato proprio sulla libreria che mi aveva dato problemi (udev) dandomi i seguenti output :

file /var/tmp/portage/sys-fs/udev-115-r1/temp/build.log

```

>>> Unpacking source...

>>> Unpacking udev-115.tar.bz2 to /var/tmp/portage/sys-fs/udev-115-r1/work

>>> Unpacking udev-115-update-20079804.diff.bz2 to /var/tmp/portage/sys-fs/udev-115-r1/work

 [32;01m*[0m Applying udev-115-update-20079804.diff ...

[A[72C  [34;01m[ [32;01mok[34;01m ][0m

 [32;01m*[0m Applying udev-114-root-link-2.diff ...

[A[72C  [34;01m[ [32;01mok[34;01m ][0m

>>> Source unpacked.

>>> Compiling source in /var/tmp/portage/sys-fs/udev-115-r1/work/udev-115 ...

/usr/bin/i586-pc-linux-gnu-ar

  GENHDR   udev_version.h

  CC       udev_device.o

make: i586-pc-linux-gnu-gcc: Command not found

make: *** [udev_device.o] Error 127

make: *** Waiting for unfinished jobs....

  CC       udev_config.o

make: i586-pc-linux-gnu-gcc: Command not found

make: *** [udev_config.o] Error 127

 [31;01m*[0m 

 [31;01m*[0m ERROR: sys-fs/udev-115-r1 failed.

 [31;01m*[0m Call stack:

 [31;01m*[0m            ebuild.sh, line 1701:  Called dyn_compile

 [31;01m*[0m            ebuild.sh, line 1039:  Called qa_call 'src_compile'

 [31;01m*[0m            ebuild.sh, line   44:  Called src_compile

 [31;01m*[0m   udev-115-r1.ebuild, line  126:  Called die

 [31;01m*[0m The specific snippet of code:

 [31;01m*[0m      emake \

 [31;01m*[0m         EXTRAS="${extras}" \

 [31;01m*[0m         libudevdir=${udev_helper_dir} \

 [31;01m*[0m         CROSS_COMPILE=${mycross} \

 [31;01m*[0m         OPTFLAGS="" \

 [31;01m*[0m         ${myconf} || die

 [31;01m*[0m  The die message:

 [31;01m*[0m   (no error message)

 [31;01m*[0m 

 [31;01m*[0m If you need support, post the topmost build error, and the call stack if relevant.

 [31;01m*[0m A complete build log is located at '/var/tmp/portage/sys-fs/udev-115-r1/temp/build.log'.

 [31;01m*[0m 

```

output di emerge --info

```

Portage 2.1.3.19 (default-linux/x86/2007.0, gcc-4.1.1, glibc-2.5-r0, 2.6.23-gentoo-r3 i586)

=================================================================

System uname: 2.6.23-gentoo-r3 i586 Pentium MMX

Timestamp of tree: Wed, 02 Jan 2008 20:16:01 +0000

app-shells/bash:     3.2_p17-r1

dev-lang/python:     2.4.3-r4

dev-python/pycrypto: 2.0.1-r6

sys-apps/baselayout: 1.12.9

sys-apps/sandbox:    1.2.18.1-r2

sys-devel/autoconf:  2.61-r1

sys-devel/automake:  1.10

sys-devel/binutils:  2.18-r1

sys-devel/gcc-config: 1.4.0-r4

sys-devel/libtool:   1.5.24

virtual/os-headers:  2.6.23-r3

ACCEPT_KEYWORDS="x86"

CBUILD="i586-pc-linux-gnu"

CFLAGS="-march=pentium-mmx -O2 -pipe -fomit-frame-pointer"

CHOST="i586-pc-linux-gnu"

CONFIG_PROTECT="/etc"

CONFIG_PROTECT_MASK="/etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/terminfo"

CXXFLAGS="-march=pentium-mmx -O2 -pipe -fomit-frame-pointer"

DISTDIR="/usr/portage/distfiles"

FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch"

GENTOO_MIRRORS="ftp://ftp.unina.it/pub/linux/distributions/gentoo http://mirror.ing.unibo.it/gentoo http://distfiles.gentoo.org http://ibiblio.org/pub/Linux/distributions/gentoo"

LINGUAS="it en"

MAKEOPTS="-j2"

PKGDIR="/usr/portage/packages"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"

USE="X acl apm berkdb bitmap-fonts cli cracklib crypt cups dbus dri firefox fortran gdbm gpm hal iconv ipv6 isdnlog midi mudflap ncurses nls nptl nptlonly openmp pam pcre perl pppd python readline reflection session spl ssl startup-notification tcpd truetype-fonts type1-fonts unicode x86 xcomposite xorg xscreensaver zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="it en" USERLAND="GNU" VIDEO_CARDS="mga"

Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

```

aggiungo il file /var/log/portage/elog/summary.log

```

>>> Messages generated by process 5083 on 2008-01-03 09:46:00 for package sys-apps/pciutils-2.2.8:

LOG: install

Providing a backwards compatability non-compressed pci.ids

>>> Messages generated by process 15059 on 2008-01-03 23:26:29 for package app-admin/syslog-ng-2.0.6:

LOG: postinst

It is highly recommended that app-admin/logrotate be emerged to

manage the log files.  syslog-ng installs a file in /etc/logrotate.d

for logrotate to use.

>>> Messages generated by process 2565 on 2008-01-03 23:46:41 for package app-admin/logrotate-3.7.2:

LOG: postinst

If you wish to have logrotate e-mail you updates, please

emerge virtual/mailx and configure logrotate in

/etc/logrotate.conf appropriately

Additionally, /etc/logrotate.conf may need to be modified

for your particular needs.  See man logrotate for details.

>>> Messages generated by process 3303 on 2008-01-03 23:55:48 for package sys-process/cronbase-0.3.2-r1:

LOG: postinst

Portage doesn't enforce proper permissions on already existing

directories (bug 141619). Appropriate permissions are now being set

on //etc/cron.{hourly,daily,weekly,monthly},

//var/spool/cron/ and //var/spool/cron/lastrun/

(see bug 182998)

>>> Messages generated by process 8940 on 2008-01-04 00:13:54 for package net-misc/dhcpcd-3.1.5-r1:

WARN: postinst

You have installed dhcpcd with DUID support.

Some DHCP server implementations require a MAC address only in the

ClientID field. These DHCP servers should be updated to be RFC

conformant. If you cannot do this, you can revert to the old

behaviour by using the -I '' option OR building dhcpcd with the

vram USE flag enabled.

>>> Messages generated by process 4398 on 2008-01-04 18:51:01 for package app-admin/eselect-1.0.10:

LOG: postinst

Modules cblas.eselect, blas.eselect and lapack.eselect have

been split-out to separate packages called:

  app-admin/eselect-cblas

  app-admin/eselect-blas

  app-admin/eselect-lapack

>>> Messages generated by process 4398 on 2008-01-04 23:19:47 for package media-libs/freetype-2.3.5-r2:

WARN: postinst

After upgrading to freetype-2.3.5, it is necessary to rebuild

libXfont to avoid build errors in some packages.

LOG: postinst

The utilities and demos previously bundled with freetype are now

optional.  Enable the utils USE flag if you would like them

to be installed.

>>> Messages generated by process 4398 on 2008-01-04 23:53:31 for package media-libs/fontconfig-2.4.2:

WARN: postinst

Please make fontconfig configuration changes in /etc/fonts/conf.d/

and NOT to /etc/fonts/fonts.conf, as it will be replaced!

>>> Messages generated by process 4398 on 2008-01-05 00:52:33 for package x11-libs/libXi-1.1.3:

WARN: postinst

Some special keys and keyboard layouts may stop working.

To fix them, recompile xorg-server.

>>> Messages generated by process 4398 on 2008-01-05 01:52:43 for package x11-libs/libXdamage-1.1.1:

WARN: postinst

Compositing managers may stop working.

To fix them, recompile xorg-server.

>>> Messages generated by process 4398 on 2008-01-05 10:12:25 for package x11-base/xorg-server-1.3.0.0-r2:

WARN: setup

Forcing on xorg-x11 for new enough glxtokens.h...

WARN: postinst

Users of reduced blanking now need:

   Option "ReducedBlanking"

In the relevant Monitor section(s).

Make sure your reduced blanking modelines are safe!

>>> Messages generated by process 4398 on 2008-01-05 10:37:08 for package x11-base/xorg-x11-7.2:

WARN: postinst

Please read the modular X migration guide at

http://www.gentoo.org/proj/en/desktop/x/x11/modular-x-howto.xml

>>> Messages generated by process 4495 on 2008-01-06 21:36:48 for package dev-libs/expat-2.0.1:

WARN: postinst

Please note that the soname of the library changed!

If you are upgrading from a previous version you need

to fix dynamic linking inconsistencies by executing:

revdep-rebuild -X --library libexpat.so.0

>>> Messages generated by process 4495 on 2008-01-06 22:33:47 for package app-admin/python-updater-0.2:

ERROR: preinst

This package will overwrite one or more files that may belong to other

packages (see list below). Add "collision-protect" to FEATURES in

make.conf if you would like the merge to abort in cases like this. You

can use a command such as `portageq owners / <filename>` to identify

the installed package that owns a file. If portageq reports that only

one package owns a file then do NOT file a bug report. A bug report is

only useful if it identifies at least two or more packages that are

known to install the same file(s). If a collision occurs and you can

not explain where the file came from then you should simply ignore the

collision since there is not enough information to determine if a real

problem exists. Please do NOT file a bug report at

http://bugs.gentoo.org unless you report exactly which two packages

install the same file(s). Once again, please do NOT file a bug report

unless you have completely understood the above message.

Detected file collision(s):

   /usr/sbin/python-updater

>>> Messages generated by process 4495 on 2008-01-07 00:45:26 for package sys-devel/gettext-0.17:

WARN: postinst

Any package that linked against the previous version

of gettext will have to be rebuilt.

Please 'emerge gentoolkit' and run:

revdep-rebuild --library libintl.so.7

>>> Messages generated by process 4495 on 2008-01-07 04:35:03 for package sys-devel/binutils-2.18-r1:

WARN: compile

Sorry, but binutils does not support the LINGUAs: it en

>>> Messages generated by process 4495 on 2008-01-07 08:55:20 for package sys-apps/dbus-1.0.2-r2:

WARN: postinst

You MUST run 'revdep-rebuild' after emerging this package

LOG: postinst

To start the D-Bus system-wide messagebus by default

you should add it to the default runlevel :

`rc-update add dbus default`

Somme applications require a session bus in addition to the system

bus. Please see `man dbus-launch` for more information.

>>> Messages generated by process 4495 on 2008-01-07 08:58:35 for package sys-apps/man-1.6e-r3:

WARN: postinst

You have multiple makewhatis cron files installed.

You might want to delete all but one of these:

//etc/cron.daily/makewhatis //etc/cron.weekly/makewhatis

>>> Messages generated by process 4495 on 2008-01-07 09:25:57 for package net-misc/rsync-2.6.9-r5:

WARN: postinst

The rsyncd.conf file has been moved for you to /etc/rsyncd.conf

Please make sure you do NOT disable the rsync server running

in a chroot.  Please check /etc/rsyncd.conf and make sure

it says: use chroot = yes

>>> Messages generated by process 4495 on 2008-01-07 10:57:17 for package sys-fs/udev-115-r1:

ERROR: compile

ERROR: sys-fs/udev-115-r1 failed.

Call stack:

           ebuild.sh, line 1701:  Called dyn_compile

           ebuild.sh, line 1039:  Called qa_call 'src_compile'

           ebuild.sh, line   44:  Called src_compile

  udev-115-r1.ebuild, line  126:  Called die

The specific snippet of code:

     emake \

        EXTRAS="${extras}" \

        libudevdir=${udev_helper_dir} \

        CROSS_COMPILE=${mycross} \

        OPTFLAGS="" \

        ${myconf} || die

 The die message:

  (no error message)

If you need support, post the topmost build error, and the call stack if relevant.

A complete build log is located at '/var/tmp/portage/sys-fs/udev-115-r1/temp/build.log'.

>>> Messages generated by process 31612 on 2008-01-07 12:01:44 for package sys-fs/udev-115-r1:

ERROR: compile

ERROR: sys-fs/udev-115-r1 failed.

Call stack:

           ebuild.sh, line 1701:  Called dyn_compile

           ebuild.sh, line 1039:  Called qa_call 'src_compile'

           ebuild.sh, line   44:  Called src_compile

  udev-115-r1.ebuild, line  126:  Called die

The specific snippet of code:

     emake \

        EXTRAS="${extras}" \

        libudevdir=${udev_helper_dir} \

        CROSS_COMPILE=${mycross} \

        OPTFLAGS="" \

        ${myconf} || die

 The die message:

  (no error message)

If you need support, post the topmost build error, and the call stack if relevant.

A complete build log is located at '/var/tmp/portage/sys-fs/udev-115-r1/temp/build.log'.

>>> Messages generated by process 31932 on 2008-01-07 12:11:40 for package sys-fs/udev-115-r1:

ERROR: compile

ERROR: sys-fs/udev-115-r1 failed.

Call stack:

           ebuild.sh, line 1701:  Called dyn_compile

           ebuild.sh, line 1039:  Called qa_call 'src_compile'

           ebuild.sh, line   44:  Called src_compile

  udev-115-r1.ebuild, line  126:  Called die

The specific snippet of code:

     emake \

        EXTRAS="${extras}" \

        libudevdir=${udev_helper_dir} \

        CROSS_COMPILE=${mycross} \

        OPTFLAGS="" \

        ${myconf} || die

 The die message:

  (no error message)

If you need support, post the topmost build error, and the call stack if relevant.

A complete build log is located at '/var/tmp/portage/sys-fs/udev-115-r1/temp/build.log'.

```

Come posso procedere?

----------

## cloc3

è strano. nel mio sistema sono installati sia sys-fs/udev-115-r1 sia sys-fs/device-mapper-1.02.22-r5 e non ho blocchi reciproci.

forse dipende dal fatto che la tua è una architettura i586-pc-linux-gnu-gcc .

può darsi che, per quella architettura ci sia un problema particolare.

se però, fin dall'inizio, udev bloccava device-mapper, si può pensare che adesso tu abbia installato device-mapper e ciò determini un problema nella compilazione di udev.

l'errore però è strano:

```

make: i586-pc-linux-gnu-gcc: Command not found

```

sei in grado di reinstallare udev con l'opzione -K per cercare di capire meglio l'origine del problema?

prova a dare un emerge -e system.

non è una ricetta leggera né garantita, ma potrebbe sistemare qualcosa.

----------

## riverdragon

Prova a lanciare gcc-config -l

----------

## djinnZ

 *cloc3 wrote:*   

> forse dipende dal fatto che la tua è una architettura i586-pc-linux-gnu-gcc

 non mi pare che sia ufficialmente supportata, facile che gcc-config non la gestisca bene. Prova a vedere se i pathname ed i link sono esatti e non si riferiscono a i486 o i686.

----------

## spuches

 *djinnZ wrote:*   

> Prova a vedere se i pathname ed i link sono esatti e non si riferiscono a i486 o i686

 

scusa djinnZ, potresti dirmi come fare questa cosa? a quali pathname e link ti riferisci?

----------

## cloc3

 *spuches wrote:*   

> a quali pathname e link ti riferisci?

 

echo $PATH.

che sono definiti dentro /etc/env.d

sinceramente, non mi aspetto grosse sorprese, perché tu dici che il problema sorge solo per quel singolo unico pacchetto, non per tutti.

se proprio non riesci a venirne fuori, puoi provare a segnalare il problema su bugzilla.

il tuo non mi pare un difetto del tutto banale, e comunque, se del caso, loro ti sapranno dare indicazioni attendibili.

----------

## djinnZ

/etc/env.d/gcc ed il comando set 

in /usr/i586-pc-linux-gnu ed in /usr/bin e /usr/lib (non ne sono certo e non posso verificare ora) ci sono una serie di link simbolici.

In passato è capitato diverse volte che alcuni di questi percorsi rimanessero interrotti a causa di qualche bug.

Oppure è possibile che una delle variabili usate da gcc config vada in conflitto con una delle variabili usate all'interno del make (ma trattandosi di udev escluderei, i devel non possono avere sviste su un elemento così comune).

----------

## spuches

seguendo i vostri preziosi consigli ho eseguito gcc-config -l e verificato i path, ed ho scoperto cose piuttosto strane e cioè :

```
 * gcc-config: No gcc profile is active; please select one!

[1] i486-pc-linux-gnu-4.1.1

```

in PATH mi ritrovo : "/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/opt/bin:/usr/i486-pc-linux-gnu/gcc-bin/4.1.1"

Peraltro la mia variabile CHOST è settata a "i586-pc-linux-gnu"

in /usr ho sia i486-pc-linux-gnu sia i586-pc-linux-gnu ma sono diversi i contenuti e la i486... contiene dei link rotti :

/usr/i486-pc-linux-gnu

bin     (contiene link rotto) ldscript -> /usr/lib/binutils/i486-pc-linux-gnu/2.16.1/ldscripts   

          (sarebbe un path corretto se fosse /usr/lib/binutils/i586-pc-linux-gnu/2.18/ldscripts ma ha senso visto che sta in /usr/i486... ?) 

gcc-bin4.1.1     (contenuto corretto, contiene i compilatori)lib     (contenuto rotto, contiene diversi link che puntano a files/link in /usr/lib/binutils/i486-pc-linux-gnu/2.16.1/)

             (sarebbero corretti se puntassero a /usr/lib/binutils/i586-pc-linux-gnu/2.18/ ma ha senso ?)

/usr/i586-pc-linux-gnu

bin

binutils-bin

libDomanda : ma il profilo di gcc non dovrebbe andare di pari passo col contenuto della variabile CHOST?

----------

## Scen

Sembrerebbe tu abbia un pò di "sporcizia": prova con

```

gcc-config 1

```

e poi non dimenticarti di eseguire (come ti viene suggerito)

```

source /etc/profile

```

----------

## spuches

Ho provato ad eseguire

```
gcc-config 1

source /etc/profile
```

ed infine 

```
emerge --resume
```

ma purtroppo il risultato è lo stesso! : non riesce a compilare udev

Ad ogni modo dopo l'esecuzione di gcc-config 1 i link sotto /usr/i486-pc-linux-gnu continuavano a puntare a cose inesistenti, per cui suppongo che questa sia l'origine dell'errore

```
make: i586-pc-linux-gnu-gcc: Command not found
```

Ci sarà un modo per ripristinare tali link in modo sensato ? (domanda da 1000 punti!!!   :Confused:  )

----------

## spuches

Wow!! ho risolto!

Spulciando fra la documentazione Gentoo (e grazie alle dritte che mi avete dato   :Wink:  ) ho trovato delle notevoli analogie tra le info riportate a proposito dell'aggiornamento di gcc ed il comportamento/stato del mio sistema, cosi aggiornando gcc alla vers. 4.1.2 e le glibc alla 2.6.1 sono stato in grado finalmente di emergere udev.

Nota : ho constatato che mi è cambiata la la struttura di /usr/i486-pc-linux-gnu e di /usr/i586-pc-linux-gnu e sopratutto ora le info restituite da 

```
gcc-config -l
```

 e 

```
binutils-config -l
```

 sono coerenti. 

Grazie a chi mi ha supportato   :Very Happy: 

----------

