You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users-de@httpd.apache.org by Hayo Schmidt <st...@hayo.de> on 2002/07/24 13:38:22 UTC
Wie compiliere ich ein Apache 2.0-Modul
Ich habe mir die Quelltextdistribution von Apache 2.0.39 besorgt.
Außerdem einen Modulquelltext mod_replace.c aus einer Drittquelle
(http://pihl.kumpu.org/apache2/). Dieses Modul möchte ich übersetzen,
kriege es aber trotz stundenlanger Dokumentationssuche und diversester
Versuchsanordnungen nicht hin .
Theoretisch habe ich angenommen, ich könnte das Modul z.B. in das
modules/experimental-Verzeichnis legen und mit ./configure
--enable-replace einbinden. (Wenn ich dem experimental/README glauben
würde müßte ich --enable--replace angeben, aber das erscheint mir
suspekt). Nützt aber nichts, es wird nicht in die make-Skripte eingebunden.
Was muß ich also machen? Wo ist das Zeug dokumentiert?
Hayo Schmidt
Systemumgebung:
Apache 2.0.39
SuSE-Linux 7.3
P.S.: Wer sich wundert, warum ich das Modul trotzdem anwenden kann
(siehe letzte Mail): ich habe es zu mod_example umbenannt und dem Apache
untergeschoben.
Re: Wie compiliere ich ein Apache 2.0-Modul
Posted by Hayo Schmidt <st...@hayo.de>.
Ich konnte es in der Tat mit 'gcc -fpic -DEAPI -DSHARED_MODULE -I
/usr/local/apache2/include/ -c mod_replace.c' übersetzen und es läuft
auch im Apache 2.
Die naheliegende Übersetzung mit apxs, die ich schon vorher probiert
hatte, war nicht hinzubekommen. Offenbar schieße ich mir durch einen
gleichzeitig installierten Apache 1.3 selbst ins Knie. SuSE installiert
diverse Apache-Binaries auf dem Pfad, so daß wohl unbeabsichtigt
veraltete Versionen verwendet werden. Leider nur schwer
nachzuvollziehen, insbesondere da den Programmen eine
Versionsabfrageoption fehlt.
Danke für die Hinweise.
Hayo
Erik Abele schrieb:
>>Von: Hayo Schmidt <st...@hayo.de>
>>Antworten an: users-de@httpd.apache.org
>>Datum: Wed, 24 Jul 2002 13:38:22 +0200
>>An: users-de@httpd.apache.org
>>Betreff: Wie compiliere ich ein Apache 2.0-Modul
>>
>>Ich habe mir die Quelltextdistribution von Apache 2.0.39 besorgt.
>>Außerdem einen Modulquelltext mod_replace.c aus einer Drittquelle
>>(http://pihl.kumpu.org/apache2/). Dieses Modul möchte ich übersetzen,
>>kriege es aber trotz stundenlanger Dokumentationssuche und diversester
>>Versuchsanordnungen nicht hin .
>>Theoretisch habe ich angenommen, ich könnte das Modul z.B. in das
>>modules/experimental-Verzeichnis legen und mit ./configure
>>--enable-replace einbinden. (Wenn ich dem experimental/README glauben
>>würde müßte ich --enable--replace angeben, aber das erscheint mir
>>suspekt). Nützt aber nichts, es wird nicht in die make-Skripte eingebunden.
>>Was muß ich also machen? Wo ist das Zeug dokumentiert?
>>
>>Hayo Schmidt
>>
>>Systemumgebung:
>>Apache 2.0.39
>>SuSE-Linux 7.3
>>
>>P.S.: Wer sich wundert, warum ich das Modul trotzdem anwenden kann
>>(siehe letzte Mail): ich habe es zu mod_example umbenannt und dem Apache
>>untergeschoben.
>>
>>
>
>Hi !
>
>Manuell (also nicht per apache-configure/make) kann man folgende
>Compiler-/Linker-Aufrufe verwenden um ein Modul zu builden:
>
>$ gcc -fpic -DEAPI -DSHARED_MODULE -I/path/to/apache-includes -c mod_foo.c
>$ ld -O2 -s -Bshareable -o mod_foo.so mod_foo.o
>
>Die erstellte .so sollte auf Suse dann auch ohne weiteres laufen...Pfade zu
>den Includes und ggf. andere Params (-D switch) sollten dann halt noch
>angegeben werden.
>
>Als Alternative bleibt natürlich noch der Weg über apxs:
>
>$ cd /path/to/3rdparty
>$ apxs -c mod_foo.c
>$ apxs -i -a -n foo mod_foo.so
>
>Infos: http://httpd.apache.org/docs/programs/apxs.html
>
>-erik
>
>
>--------------------------------------------------------------------------
> Apache HTTP Server Mailing List "users-de"
> unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
> sonstige Anfragen an users-de-help@httpd.apache.org
>--------------------------------------------------------------------------
>
>
>
>
Re: Wie compiliere ich ein Apache 2.0-Modul
Posted by Erik Abele <er...@dynamicscale.com>.
> Von: Hayo Schmidt <st...@hayo.de>
> Antworten an: users-de@httpd.apache.org
> Datum: Wed, 24 Jul 2002 13:38:22 +0200
> An: users-de@httpd.apache.org
> Betreff: Wie compiliere ich ein Apache 2.0-Modul
>
> Ich habe mir die Quelltextdistribution von Apache 2.0.39 besorgt.
> Außerdem einen Modulquelltext mod_replace.c aus einer Drittquelle
> (http://pihl.kumpu.org/apache2/). Dieses Modul möchte ich übersetzen,
> kriege es aber trotz stundenlanger Dokumentationssuche und diversester
> Versuchsanordnungen nicht hin .
> Theoretisch habe ich angenommen, ich könnte das Modul z.B. in das
> modules/experimental-Verzeichnis legen und mit ./configure
> --enable-replace einbinden. (Wenn ich dem experimental/README glauben
> würde müßte ich --enable--replace angeben, aber das erscheint mir
> suspekt). Nützt aber nichts, es wird nicht in die make-Skripte eingebunden.
> Was muß ich also machen? Wo ist das Zeug dokumentiert?
>
> Hayo Schmidt
>
> Systemumgebung:
> Apache 2.0.39
> SuSE-Linux 7.3
>
> P.S.: Wer sich wundert, warum ich das Modul trotzdem anwenden kann
> (siehe letzte Mail): ich habe es zu mod_example umbenannt und dem Apache
> untergeschoben.
Hi !
Manuell (also nicht per apache-configure/make) kann man folgende
Compiler-/Linker-Aufrufe verwenden um ein Modul zu builden:
$ gcc -fpic -DEAPI -DSHARED_MODULE -I/path/to/apache-includes -c mod_foo.c
$ ld -O2 -s -Bshareable -o mod_foo.so mod_foo.o
Die erstellte .so sollte auf Suse dann auch ohne weiteres laufen...Pfade zu
den Includes und ggf. andere Params (-D switch) sollten dann halt noch
angegeben werden.
Als Alternative bleibt natürlich noch der Weg über apxs:
$ cd /path/to/3rdparty
$ apxs -c mod_foo.c
$ apxs -i -a -n foo mod_foo.so
Infos: http://httpd.apache.org/docs/programs/apxs.html
-erik