# [risolto] errore compilazione dbus (tornare da ~x86 a x86)

## triki

dando un emerge -u --deep world cerca di aggiornarmi dbus, a un certo punto della compilazione però mi dà questo errore:

```
i686-pc-linux-gnu-gcc: dbus_bindings.c: No such file or directory

i686-pc-linux-gnu-gcc: no input files

make[3]: *** [dbus_bindings.lo] Error 1

make[3]: Leaving directory `/var/tmp/portage/dbus-0.23.4-r1/work/dbus-0.23.4/python'

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

make[2]: Leaving directory `/var/tmp/portage/dbus-0.23.4-r1/work/dbus-0.23.4/python'

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

make[1]: Leaving directory `/var/tmp/portage/dbus-0.23.4-r1/work/dbus-0.23.4'

make: *** [all] Error 2

!!! ERROR: sys-apps/dbus-0.23.4-r1 failed.

!!! Function src_compile, Line 106, Exitcode 2

!!! (no error message)

!!! If you need support, post the topmost build error, NOT this status message.
```

non riesco assolutamente a capire quale sia l'errore e tanto meno so a cosa serve sto' dbus...

Nel caso fosse una questione di USE queste sono le mie flag:

```
USE="aac alsa arts audifile avi -bonobo cdr -cjk cups divx4linux dvb dvd dvdr -emacs -emacs-w3 encode esd exif fbcon flac flash foomaticdb ftp -gb gdbm gif -gnome gphoto2 gstreamer -gtk -gtkhtml icq imlib java jpeg -kde mad libg++ libwww mikmod mmx motif mozilla msn mpeg ncurses nls ogg openal opengl pdflib php png python -qt quicktime readline samba scanner sdl slang speex spell spl ssl svg svga theora tidy tiff truetype usb vcd v4l X x86 xine xinerama xmms xpm xv xvid win32codecs zlib"
```

GrazieLast edited by triki on Wed Sep 07, 2005 12:01 pm; edited 1 time in total

----------

## Peach

per quello che ne so, sotto x86, dbus è fermo alla 0.23.4 non la r1 che è ancora mascherata.

sicuro sia tutto apposto lì da te?

su cosa sia dbus...

```
# emerge -s dbus

Searching...   

[ Results for search key : dbus ]

[ Applications found : 1 ]

 

*  sys-apps/dbus

      Latest version available: 0.23.4

      Latest version installed: 0.23.4

      Size of downloaded files: 1,258 kB

      Homepage:    http://dbus.freedesktop.org/

      Description: A message bus system, a simple way for applications to talk to eachother

      License:     || ( GPL-2 AFL-2.1 )
```

dbus personalmente lo uso con ivman (l'alternativa a gnome-volume-manager quando non hai gnome)

----------

## triki

ho controllato attualmente c'è installata la 0.23.4  ma come faccio a dirgli di non mettere la r1? Ricordo che il pobrema mi compare quando faccio un emerge -u --deep world.

----------

## Peach

 *triki wrote:*   

> ho controllato attualmente c'è installata la 0.23.4  ma come faccio a dirgli di non mettere la r1? Ricordo che il pobrema mi compare quando faccio un emerge -u --deep world.

 

beh ma sei su x86? o hai un'altra architettura?

se sei su x86 controllerei CHI vuole che si aggiorni (e su COME ti consiglio l'uso di unclepine oppure qualche tool di gentoolkit) altrimenti controllerei bene, facendo un bel sync e controllando /etc/portage/package.keywords, anche se dovresti essere stato tu a metterci mano...

----------

## .:chrome:.

attacca --pretend e --tree a emerge. così vedi chi vuole installare quella versione di dbus.

se, come ti hanno già detto sei in x86, puoi risolvere il problema. se sei in ~x86 te lo tieni così  :Sad: 

----------

## Peach

 *k.gothmog wrote:*   

> attacca --pretend e --tree a emerge. così vedi chi vuole installare quella versione di dbus.
> 
> se, come ti hanno già detto sei in x86, puoi risolvere il problema. se sei in ~x86 te lo tieni così 

 

beh... direi che se è in ~x86 system-wide (vedi make.conf), è da pazzi (a mio parere)  :Exclamation:  e cmq anche se dovesse incautamente essere in ~x86 si può sempre mascherare le versioni superiori del pacchetto. nn è certo quello il problema.

a mio parere è più un problema di gestione generale della macchina, e un comportamento anomalo in sé e da risolvere.

----------

## triki

si sono x86 (precisamente athlon xp) e per levarvi ogni dubbio questo è il mio 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="-O2 -march=athlon-xp -pipe -fomit-frame-pointer"

CHOST="i686-pc-linux-gnu"

CXXFLAGS="${CFLAGS}"

MAKEOPTS="-j2"

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

USE="aac alsa arts audifile avi -bonobo cdr -cjk cups divx4linux dvb dvd dvdr -emacs -emacs-w3 encode esd exif fbcon flac flash foomaticdb ftp -gb gdbm gif -gnome gphoto2 gstreamer -gtk -gtkhtml icq imlib java jpeg -kde mad libg++ libwww mikmod mmx motif mozilla msn mpeg ncurses nls ogg openal opengl pdflib php png python -qt quicktime readline samba scanner sdl slang speex spell spl ssl svg svga theora tidy tiff truetype usb vcd v4l X x86 xine xinerama xmms xpm xv xvid win32codecs zlib"

ACCEPT_KEYWORDS="~x86"

ALSA_CARDS="emu10k1"
```

dando:

 emerge -p -u --deep --tree world

direi che quella versione di dbus è richiesta da skype:

```
[nomerge      ] net-im/skype-1.2.0.11-r1  

[ebuild     U ]  sys-apps/dbus-0.23.4-r1 [0.23.4]
```

c'è un modo per ignorarla, mi sembrava si potesse mascherare ma di quella parte della guida non ho mai capito molto  :Sad: 

----------

## RexRocker

 *triki wrote:*   

> si sono x86 (precisamente athlon xp) e per levarvi ogni dubbio questo è il mio make.conf:
> 
> ```
> 
> ACCEPT_KEYWORDS="~x86"
> ...

 

Questo ti porta ad avere un sistama instabile, sei in x86 per l'architettura ma in ~x86 per quanto riguarda i tipi di pacchetto installati.

Prova a mettere un -dbus nelle tue USE (spaventosamente enormi ^^) e vedi se cerca ancora di installartela, magari risolvi cosi.

ciao

Rex

----------

## Peach

 *triki wrote:*   

> si sono x86 (precisamente athlon xp) e per levarvi ogni dubbio questo è il mio make.conf:
> 
> ```
> ACCEPT_KEYWORDS="~x86"
> ```
> ...

 

penso che in molti ti sconsiglierebbero l'uso di quella direttiva, a meno di particolari esigenze. Il grosso problema potresti riscontrarlo nel passaggio di versione di pacchetti critici, tipo baselayout (che è una esperienza davvero da non ripetere) IMHO.

La cosa migliore sarebbe che tu tornassi ad un sistema stabile: commenti quella riga di make.conf e dai un bel `emerge -Duav world`. Da lì decidi quali pacchetti vuoi mantenere instabili, ma più aggiornati: per me vale con gimp o con inkscape. La cosa migliore (e la guida a portage è una fonte di sapere immensa in questi casi) è quindi smascherarli inserendo una riga specifica in /etc/portage/package.keywords .

E' un procedimento all'inizio un po' lungo, ma paga bene e da un buon controllo sulla stabilità della macchina.

Se invece vuoi evitare questo minimo sbattimento e vuoi solo metterci una pezza, ti basta aggiungere una riga in /etc/portage/package.mask per mascherare una o più versioni di uno o più pacchetti.

a te la scelta.

----------

## .:chrome:.

 *triki wrote:*   

> si sono x86 (precisamente athlon xp) e per levarvi ogni dubbio questo è il mio make.conf:

 

e invece no. non sei in x86, ma in ~x86:

```
ACCEPT_KEYWORDS="~x86"
```

non so perché tu abbia fatto questa scelta, ma a questo livello è pressoché impossibile ritornare indietro. maschera il pacchetto e tieniti la versione vecchia.

purtroppo non c'è molto da fare. l'alternativa è rifare tutto il sistema da capo, ma non credo sia una buona idea.

~x86 non sarebbe mai da usare a meno che non si sappia esattamente quello che si sta facendo. i pacchetti in devel sono tali per un buon motivo

----------

## comio

 *k.gothmog wrote:*   

>  *triki wrote:*   si sono x86 (precisamente athlon xp) e per levarvi ogni dubbio questo è il mio make.conf: 
> 
> e invece no. non sei in x86, ma in ~x86:
> 
> ```
> ...

 

be' in qualche modo si può tornare "x86"...

basta dare sempre -u e mascherare tutto ciò che è inferiore come versione... poi man mano che i pacchetti avanzano... ci si avvicina all'x86... ma piano piano.

ciao

----------

## triki

Allora qui mi sa che ho fatto un casino: quel ~x86 l'ho messo un anno fa per poter installare axyftp (che sarà pur scarno ma è il client ftp che preferisco) siccome non ero riuscito a demascherare il paccheto (è un dev) perchè come ho già detto di quella sezione del manuale non ho capito nulla.

Ora però vorrei vedere se ho capito la differenza fra x86 e ~x86: il primo mi fa usare tutti i pacchetti per x86 stabili, il secondo come ultima versione considera anche l'ultimo dev, sbaglio?

Quindi per tornare ad un x86 stabile dovrei ricompilare tutto (cosa che posso fare senza alcun problema).

Poi ho visto che anche se metto -dbus nelle use cerca comunque di installarmi la r1.

Inoltre se commento quella fatidica riga del make.conf vorrebbe farmi fare una quantità mostruosa di downgrade, ovvio che se è meglio farli eseguo senza problemi.

Il risultato di emerge -Duav world (di cui non ho ancora capito bene il significato) è una lista eterna che se volete poi vi posto.[/code]

----------

## .:chrome:.

è vero che per tornare a x86 devi ricompilare tutto, ma non è per niente veroc he lo puoi fare senza problema.

l'upgrade è una cosa, e i sistemi si sono sviluppati per favorire questo processo.

il downgrade è un altro discorso, e spesso è quasi impossibile. all'epoca avresti dovuto installare la versione ~x86 del solo pacchetto che ti interessava. ma non ti è proprio venuto nessun dubbio quando ha iniziato a compilarti tutto il sistema?

io al tuo posto farei un tentativo di salvare il sistema, anche se un po' macchinoso: farei un freeze di tutti i pacchetti installati e rimetterei x86 in make.conf. poi andrei a smascherare man mano che i pacchetti che ho diventano stabili.

è solo una pezza... ma piuttosto che formattare e rifarmi tutto il sistema...

----------

## triki

Quindi dici che fare il downgrade è un casino.

Però invece che smascherare tutti i pacchetti (che sono veramente tanti!) potrei ogni volta che aggiorno il sistema ivece che mettere come opzione -u mettere --upgradeonly e aspettare che diventino tutto stabili, può funzionare?

 *Quote:*   

> ma non ti è proprio venuto nessun dubbio quando ha iniziato a compilarti tutto il sistema? 

 

quando sei niubbo sei niubbo c'è poco da pensare   :Very Happy: 

----------

## Peach

 *triki wrote:*   

> Allora qui mi sa che ho fatto un casino: quel ~x86 l'ho messo un anno fa per poter installare axyftp (che sarà pur scarno ma è il client ftp che preferisco) siccome non ero riuscito a demascherare il paccheto (è un dev) perchè come ho già detto di quella sezione del manuale non ho capito nulla.
> 
> Ora però vorrei vedere se ho capito la differenza fra x86 e ~x86: il primo mi fa usare tutti i pacchetti per x86 stabili, il secondo come ultima versione considera anche l'ultimo dev, sbaglio?
> 
> Quindi per tornare ad un x86 stabile dovrei ricompilare tutto (cosa che posso fare senza alcun problema).
> ...

 

una cosa alla volta.

allora: se hai la seria intenzione di tornare ad una situazione "stabile" -secondo me- i passi da seguire sono i seguenti:

1) commenti la riga `ACCEPT_KEYWORDS=~x86` in make.conf apponendo alla riga `#`

2) dai un:

```
# emerge -Dutpv world
```

che è la stessa cosa di:

```
# emerge --deep --update --tree --pretend --verbose world
```

per maggiori informazioni dai una letta a

```
# man emerge
```

oppure

```
# emerge --help
```

3) quindi controlli i pacchetti che ti stampa: se alcuni di questi vengono usati da te correntemente, e non vuoi che vengano "downgradati" basta che fai così:

```
# mkdir /etc/portage

# echo "<categoria>/<pacchetto> ~x86" >> /etc/portage/package.keywords
```

 (*)

4) una volta inclusi in package.keywords tutti i pacchetti che vuoi mantenere nel ramo ~x86, lanci l'emerge effettivo:

```
# emerge -Dutav world
```

ove `a` equivale a `--ask`

5) infine (come spiegato nella nota qui sotto) ti consiglio di dare un:

```
# revdep-rebuild
```

smascherando man mano le dipendenze che questo programma vuole ri-emergere con il metodo spiegato in 3) (l'output cmq è abbastanza esplicativo su chi e che versione c'è bisogno)

(*)

è probabile che al passaggio al ramo stabile alcune dipendenze vengano downgradate anche se la dipendenza richiesta dev'essere quella mascherata, ma non è sempre così: alcune dipendenze possono essere quelle nel ramo stabile.

Personalmente per ovviare a questo problema opterei per downgradare indifferentemente tutte le dipendenze, e, successivamente dare un:

```
# revdep-rebuild
```

che controlla le dipendenze obbligatorie ed infine ti dice quali pacchetti mascherati devono essere smascherati.

 (cmq se qualcuno ha una soluzione migliore e meno incasinata, benvenga.)

spero di essere stato il più chiaro possibile e di averti almeno in parte spiegato il significato di tutto quello da me detto... se hai cmq dubbi, domanda  :Cool: 

----------

## triki

direi che la questione è chiara, pensavo di downgradare tutto, poi se vedo che alcuni programmi perdono delle feauter a me utili allora li ritiro su

l'unico che pensavo di lasciare è questo:

```
[blocks B     ] >=xfce-base/xfce4-4.1.99.2 (is blocking xfce-base/xfce4-base-4.0.6)
```

soprattutto perchè non saprei come fare altrimenti...

----------

## triki

dimenticavo una cosa, mi sono accorto che il comando revdep-rebuild non esiste   :Question: 

nel frattempo ho provato a smascherare xfce (quello che bloccava) ma il risultato è questo:

```
--- Invalid atom in /etc/portage/package.keywords: xfce-base/xfce4-4.1.99.2
```

dove ho sbagliato?

----------

## Peach

 *triki wrote:*   

> dimenticavo una cosa, mi sono accorto che il comando revdep-rebuild non esiste  

 

```
# emerge -av gentoolkit
```

ricco di ottimi programmi per la gestione di portage (ma senza unclepine  :Sad:  )

 *Quote:*   

> nel frattempo ho provato a smascherare xfce (quello che bloccava) ma il risultato è questo:
> 
> ```
> --- Invalid atom in /etc/portage/package.keywords: xfce-base/xfce4-4.1.99.2
> ```
> ...

 

provato a cercare una soluzione nel forum ?

----------

## triki

k gentoolkit messe, ora va quel comando, per il secondo problema mi hanno fatto notare che non ci devo mettere la versione ma solo il pacchetto (oppure se ci metto la versione ci vuole anche un segno comparatore ><=). Però anche facendo questo continua a darmi lo stesso block, penso perchè è stato cambiato il nome del pacchetto da xfce4 a xfce4-base, suppongo quindi l'unica opzione sia unmergere il vecchio xfce e installare il base

----------

## Peach

 *triki wrote:*   

> k gentoolkit messe, ora va quel comando, per il secondo problema mi hanno fatto notare che non ci devo mettere la versione ma solo il pacchetto (oppure se ci metto la versione ci vuole anche un segno comparatore ><=). Però anche facendo questo continua a darmi lo stesso block, penso perchè è stato cambiato il nome del pacchetto da xfce4 a xfce4-base, suppongo quindi l'unica opzione sia unmergere il vecchio xfce e installare il base

 

si esatto... 

puoi smascherare tutte le versioni disponibili inserendo in package.keywords

```
categoria/pacchetto ~x86
```

altrimenti puoi specificare da una certa versione in su, in giù compresa o esclusa o esattamente una versione semplicemente apponendo un = o > o <.

ad esempio:

```
<=categoria/pacchetto-versione ~x86
```

smaschera tutti i pacchetti mascherati minori o uguali di "versione"

c'è da aggiungere che le versioni possono essere generalizzate tramite *

se ad esempio voglio smascherare solo le versioni 1.x di un pacchetto mi basta aggiungere:

```
=categoria/pacchetto-1* ~x86
```

mi sembra abbastanza semplice.

per quanto riguarda xfce, si, il block lo risolvi solo dando un `emerge -C` del pacchetto che blocca, in questo caso: xfce4.

----------

## triki

vorrei levare xfce4 però mi sono accorto che non è mascherato ed è quindi installabile tanto quanto xfce-base, che differenza c'è? Possibile che xfce4 sia il precompilato?

----------

## Peach

 *triki wrote:*   

> vorrei levare xfce4 però mi sono accorto che non è mascherato ed è quindi installabile tanto quanto xfce-base, che differenza c'è? Possibile che xfce4 sia il precompilato? Mi è venuto il dubbio perchè nella descrizione parla di ebuild...

 

quella versione di xfce4 nn esiste più, quindi se cerchi di smascherare la versione precisa, portage ti cazzia, e fa bene.

ti consiglio di non smascherare xfce4, toglierlo e lasciare che sia portage a gestire il tutto.

è possibile che xfce4 sia solo un meta-package quindi non dovrebbe costituire un problema... al momento a me segna come installata la 4.2.2 che è l'ultima versione stabile

----------

## triki

però xfce-base è 4.0.6 e mi sembra ben più vechia della 4.2.2 o hanno una numerazione diversa?

----------

## Peach

 *triki wrote:*   

> però xfce-base è 4.0.6 e mi sembra ben più vechia della 4.2.2 o hanno una numerazione diversa?

 

ora che mi fai notare xfce4-base io -che uso xfce4- non ce l'ho installato

ti potrei consigliare a questo punto di disinstallare xfce4-base, lasciare xfce4 installato e non mascherato

un comando che potrebbe tornarti utile per vedere tutte le versioni, installate e non e mascherate e non:

```
# etcat -v nomepacchetto
```

nel mio caso:

```
# etcat -v xfce4-base

[ Results for search key           : xfce4-base ]

[ Candidate applications found : 1 ]

 Only printing found installed programs.

*  xfce-base/xfce4-base :

        [   ] 4.0.6 (0)
```

```
# etcat -v xfce4     

[ Results for search key           : xfce4 ]

[ Candidate applications found : 5 ]

 Only printing found installed programs.

*  xfce-base/xfce4 :

        [   ] 4.0.6 (0)

        [   ] 4.2.0 (0)

        [M~ ] 4.2.1 (0)

        [M~ ] 4.2.1.1 (0)

        [  I] 4.2.2 (0)
```

----------

## triki

sono nella tua stessa situazione:

```
# etcat -v xfce4        

[ Results for search key           : xfce4 ]

[ Candidate applications found : 5 ]

 Only printing found installed programs.

*  xfce-base/xfce4 :

        [   ] 4.0.6 (0)

        [   ] 4.2.0 (0)

        [M~ ] 4.2.1 (0)

        [M~ ] 4.2.1.1 (0)

        [  I] 4.2.2 (0)

paolo paolo # etcat -v xfce4-base

[ Results for search key           : xfce4-base ]

[ Candidate applications found : 1 ]

 Only printing found installed programs.

*  xfce-base/xfce4-base :

        [   ] 4.0.6 (0)

```

----------

## Peach

 *triki wrote:*   

> sono nella tua stessa situazione:
> 
> ```
> # etcat -v xfce4        
> 
> ...

 

ma, nonostante questo, vuole lo stesso installarti xfce4-base, o sbaglio  :Question: 

in questo caso xfce4-base è richiesto da qualche altro pacchetto

prova a vedere se ti restituisce qualche risultato questo comando:

```
# equery depends xfce4-base
```

----------

## triki

non mi restituisce nulla:

```
# equery depends xfce4-base

[ Searching for packages depending on xfce4-base... ]
```

potrei provare a mascherare xfce4-base?

----------

## triki

problema risolto in maniera contorta ma risolto: ho mascato xfce4-base, ho ridato # emerge -Dutpv world e ho ottenuto che non era possibile fare l'update perchè 2 pacchetti (dei quali mi ha finalmente detto i nomi, del gruppo xfce4-extra) richiedevano xfce4-base che però era mascherato. Eliminati i due pacchetti eliminato il problema  :Very Happy: 

Grazie a tutti per la disponibilità e per la pazienza   :Cool: 

----------

## Peach

 *triki wrote:*   

> problema risolto in maniera contorta ma risolto: ho mascato xfce4-base, ho ridato # emerge -Dutpv world e ho ottenuto che non era possibile fare l'update perchè 2 pacchetti (dei quali mi ha finalmente detto i nomi, del gruppo xfce4-extra) richiedevano xfce4-base che però era mascherato. Eliminati i due pacchetti eliminato il problema 
> 
> Grazie a tutti per la disponibilità e per la pazienza  

 

ottima soluzione  :Smile: 

complimenti... facci sapere quando termini il tutto.

in ogni caso se ritieni almeno risolto il problema di cui il topic, aggiungi il tag [risolto] al titolo editando il primo post  :Smile: 

----------

## triki

Downgrade terminato (con un po' di litigi con le use facilmente risolti).

Penso modificherò un po' il titolo, perchè più che essere un problema di dbus è un problema di x86 e ~x86

----------

