# [risolto] perche mod_php 4.3.9 sul 5.0.2? Portage Scassato

## mega

Giuro che ho letto un sacco di roba prima di chiedere...ma, o mi sonbo erpso qualcosa oppure non ho capito 'na mazza....

Uso Apache2 con ssl (senza mod_ssl come avevamo già risolto qui)

e ho installato php5.0.2 e mod_php-5.0.2.

Mi chiedo perche quando cerco di fare aggiornamenti tipo

emerge -uDav world

o

emerge --newuse -uD world

il portage  voglia per forza installarmi mod_php-4.3.9

a volte addirittura provando a togliere la versione 5 voleva fare l'emerge della 4.3.9 e poi della 5.0.2 nello stesso update.

Gliel'ho pure fatto fare...ma al prossimo update rompe con sto 4.3.9

Che sbaglio?Last edited by mega on Sat Nov 06, 2004 5:03 pm; edited 2 times in total

----------

## motaboy

usa l'opzione -t per vedere l'albero delle dipendenze.

Puó darsi che un pacchetto lo richieda, oppure che ce l'hai settato nel file di world.

----------

## !equilibrium

il mod_php4.x fa parte dei pacchetti STABLE, mentre mod_php5.x di quelli UNSTABLE, tu che versione del portage stai usando? perchè se stai usando la STABLE e hai forzato il mod_php5 è normale che ti faccia il downgrade

----------

## mega

oki..grazie mille...

posso disabilitare il merge di questo pacchetto magari in /etc/portage/ ?

Sto usando accept keywords x86 in /etc/make.conf

----------

## mega

Mi son riletto le pagine dedicate al portage su gentoo.org ma non riesco a trovare una soluzione che faccia smettere a emerge di emergere mod_php-4.3.9 se ho installato la 5.0.2 e viceversa.

Ho giocato sia con i files tipo world package.use, sia con le opzioni di emerge

adddirittura l'opzione -U  viene ignorata e un downgrade segnalato col pretend.

Ho esaurito le mie risorse

Appurato che il motivo per cui succede questo e' quello detto da DarkAngel...come faccio a farlo smettere?

----------

## randomaze

 *mega wrote:*   

> Mi son riletto le pagine dedicate al portage su gentoo.org ma non riesco a trovare una soluzione che faccia smettere a emerge di emergere mod_php-4.3.9 se ho installato la 5.0.2 e viceversa.
> 
> 

 

Come hai emerso il php5? Usando il deprecato ACCEPT_KEYWORDS oppure il piú moderno /etc/portage/package.unmask?

----------

## mega

ehm....mi sa che uso sto deprecato ACCEPT KEYWORDS da un bel pò

----------

## randomaze

 *mega wrote:*   

> ehm....mi sa che uso sto deprecato ACCEPT KEYWORDS da un bel pò

 

prova a mettere la linea relativa al php in packages.unmask e guarda se va bene...

----------

## mega

ho creato /etc/portage/package.mask

e ci ho inserito

dev-php/mod_php

e per scaramanzia

dev-php/php

niente

ho provato sia cosi che con la versione affianco

dev-php/mod_php-5.0.2

dev-php/php-5.0.2

niente

e ho finito col provare anche con

>=dev-php/mod_php-5.0.2

>=dev-php/php-5.0.2

Frega un .... niente nemmeno cosi

Sto "rompipalle" vuole per forza installare il 4.3.9

Glielo farei pure fare perche a parte partecipare al testing di un pacchetto per me interessante

non e' che la versione 5 mi serva cosi tanto...solo che poi mi farebbe installare di nuovo la 5.0.2 al prossimo emerge.

Insomma e' un loop che va avanti da un po di giorni

Ah EDIT: comunque php-5 non c'è e nemmeno mod_php in package.mask

----------

## randomaze

 *mega wrote:*   

> ho creato /etc/portage/package.mask

 

Che non ti serve.... non ti dovrebbe servire enache quello che ti ho indicato (erroneamente) io, infatti il file package.unmask si usa con i pacchetti hard masked mentre il php5, stando ai tuoi precedenti messaggi dovrebbe essere solo soft masked, quindi:

```
echo "dev-php/mod_php-5.0.2   ~x86" >> /etc/packages.keywords

echo "dev-php/php-5.0.2           ~x86" >> /etc/packages.keywords
```

----------

## mega

penso che ci siamo e che ora debba funzionare

Peccato che ricevo questo qaundo faccio un update pretend deep

```

darkbox mega # emerge -uDavp world

>>> --pretend disables --ask... removing --ask from options.

These are the packages that I would merge, in order:

Calculating world dependencies               (Traceback (most recent call last):

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

    if not mydepgraph.xcreate(myaction):

  File "/usr/bin/emerge", line 1351, in xcreate

    if not self.create(myk,myuse=binpkguseflags):

  File "/usr/bin/emerge", line 983, in create

    if not self.select_dep("/",mydep["/"],myparent=mp,myuse=myuse):

  File "/usr/bin/emerge", line 1250, in select_dep

    if not self.create(myk,myparent,myuse=binpkguseflags):

  File "/usr/bin/emerge", line 939, in create

    self.pkgsettings.setinst(mykey,portage.db[myroot]["porttree"].dbapi)

  File "/usr/lib/portage/pym/portage.py", line 1270, in setinst

    virt = dep_getkey(virt)

  File "/usr/lib/portage/pym/portage.py", line 3362, in dep_getkey

    elif mydep[:1] in "=<>~":

TypeError: 'in <string>' requires string as left operand
```

Non soi che sia successo..ha cominciato a farlo poco prima che leggessi il tuo ultimo post comunque

----------

## randomaze

 *mega wrote:*   

> Non soi che sia successo..ha cominciato a farlo poco prima che leggessi il tuo ultimo post comunque

 

Ricontrolla quello che hai scritto nei vari files sotto /etc/portage, probabilmente qualcuno é scritto male o contiene caratteri anomali...

----------

## mega

si..imagino sia quello e sto provando a riscriverli...anche a cancellare quelli di9 cui fare a meno o spostarli...

però niente...se invoco con l'opzione -u mi da quell'errore

----------

## xchris

 *randomaze wrote:*   

> 
> 
> ```
> echo "dev-php/mod_php-5.0.2   ~x86" >> /etc/packages.keywords
> 
> ...

 

il mod si e' dimenticato un "="  :Smile: 

=cat/app-ver

ciao

----------

## randomaze

 *xchris wrote:*   

> il mod si e' dimenticato un "=" 

 

E non solo  :Rolling Eyes: 

Ci sono altri due errori in quell'istruzione

----------

## xchris

eh gia'...

bhe e' abbastanza facile che scappino  :Smile: 

ciao

----------

## mega

niente da fare....ho provato anche eliminando packages.keywords

e tutto quello che c'è in /etc/portage pezzo a pezzo ma niente da fare

ah ..ma packages.keywords non va in /etc/portage/ ?

Comunque ho provato sia cosi che in /etc

nisba

```

darkbox mega # emerge -upv world

These are the packages that I would merge, in order:

Calculating world dependencies                    tTraceback (most recent call last):

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

    if not mydepgraph.xcreate(myaction):

  File "/usr/bin/emerge", line 1322, in xcreate

    myeb=portage.portdb.xmatch("bestmatch-visible",mydep)

  File "/usr/lib/portage/pym/portage.py", line 5335, in xmatch

    myval=best(self.xmatch("match-visible",None,mydep=mydep,mykey=mykey))

  File "/usr/lib/portage/pym/portage.py", line 5346, in xmatch

    myval=match_from_list(mydep,self.xmatch("list-visible",None,mydep=mydep,mykey=mykey))

  File "/usr/lib/portage/pym/portage.py", line 3874, in match_from_list

    raise KeyError, "Specific key requires an operator (%s) (try adding an '=')" % (mydep)

KeyError: "Specific key requires an operator (dev-php/mod_php-5.0.2) (try adding an '=')"

```

----------

## randomaze

 *mega wrote:*   

> ah ..ma packages.keywords non va in /etc/portage/ ?
> 
> 

 

Si, quello era uno dei due "altri errori",  l'altro é che nel mio consiglio ho messo una 's' di troppo  

```
package.keywords
```

 :Embarassed: 

----------

## mega

nemmeno cosi....solito errore

corretto nome file e spostato in /etc/portage

messo la = davanti alla categoria come detto da xchris

il problema resta!!

Sono indemoniato

----------

## fe

è dura con la sfera di cristallo... pulisci /etc/portage e posta

```
emerge info

emerge -pvt mod_php
```

----------

## mega

Voila

```

darkbox mega # emerge info

Portage 2.0.51-r2 (default-x86-2004.2, gcc-3.4.2, glibc-2.3.4.20041021-r0, 2.6.8-gentoo-r8 i686)

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

System uname: 2.6.8-gentoo-r8 i686 AMD Athlon(tm) XP 2000+

Gentoo Base System version 1.6.4

Autoconf: sys-devel/autoconf-2.59-r5

Automake: sys-devel/automake-1.8.5-r1

Binutils: sys-devel/binutils-2.15.92.0.2-r1

Headers:  sys-kernel/linux26-headers-2.6.8.1-r1

Libtools: sys-devel/libtool-1.5.2-r5

ACCEPT_KEYWORDS="x86 ~x86"

AUTOCLEAN="yes"

CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer"

CHOST="i686-pc-linux-gnu"

COMPILER=""

CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/share/config /var/qmail/control"

CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"

CXXFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer"

DISTDIR="/usr/portage/distfiles"

FEATURES="autoaddcvs candy ccache distlocks moo sandbox"

GENTOO_MIRRORS="http://www.die.unipd.it/pub/Linux/distributions/gentoo-sources/ http://gentoo.seren.com/gentoo http://gentoo.mirrors.pair.com/ http://gentoo.ccccom.com ftp://gentoo.ccccom.com"     

MAKEOPTS="-j2"                  

PKGDIR="/usr/portage/packages"  

PORTAGE_TMPDIR="/var/tmp"       

PORTDIR="/usr/portage"          

PORTDIR_OVERLAY=""              

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

USE="3dnow 3dnowex GAPING_SECURITY_HOLE X aalib alsa apache2 aper apm arts avi berkdb bitmap-fonts bzlib cdr chroot codecs cpdflib cross crypt dba devfs26 dga dio divx4linux encode escreen esd etwin f77 foomaticdb foreign-sysvinit ftp gd gd-external gdbm gif gimpprint glut gpm gtk gtk2 imlib imlib2 innodb ipv6 java javascript jpeg jpeg2k justify kde ldap libg++ libwww live lm_sensors lua lzo mad mikmod mime mmx mmx2 mng mod_php monkey motif mozdevelop mozilla moznocompose moznoirc mozxmlterm mpeg multitarget mysql mythtv ncurses network nls no-old-linux noamazon nocd nowin ntlm nvidia oggvorbis openal opengl opens operanom2 oss pdflib perl php png python qt quicktime readline real rogue rrdtool rtc scanner sdl slang softquota spell sse2 ssl svga tcltk tcpd tga theora threads tiff tokenizer truetype usagi usb vhosts videos wsconvert wxwindows x86 xatrix xchatdccserver xchattext xml2 xmms xpm xscreensaver xv xvid zlib linguas_it"

                
```

----------

## fe

che ci fanno sia x86 che ~x86 in USE?

mettine solo una in make.conf e riprova.

Quando hai tempo dovresti anche aggiornare world 

```
emerge -avuD world
```

Ti avverto che se hai lasciato x86 ti disinstallerà tutti i pacchetti marcati ~x86.

p.s.

non hai postato l'output di 

```
emerge -ptv mod_php
```

----------

## mega

la variabile info ...per quanto riguarda l'output che riguarda ACCEPT_KEYWORDS:

mi e' caduto subito l'occhio li anche a me ...e infdatto sono andato a guardare in make.conf convinto di aver risolto..ma nulla...la variabile in quel file contiene solo "tildex86"  ...non c'è da nessuna parte il valore "x86".

l'output di emerge -ptv mod_php e' qui:

ma niente di speciale mi sa:

```

darkbox mega # emerge -ptv mod_php

These are the packages that I would merge, in reverse order:

Calculating dependencies   ...done!

[ebuild   R   ] dev-php/mod_php-5.0.2  -adabas +apache2 -bcmath +berkdb -birdstep +bzlib -calendar -cdb +cpdflib +crypt -ctype -curl -curlwrappers -db2 +dba -dbase -dbm -dbmaker -dbx -debug +dio -empress -empress-bcs -esoob -exif -fam -fdftk -filepro -flatfile -frontbase +ftp +gd +gd-external +gdbm -gmp -hyperwave-api -iconv -imap -informix -ingres -inifile -interbase -iodbc +jpeg +ldap -libedit -mcve -memlimit -mhash +mime -ming -mnogosearch -msession -msql -mssql +mysql -mysqli +ncurses -nis +nls -oci8 -odbc -oracle7 -ovrimos -pcntl -pcre -pfpro +png -posix -postgres -qdbm +readline -recode -sapdb -sasl -session -shared -sharedmem -simplexml -snmp -soap -sockets -solid +spell -spl -sqlite +ssl -sybase -sybase-ct -sysvipc -tidy +tiff +tokenizer +truetype -wddx +xml2 -xmlrpc +xpm -xsl +zlib 4,470 kB 

Total size of downloads: 4,470 kB

```

----------

## randomaze

E' sempre questo l'errore?

 *mega wrote:*   

> 
> 
>   File "/usr/lib/portage/pym/portage.py", line 3874, in match_from_list
> 
>     raise KeyError, "Specific key requires an operator (%s) (try adding an '=')" % (mydep)
> ...

 

perché qui si lamenta che vuole l'uguale davanti a dev-php in qualche file (ovvero quello che aveva notato xchris...)

----------

## mega

si direi che e' sempre lui che insiste

```

darkbox mega # emerge -uDav world

These are the packages that I would merge, in order:

Calculating world dependencies             tTraceback (most recent call last):

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

    if not mydepgraph.xcreate(myaction):

  File "/usr/bin/emerge", line 1322, in xcreate

    myeb=portage.portdb.xmatch("bestmatch-visible",mydep)

  File "/usr/lib/portage/pym/portage.py", line 5335, in xmatch

    myval=best(self.xmatch("match-visible",None,mydep=mydep,mykey=mykey))

  File "/usr/lib/portage/pym/portage.py", line 5346, in xmatch

    myval=match_from_list(mydep,self.xmatch("list-visible",None,mydep=mydep,mykey=mykey))

  File "/usr/lib/portage/pym/portage.py", line 3874, in match_from_list

    raise KeyError, "Specific key requires an operator (%s) (try adding an '=')" % (mydep)

KeyError: "Specific key requires an operator (dev-php/mod_php-5.0.2) (try adding an '=')"

```

Mai successa na cosa del genere...almeno..succede a volte che si incasina il portage...ma il recupero son sempre riuscito a farlo....manco stessi usando impostazioni diverse dal solito  :Sad: 

----------

## randomaze

 *mega wrote:*   

> KeyError: "Specific key requires an operator (dev-php/mod_php-5.0.2) (try adding an '=')"

 

Allora trova il file dove manca 'uguale!

----------

## mega

non penso che portage abbia sti 400 files

li ho controllati tutti e rimosso quelli che si potevano togliere da /etc/portage

sarebbe troppo semplice   :Idea:   :Crying or Very sad:   :Crying or Very sad: 

la situazione e' /etc/portage vuota

i files dove ci sono i mascheramenti dei pacchetti non hanno nessun riferimento a php o mod_php

virtuals a quanto ho capito non esiste più come file.

world e' ok

distfiles e /var/tmp/portage son vuote..anche se sicuramente  non hanno importanza

ora disinstallo mod_php

vedo che dice e poi lo re-emergo

----------

## mega

e per finire

la ciliegina sulla torta   :Laughing:   ormai mi vien da ridere 

```

darkbox mega # emerge -C mod_php

 dev-php/mod_php

    selected: 5.0.2

   protected: none

     omitted: none

>>> 'Selected' packages are slated for removal.

>>> 'Protected' and 'omitted' packages will not be removed.

>>> Waiting 5 seconds before starting...

>>> (Control-C to abort)...

>>> Unmerging in: 5 4 3 2 1 

>>> Unmerging dev-php/mod_php-5.0.2...

No package files given... Grabbing a set.

--- !found obj /usr/lib/apache2/modules/libphp5.so

--- !found obj /usr/bin/php

--- cfgpro obj /etc/php/apache2-php5/php.ini

--- cfgpro sym /etc/php/apache2-php5/lib

--- cfgpro dir /etc/php/apache2-php5

--- cfgpro dir /etc/php

--- cfgpro obj /etc/apache2/conf/modules.d/70_mod_php5.conf

--- cfgpro dir /etc/apache2/conf/modules.d

--- cfgpro dir /etc/apache2/conf

--- cfgpro dir /etc/apache2

--- !empty dir /usr/share/man/man1

--- !empty dir /usr/share/man

--- !empty dir /usr/share

--- !empty dir /usr/lib/php

--- !empty dir /usr/lib/apache2/modules

--- !empty dir /usr/lib/apache2

--- !empty dir /usr/lib

--- !empty dir /usr/include

--- !empty dir /usr/bin

--- !empty dir /usr

--- !empty dir /etc

Traceback (most recent call last):

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

    if 1==unmerge(myaction, myfiles):

  File "/usr/bin/emerge", line 2167, in unmerge

    retval=portage.unmerge(mysplit[0],mysplit[1],portage.root,mysettings,unmerge_action not in ["clean","prune"])

  File "/usr/lib/portage/pym/portage.py", line 2700, in unmerge

    mylink.unmerge(trimworld=mytrimworld,cleanup=1)

  File "/usr/lib/portage/pym/portage.py", line 6109, in unmerge

    matches=db[self.myroot]["vartree"].dbapi.match(x,use_cache=0)

  File "/usr/lib/portage/pym/portage.py", line 4568, in match

    return match_from_list(mydep,self.cp_list(mykey,use_cache=use_cache))

  File "/usr/lib/portage/pym/portage.py", line 3874, in match_from_list

    raise KeyError, "Specific key requires an operator (%s) (try adding an '=')" % (mydep)

KeyError: "Specific key requires an operator (dev-php/mod_php-5.0.2) (try adding an '=')"

```

Naturalmente rimane emerso

e se rido il comando

stesso errore

Qua ci vuole il developer di portage per risovere...se ci riesce lui  :Smile: 

----------

## fe

 *mega wrote:*   

> 
> 
> ```
> File "/usr/lib/portage/pym/portage.py", line 3874, in match_from_list
> 
> ...

 

Hai una dipendenza con versione ma senza = iniziale in world.

Apri /var/lib/portage/world e togli -5.0.2 dalla riga dove c'è mod_php

e non andare più a modificare world a manina se non sai esattamente cosa stai facendo

----------

## mega

grazie mille fe!!

Mi sa che l'avevo modiicato a manina cercando di ovviare al problema iniziale del thread di riuscire a farlo smettere di chiedermi di installare mod_php-4.3.9 sulla 5.0.2.

Eco perchè era saltata fuori sta complicazione   :Embarassed: 

Ancora grazie----vado a fare un update

----------

## mega

Per informazione

Ho risolto

Il file che avrebbedovuto servirmi non era quel cavolo di package.keywords che non aveva effetto alcuno, ma...  

package.mask (sta sempre in /etc/portage)

me l'ha indicato emerge quando ho cercato di fare un --inject di mopd_php-4.3.9 per fargli credere che fosse installato cosi smetteva di chiedermi in loop l'installazione dell'uno o dell'altro

Comunque...il loop era generato dalla richiesta mia di installare la 5.0.2 e dA quella di phpwebsite che necessita della 4.3.9

Ho optato per un -C di phpwebsite, che tanto non usavo e tenevo li per quando avrei avuto voglia di darci un'occhiata

Grazie a tutti per l'aiuto   :Very Happy:      e per l'anti-aiuto  :Crying or Very sad: 

----------

## gutter

Se hai risolto metti il tag [Risolto]

----------

