# Gentoo ein Witz mit apache2 und php4/5-module [solved]

## SubMuffi

Was soll eigentlich der Witz, dass apache2 mit php4/5-module mit den Standard USE-Flags nicht mehr läuft?

Das ist der reinste Krampf. Selbst nach Docu aus dem Upgrading ist ein Witz und funktioniert SO NICHT.

emerge -pv apache

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

Calculating dependencies ...done!

[ebuild   R   ] net-www/apache-2.0.55-r1  +apache2 -debug -doc +ldap -mpm-leader -mpm-peruser -mpm-prefork* -mpm-threadpool -mpm-worker -no-suexec (-selinux) +ssl -static-modules +threads 0 kB

Total size of downloads: 0 kB

emerge -pv =dev-lang/php-4*

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

Calculating dependencies ...done!

[ebuild  N    ] dev-lang/php-4.4.1-r3  -adabas -apache +apache2 -bcmath +berkdb -birdstep +bzip2 -calendar -cdb -cgi -cjk -cli +crypt -ctype +curl -db2 -dba -dbase -dbmaker -dbx -debug -discard-path -doc -empress -empress-bcs -esoob +exif +expat -fastbuild -fdftk -filepro -firebird -flatfile -force-cgi-redirect -frontbase -ftp +gd -gd-external +gdbm +gmp -hardenedphp -hyperwave-api -iconv -imap -informix -inifile -interbase -iodbc +ipv6 -java-external -java-internal -kerberos +ldap -libedit -mcal -mcve -memlimit +mhash +ming -mnogosearch -msql -mssql +mysql +ncurses +nls -oci8 -oci8-instant-client -odbc -oracle7 -overload -ovrimos -pcntl +pcre -pfpro +pic -posix -postgres +readline +recode -sapdb -session -sharedext -sharedmem -snmp -sockets -solid +spell -sqlite +ssl -sybase -sybase-ct -sysvipc +threads +tiff -tokenizer +truetype -wddx +xml -xmlrpc -xpm -xsl -yaz -zip +zlib 0 kB

emerge -pv =dev-lang/php-5*

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

Calculating dependencies ...done!

[ebuild  N    ] dev-lang/php-5.0.5-r5  -adabas -apache +apache2 -bcmath +berkdb -birdstep +bzip2 -calendar -cdb -cgi -cjk -cli +crypt -ctype +curl -curlwrappers -db2 -dba -dbase -dbmaker -debug -discard-path -doc -empress -empress-bcs -esoob +exif -fdftk -filepro -firebird -flatfile -force-cgi-redirect -frontbase -ftp +gd -gd-external +gdbm +gmp -hardenedphp -hyperwave-api -iconv -imap -informix -inifile -interbase -iodbc +ipv6 -java-external -kerberos +ldap -libedit -mcve -memlimit +mhash +ming -mnogosearch -msql -mssql +mysql -mysqli +ncurses +nls -oci8 -oci8-instant-client -odbc -oracle7 -ovrimos -pcntl +pcre -pdo-external -pfpro +pic -posix -postgres -qdbm +readline +recode -sapdb -sasl -session -sharedext -sharedmem -simplexml -snmp -soap -sockets -solid +spell -spl -sqlite +ssl -sybase -sybase-ct -sysvipc +threads -tidy +tiff -tokenizer +truetype -wddx +xml -xmlrpc -xpm -xsl -yaz -zip +zlib 0 kB

* Determining SAPI(s) to build

 *   Disabled SAPI: cli

 *   Disabled SAPI: cgi

 *   Disabled SAPI: apache

 *   Enabled  SAPI: apache2

 *

 * If this package fails with a fatal error about Apache2 not having

 * been compiled with a compatible MPM, this is normally because you

 * need to toggle the 'threads' USE flag.

 *

 * If 'threads' is off, try switching it on.

 * If 'threads' is on, try switching it off.

 *

 * The module you are trying to install (php)

 * will only work with one of the following MPMs:

 *    event leader metuxmpm perchild threadpool worker

 * You do not currently have any of these MPMs installed.

 * Please re-install apache with the correct mpm-* USE flag set.

!!! ERROR: dev-lang/php-4.4.1-r3 failed.

!!! Function apache2_pkg_setup, Line 248, Exitcode 0

!!! No safe MPM installed.

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

 Determining SAPI(s) to build

 *   Disabled SAPI: cli

 *   Disabled SAPI: cgi

 *   Disabled SAPI: apache

 *   Enabled  SAPI: apache2

 *

 * If this package fails with a fatal error about Apache2 not having

 * been compiled with a compatible MPM, this is normally because you

 * need to toggle the 'threads' USE flag.

 *

 * If 'threads' is off, try switching it on.

 * If 'threads' is on, try switching it off.

 *

 * The module you are trying to install (php)

 * will only work with one of the following MPMs:

 *    event leader metuxmpm perchild threadpool worker

 * You do not currently have any of these MPMs installed.

 * Please re-install apache with the correct mpm-* USE flag set.

!!! ERROR: dev-lang/php-5.0.5-r5 failed.

!!! Function apache2_pkg_setup, Line 248, Exitcode 0

!!! No safe MPM installed.

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

* Determining SAPI(s) to build

 *   Disabled SAPI: cli

 *   Disabled SAPI: cgi

 *   Disabled SAPI: apache

 *   Enabled  SAPI: apache2

 *

 * If this package fails with a fatal error about Apache2 not having

 * been compiled with a compatible MPM, this is normally because you

 * need to toggle the 'threads' USE flag.

 *

 * If 'threads' is off, try switching it on.

 * If 'threads' is on, try switching it off.

 *

 * The module you are trying to install (php)

 * will only work with one of the following MPMs:

 *    event leader metuxmpm perchild threadpool worker

 * You do not currently have any of these MPMs installed.

 * Please re-install apache with the correct mpm-* USE flag set.

!!! ERROR: dev-lang/php-5.0.5-r5 failed.

!!! Function apache2_pkg_setup, Line 248, Exitcode 0

!!! No safe MPM installed.

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

USE="x86 3dnow 3dnowext X a52 aac aalib accessibility alsa apache2 apm arts audiofile avi bash-completion berkdb bitmap-fonts bonobo browserplugin bzip2 capi cddb cdparanoia cdr cpudetection crypt cups curl dga divx4linux dv dvd dvdr dvdread dxr3 eds emboss encode esd eurofile exif expat fam ffmpeg flac flash foomaticdb gd gdbm ggi gif glibc-compat20 glut gmp gnome gphoto2 gpm gstreamer gtk gtk2 gtkhtml idn ieee1394 imagemagick imlib ipppd ipv6 isdnlog jack java jpeg kde lcms ldap libg++ libwww linuxthreads-tls live logrotate lzo mad mbox mbrola mhash mikmod ming mjpeg mmx mmxext mng motif mozilla mp3 mpeg mysql ncurses network nls nptl nsplugin nvidia ogg openal opengl oss pam pcre pdflib perl pic png python qt quicktime rdesktop readline real recode rtc ruby samba sdl slang sndfile spamassassin speex spell sse sse2 ssl svga tcltk tcpd threads tiff truetype truetype-fonts type1-fonts udev usb vcd vidix vorbis win32codecs wmf xanim xine xinetd xml xml2 xmms xprint xscreensaver xv xvid zlib fcdsl_cards_fcdsl linguas_de linguas_en userland_GNU kernel_linux elibc_glibc"

Ich will entweder PHP4 oder PHP5 als Mod in apache2.

Das raufen sich echt bei mir die Haare.Last edited by SubMuffi on Tue Mar 07, 2006 6:54 pm; edited 2 times in total

----------

## amne

Falls du ernsthaft Hilfe bei deinem Problem benötigst wäre jetzt ein guter Zeitpunkt relevante Informationen zu deinem Problem zu posten, z.B. die verwendeten Useflags und was eigentlich nicht geht. Andernfalls sind die Chancen hoch, dass maximal die Emotionen hochgehen und der Thread spätestens auf Seite 2 deshalb gelockt wird, was der Problemlösung nicht gerade zuträglich ist.

edit: Ah, wurde inzwischen dazueditiert.  :Very Happy: 

----------

## SubMuffi

 *amne wrote:*   

> Falls du ernsthaft Hilfe bei deinem Problem benötigst wäre jetzt ein guter Zeitpunkt relevante Informationen zu deinem Problem zu posten, z.B. die verwendeten Useflags und was eigentlich nicht geht. Andernfalls sind die Chancen hoch, dass maximal die Emotionen hochgehen und der Thread spätestens auf Seite 2 deshalb gelockt wird, was der Problemlösung nicht gerade zuträglich ist.

 

Siehe oben. Ist schon längst geschehen.

----------

## firefly

also ich habe folgende konfiguration erfolgreich laufen:

 *Quote:*   

> Calculating dependencies ...done!
> 
> [ebuild   R   ] net-www/apache-2.0.55-r1  +apache2 -debug -doc -ldap -mpm-leader -mpm-peruser -mpm-prefork -mpm-threadpool -mpm-worker -no-suexec (-selinux) +ssl -static-modules -threads 0 kB 
> 
> [ebuild   R   ] dev-lang/php-5.0.5-r5  -adabas -apache +apache2 -bcmath +berkdb -birdstep +bzip2 -calendar +cdb -cgi -cjk -cli +crypt -ctype +curl -curlwrappers -db2 +dba -dbase -dbmaker -debug -discard-path -doc -empress -empress-bcs -esoob -exif -fdftk -filepro -firebird -flatfile -force-cgi-redirect -frontbase -ftp +gd -gd-external +gdbm -gmp -hardenedphp -hyperwave-api -iconv -imap -informix -inifile -interbase -iodbc +ipv6 -java-external -kerberos -ldap -libedit -mcve +memlimit +mhash +ming -mnogosearch -msql -mssql +mysql -mysqli +ncurses +nls -oci8 -oci8-instant-client -odbc -oracle7 -ovrimos -pcntl +pcre -pdo-external -pfpro -pic -posix -postgres -qdbm +readline -recode -sapdb -sasl +session -sharedext -sharedmem -simplexml -snmp -soap -sockets -solid +spell -spl +sqlite +ssl -sybase -sybase-ct -sysvipc -threads -tidy +tiff -tokenizer +truetype -wddx +xml -xmlrpc +xpm +xsl -yaz +zip +zlib 0 kB 
> ...

 

gruß

firefly

----------

## SubMuffi

 *firefly wrote:*   

> also ich habe folgende konfiguration erfolgreich laufen:
> 
>  *Quote:*   Calculating dependencies ...done!
> 
> [ebuild   R   ] net-www/apache-2.0.55-r1  +apache2 -debug -doc -ldap -mpm-leader -mpm-peruser -mpm-prefork -mpm-threadpool -mpm-worker -no-suexec (-selinux) +ssl -static-modules -threads 0 kB 
> ...

 

Hilft mir leider nicht viel weiter.

Welche sind die relevanten USE-Flags?

----------

## firefly

ich denke das problem liegt darin, das die apache mit threads und mpm-prefork installiert hast.

 *Quote:*   

> net-www/apache-2.0.55-r1 +apache2 -debug -doc +ldap -mpm-leader -mpm-peruser -mpm-prefork* -mpm-threadpool -mpm-worker -no-suexec (-selinux) +ssl -static-modules +threads 

 

zumindest sagt mir diese ausgabe das.

deshalb würde ich sagen, das du zuerst apache nur mit aktiven threads-useflag(und alle mpm-* useflags deaktiviert) übersetzt.

Ich bin grad dabei apache und php-5 mit aktiven thread-useflag zu übersetzen.

mal schauen was passiert.

----------

## SubMuffi

threads ist aktiviert und mpm-* flags habe ich erst gar nicht aktiviert.

Ganz oben beim opener thread siehst Du meine USE-Flags.

----------

## firefly

ja jetzt nur beim letzten build von apache war mpm-prefork zusätzlich aktiv.

wie auch das * an -mpm-prefork anzeigt.

deshalb reemerge apache neu und probiere es dann nochmal mit php.

----------

## SubMuffi

-mpm-prefork bedeutet aber, dass es nicht aktiviert und nicht das es aktiviert ist.

----------

## firefly

ich glaube du verstehst nicht.

portage zeigt mit einem * an einem useflag an, das sich diese useflag seit dem letzten emergen verändert wurde.

(von enabled->disables oder umgekehrt)

und bei deinem post der use-flags von apache hat das use-flag mpm-prefork ein * und deshalb wurde beim letzten build apache mit aktiven threads und mpm-prefork use-flag installiert (aus portage sicht).

Deshalb bat ich dich darum, apache jetzt einfach neu zu emergen.

PS: mein build mit aktiven threads use-flag für apache und php ist erfolgreich durchgelaufen.

----------

## SubMuffi

Trotz re-emerge:

[ebuild   R   ] net-www/apache-2.0.55-r1  +apache2 -debug -doc +ldap -mpm-leader -mpm-peruser -mpm-prefork -mpm-threadpool -mpm-worker -no-suexec (-selinux) +ssl -static-modules +threads 0 kB

 Determining SAPI(s) to build

 *   Disabled SAPI: cli

 *   Disabled SAPI: cgi

 *   Enabled  SAPI: apache

 *   Enabled  SAPI: apache2

 *

 * If this package fails with a fatal error about Apache2 not having

 * been compiled with a compatible MPM, this is normally because you

 * need to toggle the 'threads' USE flag.

 *

 * If 'threads' is off, try switching it on.

 * If 'threads' is on, try switching it off.

 *

 * USE flag 'berkdb' needs these additional flag(s) set:

 *    dba

 *

 * You can do this by enabling these flags in /etc/portage/package.use:

 *     =dev-lang/php-5.0.5-r5  dba

 *

 * You could disable this flag instead in /etc/portage/package.use:

 *      =dev-lang/php-5.0.5-r5 -berkdb

!!! ERROR: dev-lang/php-5.0.5-r5 failed.

!!! Function confutils_use_depend_all, Line 166, Exitcode 0

!!! Need missing USE flags

----------

## firefly

nur dies ist ein andere fehler  :Smile: 

lies ihn dir mal genau durch.

----------

## SubMuffi

Den Fehler kenne ich. Danach beisst er sich mit mysql. Ich möchte es LAMP laufen haben.

----------

## firefly

ich habe auch ein "LAMP" laufen und da ist php mit aktiven berkdb + dba übersetzt und ich habe kein problem mit mysql.

Bzw. wie beist sich dieses problem mit mysql ??

----------

## Dr. Nein

Moin

Die Lösung steht doch quasi schon da: 

```

USE flag 'berkdb' needs these additional flag(s) set: dba 

```

Also entweder für Php das Use-flag berkdb ausschalten, oder dba anschalten. Das das natürlich eleganter wäre, wenn das automatisch aufgelöst würde, ist natürlich klar.

----------

## SubMuffi

Ich habe noch nie so einen Affentanz (selbst als LFS) bei Apache2 und PHP plus mysql gehabt.

Vorher lief es auch. Seit meinem emerge -e world ist alles anders, obwohl an den USE-Flags nichts gedreht wurde.

----------

## pablo_supertux

@SubMuffi

http://www.gentoo.org/proj/en/php/php-upgrading.xml

 *Quote:*   

> 
> 
> We have made many changes to how PHP works within Gentoo. You have to completely remove your old PHP packages, before installing the new packages
> 
> 

 

wer liest ist klar im Vorteil   :Rolling Eyes: 

----------

## SubMuffi

 *Dr. Nein wrote:*   

> Moin
> 
> Die Lösung steht doch quasi schon da: 
> 
> ```
> ...

 

Bei  USE="dba" emerge =dev-lang/php-5*

kommt:

* If this package fails with a fatal error about Apache2 not having

 * been compiled with a compatible MPM, this is normally because you

 * need to toggle the 'threads' USE flag.

 *

 * If 'threads' is off, try switching it on.

 * If 'threads' is on, try switching it off.

 *

QA Notice: USE Flag 'nis' not in IUSE for dev-lang/php-5.0.5-r5

 * USE flag 'recode' conflicts with these USE flag(s):

 *    mysql

 *

 * You must disable these conflicting flags before you can emerge this package.

 * You can do this by disabling these flags in /etc/portage/package.use:

 *     =dev-lang/php-5.0.5-r5  -mysql

Bei USE="-berkdb" emerge =dev-lang/php-5 kommt:

* If this package fails with a fatal error about Apache2 not having

 * been compiled with a compatible MPM, this is normally because you

 * need to toggle the 'threads' USE flag.

 *

 * If 'threads' is off, try switching it on.

 * If 'threads' is on, try switching it off.

 *

 * USE flag 'gdbm' needs these additional flag(s) set:

 *    dba

 *

 * You can do this by enabling these flags in /etc/portage/package.use:

 *     =dev-lang/php-5.0.5-r5  dba

 *

 * You could disable this flag instead in /etc/portage/package.use:

 *      =dev-lang/php-5.0.5-r5 -gdbm

!!! ERROR: dev-lang/php-5.0.5-r5 failed.

!!! Function confutils_use_depend_all, Line 166, Exitcode 0

!!! Need missing USE flags

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

Ich hab das schon alles durchgehabt. Es ist echt zum Haare raufen.

----------

## SubMuffi

 *pablo_supertux wrote:*   

> @SubMuffi
> 
> http://www.gentoo.org/proj/en/php/php-upgrading.xml
> 
>  *Quote:*   
> ...

 

Klar, der nicht selbst lesen kann, wird wohl mal im opener Thread gelesen haben, dass ich diese wie besagte Docu schon gelesen habe.   :Rolling Eyes: 

----------

## firefly

du brauchst für php-5 die versionsangabe beim emergen nicht angeben, da php5 stable ist und somit

bei einem

```
emerge -pv dev-lang/php
```

php-5* ausgewählt wird.

hast du auch vorher mit -pv überprüft das bei diesem befehl das use-flag dba aktiv ist ??

 *Quote:*   

> USE="dba" emerge =dev-lang/php-5* 

 

EDIT: ach ja berkdb und gdbm brauchen die abhängigkeit dba.

wie es auch die fehlermeldung bei deinem 2. versuch auch sagt.

Ich habe php mit aktiven use-flags: berkdb, dba und gdbm am laufen

----------

## SubMuffi

 *firefly wrote:*   

> du brauchst für php-5 die versionsangabe beim emergen nicht angeben, da php5 stable ist und somit
> 
> bei einem
> 
> ```
> ...

 

USE="dba" emerge -pv =dev-lang/php-5*

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

Calculating dependencies ...done!

[ebuild  N    ] dev-lang/php-5.0.5-r5  -adabas +apache +apache2 -bcmath +berkdb -birdstep +bzip2 -calendar -cdb -cgi -cjk -cli +crypt -ctype +curl -curlwrappers -db2 +dba -dbase -dbmaker -debug -discard-path -doc -empress -empress-bcs -esoob +exif -fdftk -filepro -firebird -flatfile -force-cgi-redirect -frontbase -ftp +gd -gd-external +gdbm +gmp -hardenedphp -hyperwave-api -iconv -imap -informix -inifile -interbase -iodbc +ipv6 -java-external -kerberos +ldap -libedit -mcve -memlimit +mhash +ming -mnogosearch -msql -mssql +mysql -mysqli +ncurses +nls -oci8 -oci8-instant-client -odbc -oracle7 -ovrimos -pcntl +pcre -pdo-external -pfpro +pic -posix -postgres -qdbm +readline +recode -sapdb -sasl -session -sharedext -sharedmem -simplexml -snmp -soap -sockets -solid +spell -spl -sqlite +ssl -sybase -sybase-ct -sysvipc +threads -tidy +tiff -tokenizer +truetype -wddx +xml -xmlrpc -xpm -xsl -yaz -zip +zlib 0 kB

----------

## firefly

brauchst du wirklich die funktionalität, welche das use-flag recode aktiviert wird wirklich?

denn dieses useflag beist sich mit mysql

```
QA Notice: USE Flag 'nis' not in IUSE for dev-lang/php-5.0.5-r5

* USE flag 'recode' conflicts with these USE flag(s):

* mysql

*

* You must disable these conflicting flags before you can emerge this package.

* You can do this by disabling these flags in /etc/portage/package.use:

* =dev-lang/php-5.0.5-r5 -mysql 
```

----------

## SubMuffi

Hab den Fehler gefunden. Er mag recode nicht als USE-Flag.

Im Moment kompiliert er den php5-mod.

Besten Dank! Deine Antwort hat sich mit meiner Antwort überschnitten.   :Very Happy: 

----------

## firefly

jupp  :Smile:  aber gut zu "hören" das es nu klappt  :Wink: 

----------

## Christoph Schnauß

hallo,

 *firefly wrote:*   

> gut zu "hören" das es nu klappt ;)

 Ich habe den ganzen Dialog teilweise ziemlich amüsiert gelesen - zumal ja die gesuchte Antwort bereits aus dem Frageposting hätte ableitbar sein können.

Vielleicht als Ergänzung: ich habe einen Apache 2.2.0 (ist maskiert) laufen und wollte nicht nur mySQL, sondern auch noch PostgreSQL haben. Und dazu dann auch phpPgAdmin. Die Installation von phpPgAdmin ist erst vor wenigen Stunden gelaufen, und da ist mir denn fast dasselbe passiert, ich wurde nach USE-flags gefragt. Ein Eintrag von 

```
USE="cgi cli apache2 gd dba postgres pcre session"
```

 in meine /etc/make.conf hätte das "Problem" lösen müssen - tat es aber nicht (NB: eine /etc/make.defaults, wie im deutschsprachigen Handbuch noch beschrieben, gibt es in einem neu aufgesetzten Gentoo gar nicht [mehr?]). Der Grund: phpPgAdmin installiert als Abhängigkeit PHP-5.1.1 mit, und da gibts den Hinweis, daß "pcre postgres session" als USE-flags gesetzt werden sollen. Der kommt immer wieder, auch als ich sie gesetzt habe.

Abhilfe war letzten Endes, PHP-5.1.1 eben erstmal gesondert zu emergen, das ist erstaunlicherweise durchgelaufen, und danach lief dann auch emerge phpPgAdmin durch. Es hat mir bei der Gelegenheit gleich noch ein paar andere Sachen modernisiert (z.B. automake). Ich finde es ja nett, wenn "Abhängigkeiten" gleich mit aktualisiert werden, aber davon wußte ich bisher auch noch nichts.

Da ist offenbar bei den ebuilds irgendwas noch nicht so ganz korrekt, was ich mir auch nicht erklären kann. Aber wenn man die Fehlermeldungen weingstens ansatzweise zu deuten versteht, kommt man schon auf einen Lösungsweg.

Ach, und gleich nochwas zum Apache: wenn man ihn beispielsweise mit "rc-update add apache2 default" als Dämon bei Systemstart gleich mitstarten möchte, kann es neuerdings beim Systemstart eine Fehlermeldung geben: "Error: Apache2 not started". Das läßt sich aber mit einem 

```
etc-update
```

 beheben.

----------

## STiGMaTa_ch

@SubMuffi

Sei bitte so freundlich und Pack in Zukunft Output wie etwa:

```
* If this package fails with a fatal error about Apache2 not having

* been compiled with a compatible MPM, this is normally because you

* need to toggle the 'threads' USE flag.

*

* If 'threads' is off, try switching it on.

* If 'threads' is on, try switching it off.

*

QA Notice: USE Flag 'nis' not in IUSE for dev-lang/php-5.0.5-r5

[...]
```

In CODE Tags. Das erleichtert das lesen für andere ungemein und entspricht auch unserer Forumsregel Nr. 13:

https://forums.gentoo.org/viewtopic-t-103561.html

 *Quote:*   

> 13. Zitate bitte in quote, Bildschirmausgaben bitte in code-Tags einschiessen. Dies verbessert die Lesbarkeit von Posts und schafft eine logische Trennung zwischen Text und Bildschirmausgabe. Einzelne Befehle müssen nicht in jedem Fall in code-Tags gefasst werden. Um einen Befehl im Fließtext als einen solchen kenntlich zu machen, bietet sich auch die Verwendung des i-Tags an (kursive Darstellung). 

 

Lieber Gruss

STiGMaTa

----------

