# Problemoni con emerge [semi/risolto]

## Biello.it

Non riesco più a "emerge".

Il comando mi restituisce

```

mylines: ['\x00']

list index out of range

mylines: ['\x00']

list index out of range

mylines: ['\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\  [...]e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00']

list index out of range

e ancora...

00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\

--More--@Traceback (most recent call last):

  File "/usr/bin/emerge", line 10, in ?

    import portage

  File "/usr/lib/portage/pym/portage.py", line 6844, in ?

    do_upgrade(mykey)

  File "/usr/lib/portage/pym/portage.py", line 6735, in do_upgrade

    db["/"]["vartree"].dbapi.move_ent(mysplit)

  File "/usr/lib/portage/pym/portage.py", line 4283, in move_ent

    fixdbentries(origcp, newcp, pkgdir)

  File "/usr/lib/portage/pym/portage.py", line 3577, in fixdbentries

    f = open(dbdir+"/"+myfile, "r")

IOError: [Errno 21] Is a directory

```

Disperato sono.....

Grazie in anticipo per gli aiuti...

----------

## furlan

Forse è una risposta stupida ma hai provato a dare 

emerge sync

env-update

source /etc/profile

?

Spero di esserti stato di aiuto anche se non ci credo molto   :Wink: 

----------

## Biello.it

 *furlan wrote:*   

> are 
> 
> emerge sync
> 
> env-update
> ...

 

Ciao,

Emerge sync "ovviamente" non posso farlo  :Sad: 

env-update ritorna errori "infiniti"

Ciao,

a.

----------

## gutter

 *Biello.it wrote:*   

> 
> 
> [CUT]
> 
> Ciao,
> ...

 

Posta questi errori

----------

## Biello.it

 *gutter wrote:*   

> 
> 
> Posta questi errori

 

/quote]

Eccoli  :Smile: 

```

!!! Your current profile is deprecated and not supported anymore.

!!! Please upgrade to the following profile if possible:

        default-linux/x86/2004.0

To upgrade do the following steps:

# emerge -n '>=sys-apps/portage-2.0.51'

# cd /etc/

# rm make.profile

# ln -s ../usr/portage/profiles/default-linux/x86/2004.0 make.profile

mylines: ['\x00']

list index out of range

mylines: ['\x00']

list index out of range

mylines: ['\x00\x00\x00\x00\x00   [..]  veramente tanti... [..]   ']

list index out of range

mylines: ['\x00']

list index out of range['\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00

\x00\x00\x  [..]  veramente tanti... [..]   ']

Performing Global Updates: /usr/portage/profiles/updates/2Q-2004

(Could take a couple of minutes if you have a lot of binary packages.)

  .='update pass'  *='binary update'  @='/var/db move'

  s='/var/db SLOT move' S='binary SLOT move' p='update /etc/portage/package.*'

x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ [..]  veramente tanti... [..]   ']

-@Traceback (most recent call last):

  File "/usr/bin/emerge", line 10, in ?

    import portage

  File "/usr/lib/portage/pym/portage.py", line 6844, in ?

    do_upgrade(mykey)

  File "/usr/lib/portage/pym/portage.py", line 6735, in do_upgrade

    db["/"]["vartree"].dbapi.move_ent(mysplit)

  File "/usr/lib/portage/pym/portage.py", line 4283, in move_ent

    fixdbentries(origcp, newcp, pkgdir)

  File "/usr/lib/portage/pym/portage.py", line 3577, in fixdbentries

    f = open(dbdir+"/"+myfile, "r")

IOError: [Errno 21] Is a directory

x00\x00\x00\x0[..]  veramente tanti... [..]   ']

0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00']

list index out of range

```

----------

## gutter

Per prima cosa usa il nuovo profilo, anche se penso che il problema non sia quello:

Lancia i comandi scritti sotto:

```
# cd /etc/

# rm make.profile

# ln -s ../usr/portage/profiles/default-linux/x86/2004.0 make.profile

```

Prova  a rifare un sync e fammi sapere i risultati e/o gli eventuali errori.

----------

## Biello.it

 *Quote:*   

> Prova a rifare un sync e fammi sapere i risultati e/o gli eventuali errori.

 

Stesso identico risultato  :Sad: 

[/quote]

----------

## gutter

 *Biello.it wrote:*   

>  *Quote:*   Prova a rifare un sync e fammi sapere i risultati e/o gli eventuali errori. 
> 
> Stesso identico risultato 
> 
> 

 

Ma hai cambiato il profilo come ti ho detto ?!? 

Prova a lanciare il comando:

```
emerge metadata
```

----------

## gutter

Nel caso anche la precedente soluzione non dovesse funzionare ti rimando a questo post:

https://forums.gentoo.org/viewtopic.php?p=1579425

----------

## Biello.it

 *gutter wrote:*   

> 
> 
> Ma hai cambiato il profilo come ti ho detto ?!? 
> 
> Prova a lanciare il comando:
> ...

 

Si si, ho seguito le tue istruzioni.

Il risultato è identico anche con

```
emerge metadata
```

```

0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00

\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x

00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0

0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00

\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00

x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x

00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0

0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00

\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00

x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x

00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0

0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\

\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\

x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0\x00\x00\x00\x00\x00\x00\x00']

list index out of range

Performing Global Updates: /usr/portage/profiles/updates/2Q-2004

(Could take a couple of minutes if you have a lot of binary packages.)

  .='update pass'  *='binary update'  @='/var/db move'

  s='/var/db SLOT move' S='binary SLOT move' p='update /etc/portage/package.*'

.................................@Traceback (most recent call last):

  File "/usr/bin/emerge", line 10, in ?

    import portage

  File "/usr/lib/portage/pym/portage.py", line 6844, in ?

    do_upgrade(mykey)

  File "/usr/lib/portage/pym/portage.py", line 6735, in do_upgrade

    db["/"]["vartree"].dbapi.move_ent(mysplit)

  File "/usr/lib/portage/pym/portage.py", line 4283, in move_ent

    fixdbentries(origcp, newcp, pkgdir)

  File "/usr/lib/portage/pym/portage.py", line 3577, in fixdbentries

    f = open(dbdir+"/"+myfile, "r")

IOError: [Errno 21] Is a directory

```

----------

## gutter

Riferisciti al post che ti ho linkato prima e vedi se ne riesci a ricavare qualcosa di buono.

----------

## Biello.it

 *gutter wrote:*   

> Riferisciti al post che ti ho linkato prima e vedi se ne riesci a ricavare qualcosa di buono.

 

Ok grazie.  :Smile: 

a.

----------

## Biello.it

Sono arrivato a questo punto.

emerge da questa risposta:

!!! 'str' object has no attribute 'insert'

!!! 'rm -Rf /usr/portage/profiles; emerge sync' may fix this. If it does

!!! not then please report this to bugs.gentoo.org and, if possible, a dev

!!! on #gentoo (irc.freenode.org)

Ho fatto quanto consigliato....ma niente.

 :Sad: 

a.

----------

## randomaze

 *Biello.it wrote:*   

> !!! 'str' object has no attribute 'insert'
> 
> !!! 'rm -Rf /usr/portage/profiles; emerge sync' may fix this. If it does
> 
> !!! not then please report this to bugs.gentoo.org and, if possible, a dev
> ...

 

Ricominciamo.

Qual'é l'output di:

```
readlink /etc/make.profile
```

e anche:

```
ls /etc/make.profile
```

quando hai fatto l'emerge sync ti ha dato messaggi di errore?

----------

## Biello.it

Eccoli :

```

 ~ # readlink /etc/make.profile

../usr/portage/profiles/default-linux/x86/2004.0

 ~ # ls /etc/make.profile

make.defaults  packages  parent

~ # emerge sync

!!! 'str' object has no attribute 'insert'

!!! 'rm -Rf /usr/portage/profiles; emerge sync' may fix this. If it does

!!! not then please report this to bugs.gentoo.org and, if possible, a dev

!!! on #gentoo (irc.freenode.org)

```

Prima emerge sync mi dava lo stesso errore con 'infinità di out of range.

grazie,

a.

----------

## randomaze

 *Biello.it wrote:*   

> ~ # emerge sync
> 
> !!! 'str' object has no attribute 'insert'
> 
> !!! 'rm -Rf /usr/portage/profiles; emerge sync' may fix this. If it does
> ...

 

prova a fare come dice...

```
rm -Rf /usr/portage/profiles
```

e poi nuovamente:

```
emerge sync
```

----------

## Biello.it

In effetti ho cambiato il nome a profiles in profiles_old

e ho rifatto 

emerge sync

cmq ..l'ho rifatto

```

Updating portage cache... ...done!

!! 'str' object has no attribute 'insert' 

!!! 'rm -Rf /usr/portage/profiles; emerge sync' may fix this. If it does 

!!! not then please report this to bugs.gentoo.org and, if possible, a dev 

!!! on #gentoo (irc.freenode.org)

```

ahhhhhhh  :Crying or Very sad: 

----------

## randomaze

 *Biello.it wrote:*   

> ahhhhhhh 

 

Che versione hai di portage?

E di python?

----------

## Biello.it

 *Quote:*   

> 
> 
> he versione hai di portage? 
> 
> E di python?
> ...

 

portage 50

python 2.3.4

----------

## gutter

@Biello.it: ma hai applicato le spiegazioni presenti nellìarticolo che ti ho detto oppure hai fatto altrp per arrivare a questo punto?

----------

## Biello.it

 *Quote:*   

>  ma hai applicato le spiegazioni presenti nellìarticolo che ti ho detto oppure hai fatto altrp per arrivare a questo punto?

 

Certo che le ho applicate.

a.

----------

## gutter

 *Biello.it wrote:*   

>  *Quote:*    ma hai applicato le spiegazioni presenti nellìarticolo che ti ho detto oppure hai fatto altrp per arrivare a questo punto? 
> 
> Certo che le ho applicate.
> 
> a.

 

Hai scelto la versione adatta alla tua architettura?!? 

Perchè a questo punto con un portage rescue dovevi riuscire a risolvere il problema, se non ci riesci così, non saprei che dirti   :Confused: 

----------

## Biello.it

 *Quote:*   

> Hai scelto la versione adatta alla tua architettura?!?

 

si  :Sad: 

 *Quote:*   

> 
> 
> Perchè a questo punto con un portage rescue dovevi riuscire a risolvere il problema, se non ci riesci così, non saprei che dirti

 

Grazie lo stesso...

a.

----------

## randomaze

Ma tu stai facendo:

 *Biello.it wrote:*   

> emerge sync

 

oppure:

```
emerge-websync
```

 :Question: 

----------

## xchris

riesci a fare un emerge --info -v ?

----------

## randomaze

Bingo!

Fai così:

```
rm /etc/make.profile && ln -s /usr/portage/profiles/default-x86-2004.2 /etc/make.profile 
```

----------

## Biello.it

 *Quote:*   

> riesci a fare un emerge --info -v ?

 

No mi restituisce il solito:

```
!!! 'str' object has no attribute 'insert'

!!! 'rm -Rf /usr/portage/profiles; emerge sync' may fix this. If it does

!!! not then please report this to bugs.gentoo.org and, if possible, a dev

!!! on #gentoo (irc.freenode.org)

```

Ho fatto sia emerge sync sia emerge-webrsync

e poi...

```

rm /etc/make.profile && ln -s /usr/portage/profiles/default-x86-2004.2 /etc/make.profile
```

ma:

```

 ~ # rm /etc/make.profile && ln -s /usr/portage/profiles/default-x86-2004.2 /etc/make.profile

 ~ # emerge sync

Performing Global Updates: /usr/portage/profiles/updates/2Q-2004

(Could take a couple minutes if you have a lot of binary packages.)

  .='update pass'  *='binary update'  @='/var/db move'

  s='/var/db SLOT move' S='binary SLOT move'

.................................@Traceback (most recent call last):

  File "/usr/bin/emerge", line 14, in ?

    import portage

  File "/usr/lib/portage/pym/portage.py", line 6343, in ?

    do_upgrade(mykey)

  File "/usr/lib/portage/pym/portage.py", line 6263, in do_upgrade

    db["/"]["vartree"].dbapi.move_ent(mysplit)

  File "/usr/lib/portage/pym/portage.py", line 4050, in move_ent

    fixdbentries(origcp, newcp, pkgdir)

  File "/usr/lib/portage/pym/portage.py", line 3409, in fixdbentries

    f = open(dbdir+"/"+myfile, "r")

IOError: [Errno 21] Is a directory

```

 :Shocked: 

Quindi

```
 rm -Rf __tutto il portage__ 
```

e ri-quindi.....

```
 emerge sync
```

e il risultato non è Bingo.

```

~ # rm /etc/make.profile && ln -s /usr/portage/profiles/default-x86-2004.2 /etc/make.profile     

 ~ # emerge --info

Performing Global Updates: /usr/portage/profiles/updates/2Q-2004

(Could take a couple minutes if you have a lot of binary packages.)

  .='update pass'  *='binary update'  @='/var/db move'

  s='/var/db SLOT move' S='binary SLOT move'

.................................@Traceback (most recent call last):

  File "/usr/bin/emerge", line 14, in ?

    import portage

  File "/usr/lib/portage/pym/portage.py", line 6343, in ?

    do_upgrade(mykey)

  File "/usr/lib/portage/pym/portage.py", line 6263, in do_upgrade

    db["/"]["vartree"].dbapi.move_ent(mysplit)

  File "/usr/lib/portage/pym/portage.py", line 4050, in move_ent

    fixdbentries(origcp, newcp, pkgdir)

  File "/usr/lib/portage/pym/portage.py", line 3409, in fixdbentries

    f = open(dbdir+"/"+myfile, "r")

IOError: [Errno 21] Is a directory

root@VeganPower ~ # 

```

punto e accapo.

 :Sad: 

a.

----------

## gutter

```
gutter@morpheus ~ $ ls -l /etc/make.profile 

lrwxrwxrwx  1 root root 47 Nov  3 23:48 /etc/make.profile -> /usr/portage/profiles/default-linux/x86/2004.3/

```

Prova a linkarti a questo e rilancia un sync.

----------

## Biello.it

Eccolo....

 *Quote:*   

> lrwxrwxrwx  1 root root 40 nov 10 19:13 /etc/make.profile -> /usr/portage/profiles/default-x86-2004.2

 

 :Wink: 

a.

----------

## gutter

 *Biello.it wrote:*   

> Eccolo....
> 
>  *Quote:*   lrwxrwxrwx  1 root root 40 nov 10 19:13 /etc/make.profile -> /usr/portage/profiles/default-x86-2004.2 
> 
> [CUT]
> ...

 

Ok ma hai fatto delle prove  :Question: 

Hai sempre lo stesso problema o no   :Question: 

----------

## Mr.Evolution

Forse hai già risolto ma sennò prova a:

- decomprimere il .tbz2 in una directory temporanea

- copiare i file uno per uno nelle directory giuste (vedrai nella directory corrente bin, usr e le altre...)

- sperare

Non so se sia efficace ma mi ha salvato due volte....Buona fortuna

----------

## xchris

ma che versione di portage usi?

find /var/db/pkg -iname "portage*" (non so se hai etcat)

negli errori che riporti ci sono dei numeri di riga non corrispondenti alla versione aggiornata.

Se non risolvi in nessun modo contattami via PM che in qualche modo si fa.(via icq o similare e magari in remoto)

ciao

----------

## randomaze

 *Biello.it wrote:*   

> Ho fatto sia emerge sync sia emerge-webrsync
> 
> 

 

Il websync di questa settimana da qualche problema... quindi fai solo il sync altrimenti i problemi si moltiplicano!!!

Comunque non mi é chiaro se hai ancora il problema o no....

----------

## Biello.it

Scusate il ritardo ma ieri sera non ce l'ho fatta più.....stavo per "sdraiare tutto"!!!   :Mad: 

Allora ci ho dormito su.

Vabbè....un altro giorno...

 *xchris wrote:*   

> ma che versione di portage usi?
> 
> find /var/db/pkg -iname "portage*" (non so se hai etcat)
> 
> negli errori che riporti ci sono dei numeri di riga non corrispondenti alla versione aggiornata.
> ...

 

Ciao,

```

 ~ # find /var/db/pkg -iname "portage*"

/var/db/pkg/sys-apps/portage-2.0.51-r2

/var/db/pkg/sys-apps/portage-2.0.51-r2/portage-2.0.51-r2.ebuild

```

 *Quote:*   

> 
> 
> Se non risolvi in nessun modo contattami via PM che in qualche modo si fa.(via icq o similare e magari in remoto)

 

A ok molte grazie...  :Wink: 

 *Quote:*   

> l websync di questa settimana da qualche problema... quindi fai solo il sync altrimenti i problemi si moltiplicano!!! 
> 
> Comunque non mi é chiaro se hai ancora il problema o no....

 

Il problema ancora ce l'ho, purtroppo...

Cmq ho l'ultima volta ho fatto solo emerge sync (dopo aver "rm -Rf" il vecchio portage.)

Ciao e grazie ancora per il supporto..

Andrea

----------

## Biello.it

Ciao a tutti,

prima cosa voglio ringraziare quanti mi hanno aiutato a risolvere questo problema in particolare xchirs (senza di lui non ce l'avrei fatta...un grande!).

Vi dico subito che NON ho risolto il pieno ma cmq adesso riesco ad usare emerge.

Il problema sembra sia la corruzione del mio FS (reiserfs) e quindi di conseguenza una miriade di problemi con vari pacchetti in /var/db .

Gli interventi che sono stati fatti sono:

1) Cancellare tutto il portage.

2) istallare a mano uno nuovo e funzionante.

Dopo questo è stato fatto un intervento su dei file corrotti in python (e qui credo che solo xcrhirs puo' spiegare al meglio quanto fatto).

Ora riesco a emerge pacchetti e  completare dipendenze ed istallazione, ma il tutto sempre essere sotto una spada di Damocle, quindi cmq credo che dovro' reistallare (magari usando il ben più affidabile ext3 invece che reiserfs....state calmi lo so che ci sono fans e hooligans di reiserfs e anche io lo uso...ok scannatevi  :Wink:   ).

In definitiva il casino in ogni caso è dipeso da me e non dal FS (credo) in quanto tempo fa in seguito ad un aggiornamento del kernel troppo "spinto" si sono creati tutti questi problemi al DB.

Il fatto di reistallare non va vista in quest'ottica come una soluzione winzoz. 

Il pc funziona e ora non ha problemi (apparenti) forse  avendo tempo a disposizione e pazienza si puo' risolvere tutto e "aggiustare" ogni pacchetto corrotto, ma il punto è: fino a che punto conviene andare avanti cosi e invece fino a che punto conviene salvare "home","etc" e rincominciare.

E' morto gentoo.

VIVA GENTOO!!!!

Grazie ancora per l'incredibile supporto di cui fino ad oggi ne avevo solo sentito parlare ma che, come ho potuto 

constatare di persona, è ancora meglio della reputazione che lo precede.

Saluti,

Andrea

----------

## fedeliallalinea

 *Biello.it wrote:*   

> (magari usando il ben più affidabile ext3 invece che reiserfs....state calmi lo so che ci sono fans e hooligans di reiserfs e anche io lo uso...ok scannatevi   ).

 

Non mi scanno pero' questa sarebbe una buona occasione per provare xfs

----------

## xchris

la dir /var/db/pkg era per buona parte scassata.

C'era il modo di ripristinarla....piano piano...ma...

immagino che i danni al FS non siano solo su /var/db/pkg  :Wink: 

non ho corretto portage...

ho messo qualche try: except: nel file "core" di portage... in modo che non si inchiodasse...

mi spiace che tu debba rifare tutto :S

magari salvati il world,/etc,/home...(solo i file necessari... non tutto perche' magari sono corrotti)

Io ho suggerito ext3 o XFS (quest'ultimo non per esperienza...ma per fama)

ciao  :Smile: 

----------

## fedeliallalinea

 *xchris wrote:*   

> ... o XFS (quest'ultimo non per esperienza...ma per fama)

 

Io per esperienza chiaramente c'e' chi ha avuto anche brutte esperienze ma questo e' normale e dipende da cosa capita

----------

