# profilo 2007.0 : ricompilazione gcc 4.1.2 error

## tsu.kz.m

Ho appena aggiornato il profilo alla 2007.0 (provengo da una 2006.1) , e ricompilando i pacchetti che mi ha chiesto dato che son variate le USE flag, mi sn accorto che mi richiede la compialzione del gcc 4.1.2 xkè necessita della USE flag "mudflap" 

ecco l'errore : 

```

make[4]: *** [java/lang/Class.lo] Error 1

make[4]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.1.2/work/build/x86_64-pc-linux-gnu/libjava'

make[3]: *** [all-recursive] Error 1

make[3]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.1.2/work/build/x86_64-pc-linux-gnu/libjava'

make[2]: *** [all-target-libjava] Error 2

make[2]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.1.2/work/build'

make[1]: *** [all] Error 2

make[1]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.1.2/work/build'

make: *** [profiledbootstrap] Error 2

!!! ERROR: sys-devel/gcc-4.1.2 failed.

Call stack:

  ebuild.sh, line 1615:   Called dyn_compile

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

  ebuild.sh, line 44:   Called src_compile

  ebuild.sh, line 1305:   Called toolchain_src_compile

  toolchain.eclass, line 26:   Called gcc_src_compile

  toolchain.eclass, line 1537:   Called gcc_do_make

  toolchain.eclass, line 1411:   Called die

!!! emake failed with profiledbootstrap

!!! 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-devel/gcc-4.1.2/temp/build.log'.

```

Premetto che sono passato alla gcc 4.1.2 seguendo passo passo la guida gentoo e col vecchio profilo non mi ha mai dato problemi

Non so sia dovuto all'aggiornamento del profilo... Qualche suggerimento?

Ho un sistema x86_64 nativo (amd64)

----------

## !equilibrium

```
sys-devel/gcc:mudflap - Add support for mudflap, a pointer use checking library
```

sicuro che ti serva quella USE?

se non ti serve, puoi disabilitarla.

----------

## tsu.kz.m

si trova nelle use flags globali nel profilo 2007.0 non so se giusto disabilitarla....

come flag locali ho "gcj" può essere causato da questo l'errore??

----------

## crisandbea

 *tsu.kz.m wrote:*   

> si trova nelle use flags globali nel profilo 2007.0 non so se giusto disabilitarla....
> 
> come flag locali ho "gcj" può essere causato da questo l'errore??

 

che intendi con  *Quote:*   

> si trova nelle use flags globali nel profilo 2007.0

  ?? vuoi dire che si trova nel make.defaults???

oppure che facendo 

```
euse -i mudflap
```

 ti dice che è globale è l'hai messa nel make.conf???

ciauz

----------

## tsu.kz.m

Scusa hai ragione... 

si trova sul make.defaults del profilo 2007.0

----------

## crisandbea

 *tsu.kz.m wrote:*   

> Scusa hai ragione... 
> 
> si trova sul make.defaults del profilo 2007.0

 

mi sembra molto ma molto strano, dato che è una use locale, che usa solo gcc.

posta il tuo 

```
/etc/make.conf
```

 ed il tuo

```
/etc/make.profile/make.defaults
```

nb:usi un profilo desktop?server?oppure nessuno dei due ma il 2007.0 base?

ciauz

----------

## tsu.kz.m

make.conf

```

# These settings were set by the catalyst build script that automatically built this stage

# Please consult /etc/make.conf.example for a more detailed example

CFLAGS="-march=athlon64 -O2 -pipe -msse3 -DNDEBUG"

CHOST="x86_64-pc-linux-gnu"

CXXFLAGS="${CFLAGS}"

MAKEOPTS="-j3"

ACCEPT_KEYWORDS="~amd64"

#ACCEPT_KEYWORDS="amd64"

USE="tiff gcj -zlib kde mono qt3 hal cups tk tcl xcb xinerama xcomposite samba logitech-mouse ffmpeg dvdread css imagemagick arts nvidia opengl alsa cairo cdr dbus dvd dvdr eds emboss encode esd fam firefox gif gnome gstreamer gtk gtk2 gtkhtml jpeg mad mikmod mp3 mp4 flac mpeg ogg oss -png -svga quicktime sdl spell truetype vorbis win32codecs X xml xine pdf xv -ppds -gdbm mplayer expat irc dhcp multiuser ipod a52 aac wifi netmeeting fontconfig mysql sse amuled remote stats theora bzip2 socks5 asf dts java aalib vcd png xvid libcaca graphviz openexr aiglx lm_sensors mp4 dxr3 divx cvs sql wxwindows matroska x264 subtitles kdeenablefinal kdehiddenvisibility teamarena glitz svg wmp realmedia gmedia xforms nptl"

VIDEO_CARDS="nvidia"

LINGUAS="en_GB it"

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

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

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

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

source /usr/portage/local/layman/make.conf

```

Make.defaults (2007.0)

```

# Copyright 1999-2005 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

# $Header: /var/cvsroot/gentoo-x86/profiles/default-linux/amd64/2007.0/make.defaults,v 1.3 2007/04/13 22:11:18 wolf31o2 Exp $

ABI=amd64

# Catalyst specific settings:

STAGE1_USE="nptl nptlonly unicode"

# General 2007.0 profile settings

# These USE flags are what is common between the various sub-profiles.

USE="acl cups gdbm gpm libg++ nptl nptlonly unicode"

```

mmm riguardando il make.defaults mi accorgo che quella use non c'è... 

Ma se faccio emerge --info mi spunta la USE :

```

...

...

USE="X a52 aac aalib acl aiglx alsa amd64 amuled arts asf berkdb bitmap-fonts bzip2 cairo cdr cli cracklib crypt css cups cvs dbus dhcp divx dri dts dvd dvdr dvdread dxr3 eds emboss encode esd expat fam ffmpeg firefox flac fontconfig fortran gcj gif glitz gmedia gnome gpm graphviz gstreamer gtk gtk2 gtkhtml hal iconv imagemagick ipod ipv6 irc isdnlog java jpeg kde kdeenablefinal kdehiddenvisibility libcaca libg++ lm_sensors logitech-mouse mad matroska midi mikmod mmx mono mp3 mp4 mpeg mplayer mudflap multiuser mysql ncurses netmeeting nls nptl nptlonly nvidia ogg openexr opengl openmp oss pam pcre pdf perl png pppd python qt3 quicktime readline realmedia reflection remote samba sdl session socks5 spell spl sql sse sse2 ssl stats subtitles svg tcl tcpd teamarena theora tiff tk truetype truetype-fonts type1-fonts unicode vcd vorbis wifi wmp wxwindows x264 xcb xcomposite xforms xine xinerama xml xorg xv xvid" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_GB it" USERLAND="GNU" VIDEO_CARDS="nvidia"

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

...

...

```

P.S.

il profilo è 2007.0 standard...

----------

## crisandbea

direi che il tuo problema dipenda sopratutto da qui

```
ACCEPT_KEYWORDS="~amd64"
```

non capisco perchè vuoi utilizzare un'architettura in test, 

posta un 

```
emerge -pv gcc
```

----------

## mack1

Ciao anche io ho lo stesso "problema": dopo un emerge --sync mi vuole ricompilare gcc con mudflap attivo ma sono su x86 stabile.

Si è attivata dopo il "sync"(insieme a openmp).

La disabilito in make.conf e vivo felice e contento (visto che prima non era attivata)?

Ciao

----------

## crisandbea

 *mack1 wrote:*   

> Ciao anche io ho lo stesso "problema": dopo un emerge --sync mi vuole ricompilare gcc con mudflap attivo ma sono su x86 stabile.
> 
> Si è attivata dopo il "sync"(insieme a openmp).
> 
> La disabilito in make.conf e vivo felice e contento (visto che prima non era attivata)?
> ...

 

mi risulta molto strana la cosa, anche io ho appena fatto l'aggiornamento alla versione in questione di gcc, ma non avendo da nessuna parte quella flag giustamente lo ha compilato senza, non riesco a capire come mai a voi la voglia compilare,  siete sicuri di non averla inserita in qualche file di configurazione vedi  

```
/etc/make.conf  /etc/portage/package.use
```

  ????

ciao

----------

## mack1

No non l'ho inserita:

 *Quote:*   

> 
> 
> xxxGen ~ # cat /etc/make.conf | grep -i use
> 
> USE="-cups -esd glibc-omitfp -hal kde kdeenablefinal kdehiddenvisibility -kerberos -ldap nsplugin nvidia -oss pic symlink"
> ...

 

crisandbea ho due gentoo installate(è una cosa da spicopatici ma all'epoca non avevo ancora scoperto lo stage4  :Twisted Evil:  ):una è il sistema che uso  normalmente, l'altra è una versione minimale che uso come backup e che aggiorno molto raramente.Questa versione minimale l'ho aggiornata la settimana scorsa mentre la versione che uso normalmente ieri pomeriggio, la differenza tra "emerge --info":

 *Quote:*   

> 
> 
> xxxGen ~ # diff /home/merlinuxxx/Desktop/use-gentoo /home/merlinuxxx/Desktop/use-gentoo2
> 
> 45d44
> ...

 

Tolto nvidia di cui sono il responsabile le altre 2 si sono attivate da sole  :Confused: 

Ciao

----------

## Deus Ex

 *crisandbea wrote:*   

> siete sicuri di non averla inserita in qualche file di configurazione vedi  
> 
> ```
> /etc/make.conf  /etc/portage/package.use
> ```
> ...

 

Sicurissimo anche io: me la sono ritrovata lì, ma l'ho disabilitata in package.use   :Smile: 

----------

## mack1

L'ho disabilitata anche io e vivo felice    :Very Happy: 

Ciao

----------

## crisandbea

 *Deus Ex wrote:*   

>  *crisandbea wrote:*   siete sicuri di non averla inserita in qualche file di configurazione vedi  
> 
> ```
> /etc/make.conf  /etc/portage/package.use
> ```
> ...

 

e bene si devo darvi ragione    :Laughing:    in quanto ho scoperto l'arcano :

```

cat /usr/portage/profiles/default-linux/make.defaults

# Copyright 1999-2005 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

# $Header: /var/cvsroot/gentoo-x86/profiles/default-linux/make.defaults,v 1.27 2007/05/19 03:25:01 vapier Exp $

#

# System-wide defaults for the Portage system

# See portage(5) manpage

#

# Please avoid enabling things by default in here if possible. Understand any

# implications with core packages.  For example, if "java" is in USE and db

# has a conditional dependency on java (which it does,) then a JDK will be

# pulled in during *emerge system*!

# build X in an expected way

USE="bitmap-fonts truetype-fonts type1-fonts"

# make sure toolchain has sane defaults <tooclhain@gentoo.org>

USE="${USE} mudflap fortran openmp"

```

se vedete l'orario su in alto a destra si può notare che è stato aggiunto ieri notte...... 

infatti ora dopo il sync anche a me vuole inserire quella use-flag , qualcuno dei dev  ha qualche info in più sull'utilizzo di quella flag????

NB:eppure ho spulciato nell'ebuild  è tale flag non viene specificata, o almeno non l'ho vista  :Smile: 

ciauzLast edited by crisandbea on Sun May 20, 2007 11:06 am; edited 1 time in total

----------

## tsu.kz.m

Utilizzo un architettura ~amd64 per il semplice motivo che appena trovo un problema lo segnalo... come questo ad esempio!!!  :Very Happy: 

ecco il mio "emerge -pv gcc"

```

Calculating dependencies... done!

[ebuild   R   ] sys-devel/gcc-4.1.2  USE="fortran gcj gtk mudflap* nls (-altivec) -bootstrap -build -d -doc (-hardened) -ip28 -ip32r10k (-multilib) -multislot (-n32) (-n64) -nocxx -objc -objc++ -objc-gc -test -vanilla"

```

quindi mi state dicendo che devo disabilitare il flag x ovviare il problema?

Ma non è una "TOPPA"?

----------

## !equilibrium

 *crisandbea wrote:*   

> NB:eppure ho spulciato nell'ebuild  è tale flag non viene specificata, o almeno non l'ho vista 

 

non ho aperto l'ebuild, ma quasi sicuramente se li' la USE non esiste, allora e' presente nella relativa eclass (/usr/portage/eclass)

/EDIT:

```
workstation equilibrium # grep -r mudflap /usr/portage/eclass/

/usr/portage/eclass/toolchain.eclass:                           IUSE="${IUSE} objc-gc mudflap"

/usr/portage/eclass/toolchain.eclass:           confgcc="${confgcc} $(use_enable mudflap libmudflap)"
```

----------

## bandreabis

Ma a che punto della compilazione ti ha dato errore?

Io lo sto facendo andare senza modificare la useflag.

----------

## tsu.kz.m

beh! La ricompilazione di gcc è molto macchinosa, e lunga devo dire.... Non ti saprei dire precisamente il punto in cui si genera l'errore, ma quasi sicoramente dopo un bel pò!!!! 

Non saprei dirti se stava x finire di ricompilare o ancora ne mancava tanto....

 :Crying or Very sad: 

x adesso ho ricompilato senza quel flag.... Aspetto qualche altra notizia in proposito!!!

----------

## bandreabis

 *tsu.kz.m wrote:*   

> beh! La ricompilazione di gcc è molto macchinosa, e lunga devo dire.... Non ti saprei dire precisamente il punto in cui si genera l'errore, ma quasi sicoramente dopo un bel pò!!!! 
> 
> Non saprei dirti se stava x finire di ricompilare o ancora ne mancava tanto....
> 
> x adesso ho ricompilato senza quel flag.... Aspetto qualche altra notizia in proposito!!!

 

EDIT: ha compilato senza errori con quella use attiva.

----------

## tsu.kz.m

Anche tu 6 su Amd64?

Allora deduco mi manchi qualche dipendenza da qualcosa che non ho idea   :Sad:   :Crying or Very sad: 

----------

## bandreabis

 *tsu.kz.m wrote:*   

> Anche tu 6 su Amd64?
> 
> Allora deduco mi manchi qualche dipendenza da qualcosa che non ho idea   

 

Sì, 64bit.

----------

## lavish

Spostato da Forum di discussione italiano a Forum italiano (Italian).

----------

## tsu.kz.m

che dire....

questa è la mia CFLAG

```

CFLAGS="-march=athlon64 -O2 -pipe -msse3 -DNDEBUG"

```

questo è il mio emerge -pv gcc

```

Calculating dependencies... done!

[ebuild   R   ] sys-devel/gcc-4.1.2  USE="fortran gcj gtk mudflap* nls (-altivec) -bootstrap -build -d -doc (-hardened) -ip28 -ip32r10k (-multilib) -multislot (-n32) (-n64) -nocxx -objc -objc++ -objc-gc -test -vanilla" 0 kB

```

Se c'è qualche altro suggerimento lo provo senza esitare  :Smile: 

----------

## Onip

avete provato a cercare (ed eventualmente postare) su bugzilla ?

----------

## !equilibrium

NOTA: mudflap rende la roba che compilate circa 20 volte piu' lenta perche' tutte le operazioni di libreria (strlen & co) vengono riscritte per controllare che non sfori i puntatori (fonte: @flameeyes).

ovviamente ognuno e' libero di fare quello che vuole,

pero' ora non potete piu' dire che non ne eravate a conoscenza   :Wink: 

----------

## tsu.kz.m

grazie della info, almeno sono al corrente di cosa vado incontro se la disabilito!!!!  :Wink: 

Però per metterla sul make.defaults di .../.../default-linux/... dovrebbe esserci un motivo ben preciso... o sbaglio?

magari sicurezza o cos'altro.... 

Aspetto ancora suggerimenti....

grazie  :Sad: 

----------

## .:chrome:.

 *!equilibrium wrote:*   

> NOTA: mudflag rende la roba che compilate circa 20 volte piu' lenta perche' tutte le operazioni di libreria (strlen & co) vengono riscritte per controllare che non sfori i puntatori (fonte: @flameeyes).

 

oh merda... sei sicuro di questo? c'è qualche test di questa roba in giro?

----------

## Onip

 *.:chrome:. wrote:*   

>  *!equilibrium wrote:*   NOTA: mudflag rende la roba che compilate circa 20 volte piu' lenta perche' tutte le operazioni di libreria (strlen & co) vengono riscritte per controllare che non sfori i puntatori (fonte: @flameeyes). 
> 
> oh merda... sei sicuro di questo? c'è qualche test di questa roba in giro?

 

Quoto e attendo "con ansia" notizie

----------

## Dece

 *!equilibrium wrote:*   

> NOTA: mudflag rende la roba che compilate circa 20 volte piu' lenta perche' tutte le operazioni di libreria (strlen & co) vengono riscritte per controllare che non sfori i puntatori (fonte: @flameeyes).

 

 :Shocked:   :Shocked:   :Shocked: 

Quindi immagino che sia una flag destinata soltanto a sistemi dove è richiesta una maggiore protezione contro i buffer overflow? E perchè allora è attivata a default?  :Confused: 

----------

## tsu.kz.m

 *Quote:*   

> 
> 
> Quindi immagino che sia una flag destinata soltanto a sistemi dove è richiesta una maggiore protezione contro i buffer overflow? E perchè allora è attivata a default?
> 
> 

 

è un pò quello che mi chiedo anche io.... Soprattutto dopo che non mi compila il gcc!!!  :Sad: 

Probabilmente la disabiliterò, ma vorrei saperne di più... cioè che altra dipendenza deve avere gcc x far funzionare bene il "mudflap"....

soprattutto xkè da 5 giorni non riesco ad aggiornare il sistema xkè come primo pacchetto va a ricompilare ovviamente il gcc....  :Sad: 

----------

## !equilibrium

 *.:chrome:. wrote:*   

> oh merda... sei sicuro di questo? c'è qualche test di questa roba in giro?

 

http://gcc.gnu.org/wiki/Mudflap%20Pointer%20Debugging

http://gcc.fyxm.net/summit/2003/mudflap.pdf

citazione dal PDF sopra linkato:

```
Mudflap instrumentation and runtime costs extra

time and memory. At build time, the compiler

needs to process the instrumentation code.

When running, it takes time to perform the

checks, and memory to represent the object

database. The behavior of the application has a

strong impact on the run-time slowdown, affecting

the lookup cache hit rate, the overall

number of checks, and the number of objects

tracked in the database, and their rates of

change. Table 2 lists some of these. A few

selected applications have been built with and

without mudflap instrumentation, then run to

estimate the slowdowns
```

nel PDF c'è anche una tabella che mostra dei benchmark fatti ma sinceramente non sono riuscito ad interpretarli correttamente.

 *Dece wrote:*   

> Quindi immagino che sia una flag destinata soltanto a sistemi dove è richiesta una maggiore protezione contro i buffer overflow? E perchè allora è attivata a default? 

 

la protezione contro i buffer overflow è data dal supporto SSP (Stack smash protection) di gcc, mudflap è più uno strumento di debugging.

sul perchè tale USE è attiva di default non saprei, non sono un devel di gentoo e probabilmente c'è qualche buon motivo per averla attiva di default (ipotizzo per una migliore qualità e portabilità del codice sorgente); in merito preferisco non pronunciarmi e lasciare la parola a chi ne sa più di me sull'argomento mudflap.

----------

## Dece

 *!equilibrium wrote:*   

> mudflap è più uno strumento di debugging.
> 
> 

 

Ho dato una rapida letta al pdf e in effetti sembra che serva proprio ad avere un debug "anticipato" dei buffer overflow

 *Quote:*   

> 
> 
> There exist several technologies for catching pointer use errors. They have distinct approaches and capability/performance tradeoffs.
> 
> For example, from a debugging point of view, it is better to catch the memory corruption at the moment it occurs, because context will be fresh and available.
> ...

 

 *!equilibrium wrote:*   

> nel PDF c'è anche una tabella che mostra dei benchmark fatti ma sinceramente non sono riuscito ad interpretarli correttamente
> 
> 

 

Se è come ho capito io: le prime due colonne indicano quali sono i fattori di maggiore/minore impatto, le ultime due di quanto si rallenta il sistema (quindi significa che si rallenta fino a 5 volte rispetto al non utilizzo di mudflap?  :Shocked:  )

A questo punto mi sembra sempre di più un errore l'abilitazione di quella flag: serve soltanto ad alcuni sviluppatori, non certo a tutti gli utenti Gentoo   :Confused: 

----------

## Onip

 *http://gcc.fyxm.net/summit/2003/mudflap.pdf wrote:*   

> 
> 
> Using mudﬂap is intended to be easy. One builds a mudﬂap-protected program by adding an extra compiler option (-fmudflap) to objects to be instrumented; one links with the same option, plus perhaps -static. One may run such a program by just starting it as usual.
> 
> 

 

Da ciò mi pare di capire che questo lavoro sui buffer viene effettuato solo se si utilizza quella flag in compilazione, o sbaglio? Mi sa parecchia fatica ri-compilare gcc per la terza volta di fila, di cui due per abilitare e poi disabilitare questa USE.

Voi che ne dite?

----------

## djinnZ

ti modifichi a manina /var/db/pkg/sys-devel/gcc-vattelappesca/IUSE, come già detto.

----------

## Onip

magari, l'ho già emerso...

----------

## Atzeni

A me è successa una cosa simile aggiornando al gcc 4.1.2 ma sono ancora fermo al profile 2006.1. 

Dopo l'emerge del gcc ho fatto un emrge -e system ma devo ancora fare emerge -e world.

Un controllo fatto in questo momento (non me ne ero accorto) mi ha mostrato che ho compilato tale gcc con +mudflap e sono certo che io non ho aggiunto quella flag. 

Il file /usr/portage/profiles/default-linux/make.defaults riporta tra le sue righe 

```

# make sure toolchain has sane defaults <tooclhain@gentoo.org>

USE="${USE} mudflap fortran openmp"

```

Suppongo venga da li quella flag. Ma non mi spiego come mai dal giorno alla notte sia cambiata 

 :Confused: 

----------

## DierRe

Anch'io sto usando amd64 ed anch'io ho avuto lo stesso problema con il gcc-4.1.2 solo che dopo aver tolto la flag di cui parlate, il problema continua a presentarsi.

```
make[2]: *** [insn-attrtab.o] Error 1

make[2]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.1.2/work/build/gcc'

make[1]: *** [stageprofile_build] Error 2

make[1]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.1.2/work/build/gcc'

make: *** [profiledbootstrap] Error 2

!!! ERROR: sys-devel/gcc-4.1.2 failed.

Call stack:

  ebuild.sh, line 1615:   Called dyn_compile

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

  ebuild.sh, line 44:   Called src_compile

  ebuild.sh, line 1305:   Called toolchain_src_compile

  toolchain.eclass, line 26:   Called gcc_src_compile

  toolchain.eclass, line 1541:   Called gcc_do_make

  toolchain.eclass, line 1415:   Called die

!!! emake failed with profiledbootstrap

!!! 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-devel/gcc-4.1.2/temp/build.log'.
```

Non è che forse è un problema di memoria o una roba simile?

----------

## jiojio74

Mai successa una cosa del genere:  ho provato 2-3 volte ad aggiornare gcc ed ogni volta mi si blocca irrimediabilmente il PC: niente messaggi, schermata nera, tastiera che non risponde in nessun modo. Per ora non è un problema in quanto il resto del sistema funziona lo stesso così come il vecchio compilatore, ma vorrei capire come sia possibile una cosa del genere.

Qui i flag che uso:

```
sys-devel/gcc-4.1.2 [4.1.1-r3] USE="fortran gtk mudflap* nls (-altivec) -bootstrap -build -d% -doc -gcj (-hardened) (-ip28) (-ip32r10k) (-multilib) -multislot (-n32) (-n64) -nocxx -objc -objc++ -objc-gc -test -vanilla
```

Il make.conf:

```
CFLAGS="-O2 -march=athlon-xp -pipe"

CHOST="i686-pc-linux-gnu"

CXXFLAGS="${CFLAGS}"

MAKEOPTS="-j2"

#GENTOO_MIRRORS="ftp://mirror.switch.ch/mirror/gentoo ftp://ftp.solnet.ch/mirror/Gentoo "

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

USE="slang X kde java mp3 vorbis -xinerama apache2 -ipv6 opengl gnome ldap \

     ldapsam gtk hal avahi cdr dvdr jpeg javascript dbus qt3 qt4 arts sysfs acl \

     kerberos ldap pam readline crypt gdbm samba ssl tcpd -cups \

     python perl xml2 mysql berkdb ldapsam swat php xml innodb png \

     logrotate aac ieee1394 mmx network ogg ass thora x264 xvid oss \

     alsa ffmpeg firefox mpeg theora xine win32codecs aalib \

     directfb dvd modplug jpeg2k tiff xscreensaver kdehiddenvisibility \

     gif glib mis odbc lirc matroska skins svga svg upnp vcd wxwindows xosd \

     cddb bidi cdda daap dvb esd gstreamer real quicktime divx a52 dts dxr3 \

     fbcon flac imagemagick libcaca mmap musepack pulseaudio vidix \

     xdb wavpack amr threads aiglx pdf glitz svg javascript -mad \

     fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov \

      pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow ts"

CCACHE_SIZE="2G"

CCACHE_DIR="/var/tmp/ccache"

#FEATURES="parallel-fetch"

FEATURES="parallel-fetch ccache"

PORT_LOGDIR=/var/log/portage

PORTAGE_ELOG_CLASSES="warn error log info"

PORTAGE_ELOG_SYSTEM="save"

#Use per ldap e samba

#USE="${USE} acl kerberos ldap pam readline crypt gdbm samba ssl tcpd -cups python

#      perl xml2 mysql berkdb ldapsam swat"

#use per gnome

LINGUAS="en_GB it"

#X!

INPUT_DEVICES="keyboard mouse"

VIDEO_CARDS="radeon"

ALSA_CARDS="emu10k1"

LIRC_DEVICES="livedrive_midi"

```

i vari log finiscono con:

```
gcc   -O -DENABLE_CHECKING -DENABLE_ASSERT_CHECKING -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wn

         build/genattrtab.o build/genautomata.o \

         build/rtl.o build/read-rtl.o build/ggc-none.o build/min-insn-modes.o build/gensupport.o build/insn-conditions.o build/print-rtl.o build/errors.o \

         build/varray.o ../build-i686-pc-linux-gnu/libiberty/libiberty.a -lm

build/genattrtab /var/tmp/portage/sys-devel/gcc-4.1.2/work/gcc-4.1.2/gcc/config/i386/i386.md > tmp-attrtab.c

```

```
gcc -c   -O -DENABLE_CHECKING -DENABLE_ASSERT_CHECKING -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long

gcc -c   -O -DENABLE_CHECKING -DENABLE_ASSERT_CHECKING -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long

gcc -c   -O -DENABLE_CHECKING -DENABLE_ASSERT_CHECKING -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long
```

```
gcc   -O -DENABLE_CHECKING -DENABLE_ASSERT_CHECKING -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wn

         build/genattrtab.o build/genautomata.o \

         build/rtl.o build/read-rtl.o build/ggc-none.o build/min-insn-modes.o build/gensupport.o build/insn-conditions.o build/print-rtl.o build/errors.o \

         build/varray.o ../build-i686-pc-linux-gnu/libiberty/libiberty.a -lm

build/genautomata.o: file not recognized: File format not recognized

collect2: ld returned 1 exit status

make[2]: *** [build/genattrtab] Error 1

make[2]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.1.2/work/build/gcc'

make[1]: *** [stage1_build] Error 2

make[1]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.1.2/work/build/gcc'

make: *** [profiledbootstrap] Error 2

!!! ERROR: sys-devel/gcc-4.1.2 failed.

Call stack:

  ebuild.sh, line 1615:   Called dyn_compile

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

  ebuild.sh, line 44:   Called src_compile

  ebuild.sh, line 1305:   Called toolchain_src_compile

  toolchain.eclass, line 26:   Called gcc_src_compile

  toolchain.eclass, line 1537:   Called gcc_do_make

  toolchain.eclass, line 1411:   Called die

!!! emake failed with profiledbootstrap

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

!!! A complete build log is located at '/var/log/portage/sys-devel:gcc-4.1.2:20070524-125616.log'.
```

Quest'ultimo è con ccache abilitato.

Qualche suggerimento?Last edited by jiojio74 on Wed Jun 13, 2007 10:16 am; edited 1 time in total

----------

## !equilibrium

dopo un'attenta rilettura, le possibili cause sono due:

1- hai finito lo spazio su disco, o comunque non ne hai a sufficienza per poter compilare gcc. in caso controlla e se necessiti di spazio disabilita ccache, svuota /var/tmp/portage/* e /usr/portage/distfiles/*.

2- potrebbe essere la USE "mudflap", argomento già trattato in questo thread --> https://forums.gentoo.org/viewtopic-t-560267-highlight-mudflag.html

disabilita quella USE (che tanto non ti serve) e se gcc compila correttamente dimmelo che faccio il merge dei due threads. l'unico dubbio che non mi spiego è il fatto che ti si blocca l'intero sistema e la cosa non ha nessuna attinenza con la USE mudflag.

/EDIT: anche la USE "gtk" puoi disabilitarla se non ne fai uso (sono dei frontend grafici per gcc, dubito fortemente che tu ne faccia uso)

----------

## jiojio74

Compilato. Tutto OK, grazie ancora

----------

## !equilibrium

 *jiojio74 wrote:*   

> Compilato. Tutto OK, grazie ancora

 

se puoi postaci anche la soluzione al tuo problema, così che possa essere di aiuto ad altre persone. grazie.

----------

## jiojio74

[mod] (by @!equilibrium) siccome il problema è legato a mudflap ho fatto il merge del thread con questo[/mod]

Ho tolto dagli USE mudflap:

```
# USE="-mudflap" emerge gcc
```

Non è proprio una soluzione, ma del mudflap posso farne a meno

P.S.: Ho anche disattivato ccache temporaneamente in quanto aveva dentro un object ovviamente mal compilato

----------

## jiojio74

Mi rimane questo dubbio: come è possibile che non mi dia neanche un kernel panic? Schermo nero, tastiera ferma (anche il num lock non va) nessunissima reazione.

Venerdì, quando ho un pò di tempo, cerco di ricompilarlo col mudflap e mi piazzo davanti allo schermo (con una bella birretta intanto che aspetto  :Twisted Evil:  ) e se crasha vedo gli ultimissimi log (che se li cerco mi attacco)

Suggerimenti su quali log controllare?

----------

## !equilibrium

 *jiojio74 wrote:*   

> Mi rimane questo dubbio: come è possibile che non mi dia neanche un kernel panic? Schermo nero, tastiera ferma (anche il num lock non va) nessunissima reazione.

 

quando succedono questo tipo di situazioni durante una compilazione, i motivi generalmente sono:

- mancanza di spazio su disco

- swap completamente saturo o totalmente assente

- grave problema hardware (in genere temperatura della CPU troppo elevata o RAM difettosa)

in caso incollaci un tuo "df".

 *jiojio74 wrote:*   

> Venerdì, quando ho un pò di tempo, cerco di ricompilarlo col mudflap e mi piazzo davanti allo schermo (con una bella birretta intanto che aspetto  ) e se crasha vedo gli ultimissimi log (che se li cerco mi attacco)
> 
> Suggerimenti su quali log controllare?

 

rileggiti tutto il thread, viene spiegato cosa è il supporto mudflap e il perchè va disattivato su un desktop (a meno che tu sia un programmatore a tempo pieno e hai bisogno di mudflap per fare del debugging). sinceramente non credo che il tuo problema sia legato alla USE "mudflap", casomai è più probabile un problema hardware e/o un problema di configurazione.

in caso postaci il tuo "emerge --info" e gli eventuali log in dmesg prima del crash (se è possibile).

----------

## jiojio74

Spazio su disco: 55GB liberi (credo sian sufficenti) 1GB di swap anche, grave problema hardware non credo: si è ripresentato tre volte e solo con mudflap.

Comunque ecco il df:

```
Filesystem           1K-blocks      Used Available Use% Mounted on

/dev/hda2             72144788  17197884  54946904  24% /

udev                    256672      2712    253960   2% /dev

/dev/hde1            120620312 102506920  18113392  85% /condivisi/archivio

/dev/hdg1            120620312 103464596  17155716  86% /condivisi/archivio2

shm                     256672         0    256672   0% /dev/shm

```

Un pò pieni gli HD degli archivi   :Razz: 

Qualche giorno prima avevo anche ricompilato tutto KDE ed era andato tutto liscio.

ecco emerge --info:

```
Portage 2.1.2.7 (default-linux/x86/2007.0, gcc-4.1.2, glibc-2.5-r3, 2.6.20-gentoo-r8 i686)

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

System uname: 2.6.20-gentoo-r8 i686 AMD Athlon(TM) XP 2200+

Gentoo Base System release 1.12.9

Timestamp of tree: Thu, 14 Jun 2007 15:20:01 +0000

ccache version 2.4 [enabled]

dev-java/java-config: 1.3.7, 2.0.32

dev-lang/python:     2.4.4-r4

dev-python/pycrypto: 2.0.1-r5

dev-util/ccache:     2.4-r7

sys-apps/sandbox:    1.2.17

sys-devel/autoconf:  2.13, 2.61

sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10

sys-devel/binutils:  2.16.1-r3

sys-devel/gcc-config: 1.3.16

sys-devel/libtool:   1.5.22

virtual/os-headers:  2.6.17-r2

ACCEPT_KEYWORDS="x86"

AUTOCLEAN="yes"

CBUILD="i686-pc-linux-gnu"

CFLAGS="-O2 -march=athlon-xp -pipe"

CHOST="i686-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"

CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo"

CXXFLAGS="-O2 -march=athlon-xp -pipe"

DISTDIR="/usr/portage/distfiles"

FEATURES="ccache distlocks metadata-transfer parallel-fetch sandbox sfperms strict"

GENTOO_MIRRORS="http://www.die.unipd.it/pub/Linux/distributions/gentoo-sources/ ftp://mirror.switch.ch/mirror/gentoo/ ftp://ftp.solnet.ch/mirror/Gentoo "

LINGUAS="en_GB it"

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="3dnow 3dnowext X a52 aac aalib acl aiglx alsa amr apache2 apic arts ass avahi berkdb bidi bitmap-fonts cdda cddb cdr cli cmov cracklib crypt cx8 daap dbus de directfb divx dri dts dvb dvd dvdr dxr3 esd fbcon ffmpeg firefox flac fortran fpu fxsr gdbm gif glib glitz gnome gpm gstreamer gtk hal iconv ieee1394 imagemagick innodb isdnlog java javascript jpeg jpeg2k kde kdehiddenvisibility kerberos ldap ldapsam libcaca libg++ lirc logrotate matroska mca mce midi mis mmap mmx mmxext modplug mp3 mpeg msr mtrr musepack mysql ncurses network nls nptl nptlonly odbc ogg opengl openmp oss pae pam pat pcre pdf perl pge php png pppd pse pse36 pulseaudio python qt3 qt4 quicktime readline real reflection samba sep session skins slang spl sse ssl svg svga swat syscall sysfs tcpd theora thora threads tiff truetype-fonts ts tsc type1-fonts unicode upnp vcd vidix vme vorbis wavpack win32codecs wxwindows x264 x86 xdb xine xml xml2 xorg xosd xscreensaver xvid zlib" ALSA_CARDS="emu10k1" 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_GB it" LIRC_DEVICES="livedrive_midi" USERLAND="GNU" VIDEO_CARDS="radeon"

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

```

Per il dmes: domani che posso starci davanti e ricreare l'errore.

----------

## jiojio74

A proposito del blocco: credo che sia un problema di ccache mi è ricapitato con un altro pacchetto: xorg-server, disabilitato ccache si sta compilando senza problemi.

----------

