# Segmentation fault nela compilazione di librerie grafiche.

## Kibuzo

Salve, sono nuovo, piacere mio.

Ho gentoo installata da un annetto e non mi aveva mai dato problemi così grossi da iscrivermi a questo forum (pigrizia indescrivibile), ma adesso sì. Sono successe due cose, recentemente, che possono aver danneggiato qualcosa: tanto per cominciare poco fa un fulmine mi fuse l'alimentatore, e ci sta che la scorrentata sia arrivata anche oltre danneggiando altro, ma il filesystem root pare essere ancora intatto (come tutto quanto, ho fatto partizione unica, dannata pigrizia  :Razz: ), poi ho dato emerge (-D) di mono e monodevelop, da allora tutto ha smesso di andare. Beh, quasi tutto, diciamo che il primo sintomo è stato il fallimento dell'avvio di gaim che, tutt'altro, sosteneva fosse colpa sua e mi invitava a scrivere il log del crash ai loro debugger (non ci ho mai creduto, la cosa mi ha puzzato fin da subito...), poi non si avviava più xfce al riavvio dando un errore di Segmentation fault. Quando poi ho provato a ricompilarlo mi hanno dato un errore in compilazione le gtk, una cosa del genere

 *Quote:*   

> /bin/sh: line 2:  2936 Segmentation fault      GDK_PIXBUF_MODULE_FILE=../gdk-pixbuf/gdk-pixbuf.loaders ./gtk-update-icon-cache --force --ignore-theme-index --source builtin_icons stock-icons > gtkbuiltincache.h.tmp
> 
> make[2]: *** [gtkbuiltincache.h] Error 139
> 
> make[2]: Leaving directory `/var/tmp/portage/x11-libs/gtk+-2.10.14/work/gtk+-2.10.14/gtk'
> ...

 

lo stesso sembravano fare le qt 

AGGIORNAMENTO PREVISTO PER QUALCHE MINUTO COL LOG DELLE QT CHE STO RIPROVANDO A COMPILARE

qua presento l'output del mio emerge --i

 *Quote:*   

> 
> 
> localhost ~ # emerge --info
> 
> Portage 2.1.3.6 (default-linux/amd64/2006.1, gcc-4.1.2, glibc-2.6.1-r0, 2.6.21-gentoo-r3 x86_64)
> ...

 

e ne approfitto per chiedere: come faccio a toglier tutta sta merda dalle use? c'è un sacco di roba che io non ho mai messo nel make.conf

Il mio amore a la mia determinazione ancora non hanno potuto niente. ho provato a cambiare le gcc (nel caso mono -D si fosse intromesso) e tornare alle 4.1 dopo di che anche a ricompilarci il kernel e riavviare ammodino ma ancora il segmentation fault mi perseguita. Sembra, tra l'altro, un problema con le icone o_O

Il mio sistema è il seguente

 *Quote:*   

> 
> 
> AMD64X2 4200+
> 
> Nvidia 6600 TC pcie
> ...

 

Grazie in anticipo.

----------

## cloc3

stai usando cflags piuttosto spinte.

il tuo problema non è unico.

anche in quel post viene consigliato di semplificare le cflags, non di cambiare versione di gcc.

in generale, l'uso di cflags troppo elaborate è sconsigliato in gentoo.

----------

## Kibuzo

Adesso ho  *Quote:*   

>  CFLAGS="-o2 -march=athlon64"

  (non che creda che -o2 serva a qualcosa ma non si sa mia:P) ma ancora non si compila. Stesso errore nello stesso punto. Devo ricompilare anche tutto il resto, prima?

P.S.: come hai trovato quel post? ho cercato per un giorno intero su google... o_O

Aggiorno con errore di compilazione di jpeg

 *Quote:*   

> >>> Source unpacked.
> 
> >>> Compiling source in /var/tmp/portage/media-libs/jpeg-6b-r8/work/jpeg-6b ...
> 
>  * econf: updating jpeg-6b/config.guess with /usr/share/gnuconfig/config.guess
> ...

 

----------

## randomaze

 *Kibuzo wrote:*   

> Adesso ho  *Quote:*    CFLAGS="-o2 -march=athlon64"  (non che creda che -o2 serva a qualcosa ma non si sa mia:P)

 

Al momento serve per non far compilare nulla... devi usare la O maiuscola e non la o minuscola  :Wink: 

 *Quote:*   

> configure: error: installation or configuration problem: C compiler cannot create executables. 

 

appunto.

----------

## Kibuzo

 *randomaze wrote:*   

>  *Kibuzo wrote:*   Adesso ho  *Quote:*    CFLAGS="-o2 -march=athlon64"  (non che creda che -o2 serva a qualcosa ma non si sa mia:P) 
> 
> Al momento serve per non far compilare nulla... devi usare la O maiuscola e non la o minuscola 
> 
>  *Quote:*   configure: error: installation or configuration problem: C compiler cannot create executables.  
> ...

 

omg che brodo o_O grazie

ma questo è un errore genuino

 *Quote:*   

> 
> 
>  * Updating icons cache ...
> 
> /usr/portage/eclass/gnome2-utils.eclass: line 102:  7652 Segmentation fault      ${updater} -qf ${dir}
> ...

 

----------

## randomaze

Metti il LiveCD e fai un controllo accurato di:

 Memoria (al prompt ti boot scegli memtest e lascialo andare per un paio di cicli completi)

 Stato della partizione  (fai il boot normale e avvii xfs_check o il tool appropriato per il tuo file system)

 Stato dell'HD (fai il boot normale e avvii badblocks - leggi la man page prima perché non ricordo i parametri)

----------

## Kibuzo

memtest86 e fsck.ext3 li avevo già fatti ed erano tranquillissimi. Il problema sembra risolto semplicemente cancellato la cartelle con quelle icone. Vattelappesca.

----------

## randomaze

 *Kibuzo wrote:*   

> memtest86 e fsck.ext3 li avevo già fatti ed erano tranquillissimi. Il problema sembra risolto semplicemente cancellato la cartelle con quelle icone. Vattelappesca.

 

Evidentemente erano inconsistenti... lo strano che in linea di massima avresti dovuto avere delle indicazioni già facendo il check con fsck.ext3.

----------

## Kibuzo

Aggiorno. Ora vanno le GTK ma QT ancora crasha in compilazione. Si tratta per la precisione di qt-3.3.8 e qui sotto riporto le ultime righe prima della morte della compilazione. Ho provato alcuni consigli trovati su internet, che consistevano sostanzialmente nel rimuovere "vecchiume" inerente a kde e qt, già fatto (non c'era molto in realtà), non ha funzionato.

 *Quote:*   

> Session management error: Authentication Rejected, reason : None of the authentication protocols specified are supported and host-based authentication failed
> 
> /var/tmp/portage/x11-libs/qt-3.3.8-r3/work/qt-x11-free-3.3.8/bin/moc command.h -o .moc/release-shared-mt/moc_command.cpp
> 
> Session management error: Authentication Rejected, reason : None of the authentication protocols specified are supported and host-based authentication failed
> ...

 

Vi ringrazio delle risposte

----------

## djinnZ

gcc/libtool/binutils danneggiate (probabilmente dovrebbe essere un crash del preprocessore gcc1).

```
se vuoi usare CFLAGS/LDFLAGS spinte (e sono il primo a farlo) è meglio che installi bashrc-ng e provvedi a definire delle flag minime, nel tuo caso solo -O2 -march=amd64 e niente ldflag, per glibc gcc binutils etc. Meglio perdere un poco di tempo nella compilazione che rischiare di trovarsi un sistema irrecuperabile.

Per esperienza personale tra avere la libc compilata "-O3 -march=athlon-xp -fomit-frame-pointer -Wl,-O1 -Wl,--as-need" e solo "-O2 -march=i686" non passa una grande diffrenza mentre tra kde ed OOo compilati con "-O3 ... vattelappesca" e "-O2 -march=i686" l'incremento di velocità lo vede eccome.

Per quanto riguarda -msse et similia ci sono apposite use flag che li abilitano nei pacchetti che ne fanno proficuamente uso e dovrebbe esserci un thread di cazzantonio su come influenzano, non sempre positivamente il calcolo matematico e le prestazioni.

```

[quote="Kibuzo"]e ne approfitto per chiedere: come faccio a toglier tutta sta merda dalle use? c'è un sacco di roba che io non ho mai messo nel make.conf[quote]

probabilmente sono definite nel profilo, se sai qual che stai facendo, le puoi disabilitare aggiungendole come -use in make.conf (e farei pulizia tra le VIDEO_CARDS per prima cosa).

per finire quel -j5 non capisco a cosa ti serva (a parte far guai) visto che sembri avere un sistema monoprocessore al massimo è -j3 (numero cpu+1) visto che è un dual core.

----------

## Kibuzo

Appena arrivo a casa provo a sistemare binutils. Ho un dual core (X2), per quello uso -j5, -j3 finisce per usare massimo massimo 90% del processore in compilazione, ho provato a fare make del kernel, testando le varie opzioni: -j5 risulta essere la migliore. Al momento non ho flag use spinte e si', anche io partirei dalle video card  :Razz:  comunque quella cosa del make.conf la sapevo, mi chiedevo solo se ci fosse un modo di pulirlo piu' "elegantemente", senza il bisogno di zozzare il make.conf....

----------

## djinnZ

cambia profilo (probabilmente usi il profilo desktop) ma vedi che senza USE="X amd64 nptl" per dirne una potresti avere dei seri problemi. L'unica è fortran che potresti tranquillamente disabilitare per me. VIDEO_CARDS ALSA etc invece se non li definisci in make.conf partono con quanto è definito nel profilo e se usi il desktop dovrebbe avere abititate tutte le schede possibili e mi pare inutile compilare il server X per una matrox che sicuramente non hai o anche per una nvidia quando hai una ati (che è peggio).

Alcuni pacchetti hanno problemi già con -j3 e mi pare che qt sia tra questi.

-msse3 è spinta

----------

## Kibuzo

 *djinnZ wrote:*   

> cambia profilo (probabilmente usi il profilo desktop) ma vedi che senza USE="X amd64 nptl" per dirne una potresti avere dei seri problemi. L'unica è fortran che potresti tranquillamente disabilitare per me. VIDEO_CARDS ALSA etc invece se non li definisci in make.conf partono con quanto è definito nel profilo e se usi il desktop dovrebbe avere abititate tutte le schede possibili e mi pare inutile compilare il server X per una matrox che sicuramente non hai o anche per una nvidia quando hai una ati (che è peggio).
> 
> Alcuni pacchetti hanno problemi già con -j3 e mi pare che qt sia tra questi.
> 
> -msse3 è spinta

 

Se leggi bene non ho più quella flag use.

qt ho provato a ricompilarlo con -j1 e da lo stesso problema. Inoltre già lo avevo installato in precedenza con -j5, niente problemi. Intanto ho messo a ricompilare le binutils e poi qt, speriamo bene.

La compilazione di binutils non è sevita, Qt crasha ancora nello stesso punto.

----------

## Kibuzo

Ma poi segmentation fault è un errore strano per la compilazione... è quello che non riesco a spiegarmi, se il compilatore non ha problemi e il pacchetto è adeguato, come può dare segmentation fault?

p.s.: non è un problema che gli os headers siano di un kernel 2.6.22 mentre io ho compilato il 2.6.21? o_O in /usr/src/linux c'è 2.6.21...

----------

## Scen

Se avvii con LiveCD e fai chroot nel sistema, e provi a compilare, ottieni ancora gli stessi errori?

 *Kibuzo wrote:*   

> Sono successe due cose, recentemente, che possono aver danneggiato qualcosa: tanto per cominciare poco fa un fulmine mi fuse l'alimentatore, e ci sta che la scorrentata sia arrivata anche oltre danneggiando altro

 

Beh, non si possono escludere danni hardware al sistema  :Rolling Eyes:  . Controlla se la temperatura della CPU, durante la compilazione, sale troppo. Inoltre controlla la frequenza, magari per prova prova ad abbassarla e vedere se il problema persiste

 *Kibuzo wrote:*   

> non è un problema che gli os headers siano di un kernel 2.6.22 mentre io ho compilato il 2.6.21? o_O in /usr/src/linux c'è 2.6.21...

 

No, non è un problema, le due cose sono completamente indipendenti. L'importante (non è vitale, ma meglio stare tranquilli  :Rolling Eyes:  ) è che, dopo ogni aggiornamento di linux-headers, ricompili glibc, come consigliato dal messaggio di post-installazione di linux-headers.

----------

## Kibuzo

 *Scen wrote:*   

> Se avvii con LiveCD e fai chroot nel sistema, e provi a compilare, ottieni ancora gli stessi errori?

 

Sembra un'ottima idea, appena riesco a avviare ci provo (al momento il livecd si blocca durante la copia dei file in tmpfs, chissà perché... mi ha sempre dato problemi il livecd)

----------

## Scen

 *Kibuzo wrote:*   

> al momento il livecd si blocca durante la copia dei file in tmpfs, chissà perché... mi ha sempre dato problemi il livecd)

 

Siccome tmpfs = memoria RAM, ipotizzo che effettivamente tu abbia dei problemi hardware relativi ai banchi di memoria.

Prova anche a sostituirli con altri, se puoi, (oppure imposta da BIOS dei valori inferiori di CAS. e frequenza di lavoro) e vedere se il problema si risolve.

----------

## Kibuzo

 *Scen wrote:*   

>  *Kibuzo wrote:*   al momento il livecd si blocca durante la copia dei file in tmpfs, chissà perché... mi ha sempre dato problemi il livecd) 
> 
> Siccome tmpfs = memoria RAM, ipotizzo che effettivamente tu abbia dei problemi hardware relativi ai banchi di memoria.
> 
> Prova anche a sostituirli con altri, se puoi, (oppure imposta da BIOS dei valori inferiori di CAS. e frequenza di lavoro) e vedere se il problema si risolve.

 

SBAGLIATO

Problemi di incompatibilità tra livecd di gentoo e qualcosa di questo computer. Provato anche con altri banchi di ram, testata la ram con memtest86: come se non bastasse è un problema che mi dava anche il giorno dell'installazione, che poi risolsi usando uno dei tanti parametri disponibili al boot, ma non ricordo quale   :Mr. Green: 

inoltre suppongo che un problema di ram non mi manderebbe in segmentation fault sempre allo stesso punto della compilazione, e non sarebbe la sola operazione problematica.

----------

## djinnZ

dsdt bacata? acpi blacklisteed? possibile

lettore/masterizzatore sgradito? mi pare che ce ne erano un paio.

il controller sata/pata che bestia è?

Può essere anche che il cd non sia ben leggibile, ho una copia di sabayon che parte tranquillamente sul portatile ma se faccio l'errore di tentare di avviarla sul desktop mi si blocca per problemi di lettura (come se il dvd fosse graffiato o smerigliato ma non è)

----------

## Kibuzo

Ok. Ho provato a compilare da livecd, niente da fare, stesso problema.

----------

