# errore durante:  emerge -u portage [risolto]

## jikko

ho dato un:

```

#emerge sync

```

e ho visto che cerano diversi ebuild recenti tra cui portage, seguendo quello che apapriva a video ho dato un:

```

emerge -u portage

```

e mi ha dato questo risultato

avete suggerimenti? 

```

Traceback (most recent call last):

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

    if x[3]!="nomerge":

  File "/usr/bin/emerge", line 1839, in merge

    if (retval == None):

  File "/usr/lib/portage/pym/portage.py", line 2562, in doebuild

    if os.path.exists(digestfn):

  File "/usr/lib/portage/pym/portage.py", line 2695, in merge

    try:

  File "/usr/lib/portage/pym/portage.py", line 6670, in merge

    elif cycled:

  File "/usr/lib/portage/pym/portage.py", line 6385, in treewalk

    else:

  File "/usr/lib/portage/pym/portage.py", line 599, in env_update

    cenvnotice += "# GO INTO /etc/csh.cshrc NOT /etc/csh.env\n\n"

IndexError: string index out of range

```

Last edited by jikko on Thu Feb 03, 2005 3:38 pm; edited 1 time in total

----------

## fedeliallalinea

Prima dell'emerge sync hai fatto qualche operazione particolare??

----------

## jikko

no solo qualche cat x le prove dei device usb, come da altro post, ma non nn ho modificato nulla.

l' ultima cosa che ho fatto con emerge, una settimana fa era un:

```

#emerge -u --deep --newuse world

```

----------

## jikko

aglia la cosa si aggravia, ho provato, giusto per scrupolo a dare un:

```

#emerge -u --deep -newuse world

```

e la risposta che ottengo e' :

```

Traceback (most recent call last):

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

    mydepgraph.merge(mydepgraph.altlist())

  File "/usr/bin/emerge", line 1838, in merge

    retval=portage.doebuild(y,"merge",myroot,self.pkgsettings,edebug)

  File "/usr/lib/portage/pym/portage.py", line 2652, in doebuild

    return merge(mysettings["CATEGORY"],mysettings["PF"],mysettings["D"],mysettings["BUILDDIR"]+"/build-info",myroot,mysettings,myebuild=mysettings["EBUILD"])

  File "/usr/lib/portage/pym/portage.py", line 2785, in merge

    return mylink.merge(pkgloc,infloc,myroot,myebuild)

  File "/usr/lib/portage/pym/portage.py", line 6769, in merge

    return self.treewalk(mergeroot,myroot,inforoot,myebuild,cleanup=cleanup)

  File "/usr/lib/portage/pym/portage.py", line 6483, in treewalk

    env_update(makelinks=(not downgrade))

  File "/usr/lib/portage/pym/portage.py", line 551, in env_update

    if y[-1]!='/':

IndexError: string index out of range

```

o.t. modifico il titolo del post con errore di portage e versione?

----------

## randomaze

Potrebbe essere che hai avuto un problema con l'emerge sync, o che hai dei problemi sul disco.

Fai un check del disco con il LiveCd e prova a riemergere l'intero albero di portage:

```
# mv /usr/portage /usr/portage.old

# emerge sync
```

----------

## jikko

in teoria no, perche dopo aver dato:

```

#emerge sync

```

non mi e' stato restituito nessun codice di errore, e dando una occhiata somamria a

```

/var/log/emerge.0.log 

```

non era segnalato nessun problema, provo e vi fo sapere spero sta sera  :Smile: 

----------

## lavish

Sicuro di eseguirlo da root? Quell'errore capita quando un utente che non e' nel gruppo portage prova a dare comandi simili a quelli lanciati da te... controlla  :Wink: 

----------

## jikko

ero root........

cmq ho anche aggiunto lo user al gruppo portage, ma al max in questo modo, come penso sia giusto, riesco a fare solo delel ricerche con emerge ma non a fare le installagioni o gli aggiornamenti. 

o.t. in questo forum per identificare i comandi lanciati da root mettete l' # e per quelli lanciati da user usale il $?? (scusate la domanda stupida, ma paese nuovo abitudini nuove ^^)

----------

## lavish

 *jikko wrote:*   

> ero root........
> 
> cmq ho anche aggiunto lo user al gruppo portage, ma al max in questo modo, come penso sia giusto, riesco a fare solo delel ricerche con emerge ma non a fare le installagioni o gli aggiornamenti.

 

Si' esatto.. non puoi syncare ne' tantomeno aggiornare da user.

 *jikko wrote:*   

> o.t. in questo forum per identificare i comandi lanciati da root mettete l' # e per quelli lanciati da user usale il $?? (scusate la domanda stupida, ma paese nuovo abitudini nuove ^^)

 

In linea di massima si'  :Wink: 

----------

## mouser

 *jikko wrote:*   

> 
> 
> o.t. in questo forum per identificare i comandi lanciati da root mettete l' # e per quelli lanciati da user usale il $?? (scusate la domanda stupida, ma paese nuovo abitudini nuove ^^)

 

Non credo ci sia uno standard. Generalmente io utilizzo sempre il # e specifico se le operazioni da me descritte sono da eseguire come root o meno. A volte me lo dimentico, ma alla fine basta ricordarsi:

- Se installi qualcosa (in qualsiasi modo) o configuri qualcosa a livello generale: utente root

- Se configuri qualcosa a livello di utente: utente normale.

corollario: se le impostazioni per gli utenti normali (o singoli) sono da specificare nella configurazione generale del programma, allora eseguire tali configurazioni con l'utente root

Ciriciao & Benvenuto

mouser  :Wink: 

----------

## Cazzantonio

 *jikko wrote:*   

> cmq ho anche aggiunto lo user al gruppo portage

 

io te lo sconsiglio vivamente

la mia sarà paranoia o superstizione ma è meglio che un utente non svolga le operazioni riservate al root (anche se l'utente sono sempre io   :Wink:  )

----------

## jikko

o.t non penso crei grossi prb di sicurezza se riesce a fare solo un search o robe di questo tipo.

----------

## Cazzantonio

Infatti, ti ho detto di non avere nessun motivo preciso e pratico per dirlo... solo quella senzazione nella testa di stare facendo qualcosa di sbagliato... (forse sono eccessivamente superstizioso)

----------

## gutter

 *Cazzantonio wrote:*   

> 
> 
> io te lo sconsiglio vivamente
> 
> la mia sarà paranoia o superstizione ma è meglio che un utente non svolga le operazioni riservate al root (anche se l'utente sono sempre io   )

 

Dai in questo caso penso sia paranoia superflua  :Smile: 

----------

## jikko

dopo aver seguito il suggerimento mi ha cmq restituito questo errore, intoppa sempre la stessa linea  :Confused:   :Confused:   :Confused:   :Confused: 

```

berserk root # env-update

```

```

Traceback (most recent call last):

  File "/usr/sbin/env-update", line 11, in ?

    portage.env_update()

  File "/usr/lib/portage/pym/portage.py", line 551, in env_update

    if y[-1]!='/':

IndexError: string index out of range

```

```

berserk root # emerge qualunque cosa

```

```

Traceback (most recent call last):

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

    mydepgraph.merge(mydepgraph.altlist())

  File "/usr/bin/emerge", line 1838, in merge

    retval=portage.doebuild(y,"merge",myroot,self.pkgsettings,edebug)

  File "/usr/lib/portage/pym/portage.py", line 2652, in doebuild

    return merge(mysettings["CATEGORY"],mysettings["PF"],mysettings["D"],mysettings["BUILDDIR"]+"/build-info",myroot,mysettings,myebuild=mysettings["EBUILD"])

  File "/usr/lib/portage/pym/portage.py", line 2785, in merge

    return mylink.merge(pkgloc,infloc,myroot,myebuild)

  File "/usr/lib/portage/pym/portage.py", line 6769, in merge

    return self.treewalk(mergeroot,myroot,inforoot,myebuild,cleanup=cleanup)

  File "/usr/lib/portage/pym/portage.py", line 6483, in treewalk

    env_update(makelinks=(not downgrade))

  File "/usr/lib/portage/pym/portage.py", line 551, in env_update

    if y[-1]!='/':

IndexError: string index out of range

```

giusto per la cronaca ho provato con un emerge -u world, emerge con un sw non installato e via dicendo   :Shocked:   :Shocked: 

----------

## fedeliallalinea

 *Cazzantonio wrote:*   

> la mia sarà paranoia o superstizione ma è meglio che un utente non svolga le operazioni riservate al root (anche se l'utente sono sempre io   )

 

Infatti se aggiungi l'utente al gruppo portage non puoi comunque mergiare le cose al massimo puoi dare un emerge -s o un emerge -p ma tutto si ferma qua. Non puoi assolutamente fare nessuna operazione di installazione

----------

## jikko

uppo il post a nessuno portage da di questi prb?

----------

## jikko

raga nessuno ha piu' idee?

mi tocca formattere e reinstallare? dai non facciamo questi scherzi   :Crying or Very sad:   :Crying or Very sad: 

dite che non mi conviene fare uno stage 4?

se invece me lo consigliate mi sapete dare info in merito, o dove posso reperire informazioni su come farne uno?

----------

## fedeliallalinea

Forse provando a seguire /usr/portage/sys-apps/portage/files/README.RESCUE riesci a recuperarlo

----------

## randomaze

 *fedeliallalinea wrote:*   

> Forse provando a seguire /usr/portage/sys-apps/portage/files/README.RESCUE riesci a recuperarlo

 

Prima proverei a rimuovere il portage tree e a metterci uno snapshot.

Poi non ho capito, non va l'aggiornamento di protage il normale emerge funziona?

----------

## jikko

azzo, arrivato al:

```

#emerge portage

```

mi ha restituito questo errore

```

Recalculating the counter... Counter updated successfully.

 * Compiling python modules...

 * You may run 'emerge metadata' to perform cache updates if you have

 * changed versions of portage. This will provide a fairly dramatic

 * speedup. Alternatively, you may 'emerge sync' if it has been more

 * than 30 minutes since your last sync.

Traceback (most recent call last):

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

    mydepgraph.merge(mydepgraph.altlist())

  File "/usr/bin/emerge", line 1838, in merge

    retval=portage.doebuild(y,"merge",myroot,self.pkgsettings,edebug)

  File "/usr/lib/portage/pym/portage.py", line 2652, in doebuild

    return merge(mysettings["CATEGORY"],mysettings["PF"],mysettings["D"],mysettings["BUILDDIR"]+"/build-info",myroot,mysettings,myebuild=mysettings["EBUILD"])

  File "/usr/lib/portage/pym/portage.py", line 2785, in merge

    return mylink.merge(pkgloc,infloc,myroot,myebuild)

  File "/usr/lib/portage/pym/portage.py", line 6769, in merge

    return self.treewalk(mergeroot,myroot,inforoot,myebuild,cleanup=cleanup)

  File "/usr/lib/portage/pym/portage.py", line 6483, in treewalk

    env_update(makelinks=(not downgrade))

  File "/usr/lib/portage/pym/portage.py", line 551, in env_update

    if y[-1]!='/':

IndexError: string index out of range

```

 :Twisted Evil:   :Evil or Very Mad:   non so + che fare   :Crying or Very sad:   :Crying or Very sad:   :Crying or Very sad: 

provate a mettermi a disposizione ilvostro portage.py plz?

----------

## jikko

no non funziona na pippa, come ho gia detto in qualche post piu' in alto sembra che si sia incricchiato tutto il sistema d' installazione dei pkg.

non funziona ne un :

```

#emerge portage 

```

ne 

```

#emerge -uD world

```

ne 

```

#emerge nuovopacchetto

```

@randomaze in che senso?, potresti essere un po' piu -v ?^^

----------

## fedeliallalinea

 *jikko wrote:*   

> provate a mettermi a disposizione ilvostro portage.py plz?

 

portage.py

portage.pyc

portage.pyo

----------

## jikko

grazie fedeliallalinea, sei piu' veloce di flash ^^

----------

## jikko

sempre piu' azz

guardate l' output di diff:

```

berserk files # diff /usr/lib/portage/pym/portage.py /home/jikko/portage.py.fedeliallalinea

berserk files #    

```

mamma mia mi sento sempre piu triste   :Crying or Very sad:   :Crying or Very sad: 

----------

## randomaze

 *jikko wrote:*   

> [code]
> 
> Recalculating the counter... Counter updated successfully.
> 
>  * Compiling python modules...
> ...

 

Sono stato un poco frettoloso.

Hai controllato che la colpa non sia da imputare al portage tree provando a rifare "emerge sync" (come peraltro suggerito dalle scritte in alto)? Considera che, se non ti funziona potresti usare uno snapshot di portage per rifarlo.

----------

## jikko

 *randomaze wrote:*   

> 
> 
> ................ la colpa non sia da imputare al portage tree provando a rifare "emerge sync"................. Considera che, se non ti funziona potresti usare uno snapshot di portage per rifarlo.
> 
> 

 

che intendi usare uno snapshot?

come dovrei fare?

adesso sto provando con un:

```

#emerge metadata

```

anche se ho gia' dato un :

```

#emerge sync

```

ma il risultato e' sempre il medesimo. provo a farne un altro, in caso l' emerge dei metadata non risolva la cosa.

mi potresti spiegare meglio la questione dello snapshot?

lo dovrei scaricare e decomprimerlo, immagino, ma cosa devo fare anche rimuovere qualcosa, modificare qualcosa d' altro???

----------

## jikko

infatti 

```

#emerge metadata

```

mi ha restituito questo output di errore:

```

Traceback (most recent call last):

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

    mydepgraph.merge(mydepgraph.altlist())

  File "/usr/bin/emerge", line 1838, in merge

    retval=portage.doebuild(y,"merge",myroot,self.pkgsettings,edebug)

  File "/usr/lib/portage/pym/portage.py", line 2652, in doebuild

    return merge(mysettings["CATEGORY"],mysettings["PF"],mysettings["D"],mysettings["BUILDDIR"]+"/build-info",myroot,mysettings,myebuild=mysettings["EBUILD"])

  File "/usr/lib/portage/pym/portage.py", line 2785, in merge

    return mylink.merge(pkgloc,infloc,myroot,myebuild)

  File "/usr/lib/portage/pym/portage.py", line 6769, in merge

    return self.treewalk(mergeroot,myroot,inforoot,myebuild,cleanup=cleanup)

  File "/usr/lib/portage/pym/portage.py", line 6483, in treewalk

    env_update(makelinks=(not downgrade))

  File "/usr/lib/portage/pym/portage.py", line 551, in env_update

    if y[-1]!='/':

IndexError: string index out of range

```

adesso provo con un :

```

#emerge sync

```

ma ho la strana sensazione che sia la stessa storia............

la cosa ancora piu' strana e' che a me il file portage.py mi da prb, infatti segnala degli errori su diverse righe, ma confrontandolo con quello messo a disposizione da fedeliallalinea non ci sono differenze, il diff non ha trovato nulla...............

----------

## jikko

medesimo errore...............  :Crying or Very sad:   :Crying or Very sad:   :Crying or Very sad:   :Crying or Very sad:   :Crying or Very sad:   :Crying or Very sad:   :Crying or Very sad:   :Crying or Very sad: 

mi spieghi quello che intendevi fare con lo snapshot?

dai nn ci voglio credere che devo riformattare come con windows.........

----------

## randomaze

 *jikko wrote:*   

> medesimo errore...............        
> 
> mi spieghi quello che intendevi fare con lo snapshot?
> 
> dai nn ci voglio credere che devo riformattare come con windows.........

 

Lo snapshot: scarichi questo file e lo scompatti al posto del portage tree.

Se anche quello non va puoi passare al portage RESCUE:

```
less /usr/portage/sys-apps/portage/files/README.RESCUE

```

----------

## jikko

la soluzione da me adottata non mi e' piaciuta particolarmente, ma si era presentata l' occasione, per cui ho rasato a zero il mio caro berserk e vi ho reinstallato sopra tutto da zero  :Sad: 

o.t.: che fo metto lo stesso il tag di solved?

----------

## gutter

Di risolvere hai risolto  :Wink:  Anche se in modo radicale  :Smile: 

----------

