Simples Apache-Modul: httpd.h fehlerhaft?

Dieses Thema im Forum "Mac OS X Entwickler, Programmierer" wurde erstellt von moses_78, 16.06.2006.

  1. moses_78

    moses_78 Thread Starter MacUser Mitglied

    MacUser seit:
    08.04.2005
    Beiträge:
    1.321
    Zustimmungen:
    22
    Hallo Zusammen,

    anhand dieser kleinen Anleitung habe ich versucht, mir ein Apache-Modul
    zu schreiben. Leider ist es beim Versuch geblieben, denn sobald ich "make"
    ausführe, bekomme ich einen Rattenschwanz an Warnings und Errors:
    Code:
    source='mod_ka.c' object='mod_ka.lo' libtool=yes \
    depfile='.deps/mod_ka.Plo' tmpdepfile='.deps/mod_ka.TPlo' \
    depmode=gcc3 /bin/sh ./depcomp \
    /bin/sh ./libtool --mode=compile gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"mod_ka\" -DVERSION=\"1.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1  -I. -I. -I/Eigene_Dateien/apache2/include    -g -O2 -c -o mod_ka.lo `test -f 'mod_ka.c' || echo './'`mod_ka.c
     gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"mod_ka\" -DVERSION=\"1.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I. -I/Eigene_Dateien/apache2/include -g -O2 -c mod_ka.c -MT mod_ka.lo -MD -MP -MF .deps/mod_ka.TPlo  -fno-common -DPIC -o .libs/mod_ka.o
    In file included from /Eigene_Dateien/apache2/include/httpd.h:43,
                     from mod_ka.c:1:
    /Eigene_Dateien/apache2/include/ap_config.h:25:17: error: apr.h: No such file or directory
    /Eigene_Dateien/apache2/include/ap_config.h:26:23: error: apr_hooks.h: No such file or directory
    /Eigene_Dateien/apache2/include/ap_config.h:27:32: error: apr_optional_hooks.h: No such file or directory
    In file included from /Eigene_Dateien/apache2/include/httpd.h:46,
                     from mod_ka.c:1:
    /Eigene_Dateien/apache2/include/ap_release.h:24:41: error: apr_general.h: No such file or directory
    In file included from mod_ka.c:1:
    /Eigene_Dateien/apache2/include/httpd.h:50:24: error: apr_tables.h: No such file or directory
    /Eigene_Dateien/apache2/include/httpd.h:51:23: error: apr_pools.h: No such file or directory
    /Eigene_Dateien/apache2/include/httpd.h:52:22: error: apr_time.h: No such file or directory
    /Eigene_Dateien/apache2/include/httpd.h:53:28: error: apr_network_io.h: No such file or directory
    /Eigene_Dateien/apache2/include/httpd.h:54:25: error: apr_buckets.h: No such file or directory
    /Eigene_Dateien/apache2/include/httpd.h:55:22: error: apr_poll.h: No such file or directory
    In file included from /Eigene_Dateien/apache2/include/httpd.h:59,
                     from mod_ka.c:1:
    [*snip*]
    /Eigene_Dateien/apache2/include/httpd.h:723:21: error: apr_uri.h: No such file or directory
    [*snip*]
    /Eigene_Dateien/apache2/include/http_config.h:291: error: parse error before '*' token
    [*snip*]
    /Eigene_Dateien/apache2/include/http_config.h:566: error: parse error before 'apr_pool_t'
    /Eigene_Dateien/apache2/include/http_config.h:582: error: parse error before 'apr_pool_t'
    /Eigene_Dateien/apache2/include/http_config.h:607: error: parse error before 'ap_pcfg_openfile'
    /Eigene_Dateien/apache2/include/http_config.h:608: error: parse error before 'apr_pool_t'
    /Eigene_Dateien/apache2/include/http_config.h:608: warning: data definition has no type or storage class
    /Eigene_Dateien/apache2/include/http_config.h:619: error: parse error before '*' token
    /Eigene_Dateien/apache2/include/http_config.h:622: error: 'ap_pcfg_open_custom' declared as function returning a function
    [*snip*]
    Was mich daran wundert: Wie kann es zu Fehlern wie "parse error"
    kommen? Die httpd.h habe ich nach dem Installieren aus den Sourcen
    (Version 2.2.2) nicht angerührt. Außerdem: Die Headerdatei "apr_hooks.h"
    ist nichtmal in der APR-Bibliothek von apache.org dabei.

    Vielleicht hat ja einer von euch Erfahrung mit dieser Thematik, oder
    sonst 'nen Tipp, was ich machen könnte. Beim googeln bin ich über
    Postings von Leuten mit ähnlichen Problemen gestoßen, die aber daran
    lagen, dass sie einen Apache als Paket installiert hatten, der ohne Header-
    Dateien daherkam.

    Danke für eure zahlreichen Tipps im Vorraus,
    Mathias

    PS. GNU automake Version 1.6.3, GNU Autoconf 2.59
    PS2. Wenn jemand 'nen Plan hat, wie ich das Ganze ohne libtool,
    automake, etc. als DSO bauen kann - Nur her damit :)
     
  2. wegus

    wegus MacUser Mitglied

    MacUser seit:
    13.09.2004
    Beiträge:
    14.713
    Zustimmungen:
    1.348
    interessant sind eh immer nur die ersten Meldungen, der Rest sind Folgefehler. Ich denke hier:

    /Eigene_Dateien/apache2/include/ap_config.h:25:17: error: apr.h: No such file or directory
    /Eigene_Dateien/apache2/include/ap_config.h:26:23: error: apr_hooks.h: No such file or directory
    /Eigene_Dateien/apache2/include/ap_config.h:27:32: error: apr_optional_hooks.h: No such file or directory

    liegt das Problem. Es fehlen Header-Dateien resp. deren Include-Pfade!
     
  3. moses_78

    moses_78 Thread Starter MacUser Mitglied

    MacUser seit:
    08.04.2005
    Beiträge:
    1.321
    Zustimmungen:
    22
    Dass war mir bewusst :)

    Die Frage für mich ist viel eher: Wo bekomme ich diese Header-Dateien?
    Und vor allem: Warum werden sie von der httpd.h (im gleichen Verzeich-
    nis!) inkludiert, wenn sie doch gar nicht "da" sind?

    Ich kriege hier langsam 'nen Affen, vor allem, weil alle Anleitungen, auch
    mein hochgeschätztes Apache-Handbuch von O'Reilly, einen ähnlichen Ab-
    lauf schildern, wie bei dem Tutorial, dass ich verwendet habe.....
     
  4. moses_78

    moses_78 Thread Starter MacUser Mitglied

    MacUser seit:
    08.04.2005
    Beiträge:
    1.321
    Zustimmungen:
    22
    So, mittlerweile funktioniert's. Ich habe mir nochmal einen Apache
    2.2.0 installiert, bei dem dann alle Header-Dateien dabei waren.

    Da fragt sich bloss, warum die neuste Version noch ohne apr.h, etc.
    daherkommt :kopfkratz:
     
  5. wegus

    wegus MacUser Mitglied

    MacUser seit:
    13.09.2004
    Beiträge:
    14.713
    Zustimmungen:
    1.348
    @moses: sieh Dir mal die Struktur und Doku zu den Java-Projekten bei Apache an, dann wundert Dich dort nicht mehr sooo viel ;)

    Die Sachen sind alle sehr gut, allerdings kommen die mit dokumentieren nicht wirklich nach!
     
Die Seite wird geladen...

Diese Seite empfehlen