PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : php+mod_php geht nicht bei gentoo



SeeksTheMoon
04.10.03, 23:18
ich versuche jetzt schon seit Tagen, php oder mod_php unter gentoo zu emergen.
In den USE-Flags hab ich inzwischen nur noch Apache2, aber es geht beim configure nicht weiter:

Configuring extensions
checking for ZLIB support... yes
checking if the location of ZLIB install directory is defined... /usr/lib
checking for gzgets in -lz... yes
checking whether to enable bc style precision math functions... yes
checking for BZip2 support... yes
checking for BZip2 in default path... found in /usr
checking for BZ2_bzerror in -lbz2... yes
checking whether to enable calendar conversion support... yes
checking for cpdflib support... no
checking for CRACKlib support... yes
checking whether to enable ctype functions... yes
checking for CURL support... no
checking for cyrus imap support... no
checking for xDBM support... no
checking whether to enable DBA... no
checking for gdbm_open in -lgdbm... yes
checking for GDBM support... yes
configure: error: DBA: Could not find necessary header file(s).

!!! ERROR: dev-php/mod_php-4.3.3-r1 failed.
!!! Function econf, Line 324, Exitcode 1
!!! econf failed


Die Errormeldung ist bei php und mod_php identisch. Mir ist dann der Kragen geplatzt und ich habs vom Tarball von www.php.net kompiliert und das ging!
Nur emergen klappt einfach nicht; ich habe schon alle 4er und 5er Versionen ausprobiert.
Was kann man da tun? Ich hab noch nie erlebt, dass emerge nicht funktioniert hat.
Welche header fehlen denn da? Was ist DBA?

-jm-
05.10.03, 11:04
Gentoo nutzt die offiziellen PHP sourcen, daher muss man PHP genausogut auch über emerge (bzw. ebuild) kompilieren können.

Ich würde einfach den configure Schritt selbst ausführen:

3.9 Ich möchte den ./configure Schritt selber ausführen. Geht das?

Ja, aber es ist nicht ganz einfach. Als erstes sollte man ebuild gefolgt von einem ebuild foo-x.y.z.ebuild unpack ausführen. Mit cd in das /var/tmp/portage/foo-x.y.z/work Verzeichnis wechseln. Dort können die Schritte für ./configure und make selbst eingegeben werden (mann muss beide ausführen, da Portage nicht zwischen den Konfigurations und ebuild Schritten unterscheidet). Um mit Portage nun die restliche Installation durchzuführen (es kann dann später ganz einfach, wenn gewünscht, wieder entfernt werden) wird mit touch /var/tmp/portage/foo-x.y.z/.compiled Portage mitgeteilt, dass das ebuild von ebuild foo-x.y.z.ebuild compile schon abgeschlossen ist. Mit ebuild foo-x.y.z.ebuild merge wird dann das Paket noch in das Portage Verzeichnis aufgenommen (und wird darüber hinaus als mögliche Abhängigkeit eingetragen). (http://www.gentoo.de/inhalte/doku/antworten/faq/)

JM