Moin David,
* David Haller schrieb am 13 Oct 2001:
On Fre, 12 Okt 2001, Sebastian Helms wrote:
ich möchte mir PHP 4 kompilieren. Nach dem Aufruf von make kommt
folgender Fehler:
microtime.c: In function `php_if_getrusage':
microtime.c:97: storage size of `usg' isn't known
microtime.c:100: `RUSAGE_SELF' undeclared (first use in this function)
microtime.c:100: (Each undeclared identifier is reported only once
microtime.c:100: for each function it appears in.)
microtime.c:106: `RUSAGE_CHILDREN' undeclared (first use in this function)
Hat jemand eine Idee, woran das liegen könnte?
Wie's scheint wird nicht (korrekt) eingebunden...
Kontrolliere mal ob die resource.h von microtime.{c,h} eingebunden
wird (ggfs. indirekt, siehe das 2te find oben, setz das mal auf das
php-source-dir an), und wenn ja, die Umgebung der beiden RUSAGE_
defines in bits/resouce.h ob die von weiteren gesetzten defines
abhaengen (z.B. _GNU_SOURCE oder so)...
Eingebunden wird von microtime.c. Dies Definitionen
in den resource.h hängen soweit ich das beurteilen kann nicht von
weiteren defines ab.
Ich mußte allerdings mit Erstaunen feststellen, daß resource.h nicht
aus /usr/include/sys/ eingebunden wird. Ich habe in der
sys/resource.h ein eigenes define gesetzt, dieses findet sich bei
einer #ifdef Abfrage in microtime.c nicht wieder (nach dem Einbinden
von resource.h *g*).
Hab ich da was übersehen? Wo finde ich denn die includes? Im
Kernelbaum? Wenn ja, wo da? Wie kann ich rausfinden, wie der
aktuelle include-Pfad lautet? In den -I Direktiven von Make habe ich
nichts gefunden, was auf libc-header hindeutet (nur von mir
angegebene Libs, z.B. pgsql).
Ich habe einen 2.4.3er Kernel auf einer 6.3 kompiliert,
libc-2.1.2-31 in /usr/include, Kernel in /usr/src/linux und
/usr/local/src/linux-2.4.3.
Gruß,
Sebastian
--
Do not meddle in the affairs of Wizards,
for they are subtle and quick to anger.
Sebastian Helms - http://www.helms.sh - mailto:mail@helms.sh (PGP welcome)