marion: apache1.3.37 mit arm-gcc kompilieren

hallo leute!

ich würde gerne den apache 1.3.37 mit eim arm cross compiler kompilieren. prozessorarchitektur ist arm.

kompiliere ich es mit dem normalen gcc funzt alles:

pc:~/apache_1.3.37# CC="/usr/bin/gcc" ./configure --prefix=/usr/local/apache --enable-module=rewrite --enable-shared=rewrite --enable-module=proxy --enable-shared=proxy
Configuring for Apache, Version 1.3.37
 + using installation path layout: Apache (config.layout)
Creating Makefile
Creating Configuration.apaci in src
 + enabling mod_so for DSO support
Creating Makefile in src
 + configured for Linux platform
 + setting C pre-processor to /usr/bin/gcc -E
 + using "tr [a-z] [A-Z]" to uppercase
 + checking for system header files
 + adding selected modules
    o rewrite_module uses ConfigStart/End
      disabling DBM support for mod_rewrite
      (perhaps you need to add -ldbm, -lndbm or -lgdbm to EXTRA_LIBS)
 + using builtin Expat
 + using -ldl for vendor DSO support
 + checking sizeof various data types
 + doing sanity check on compiler and options
Creating Makefile in src/support
Creating Makefile in src/regex
Creating Makefile in src/os/unix
Creating Makefile in src/ap
Creating Makefile in src/main
Creating Makefile in src/lib/expat-lite
Creating Makefile in src/modules/standard
Creating Makefile in src/modules/proxy

versuche ich es mit dem arm gcc compiler sieht es nicht mehr so fein aus.

CC="/usr/local/arm-linux/bin/arm-linux-gcc" ./configure --prefix=/usr/local/apache --enable-module=rewrite --enable-shared=rewrite --enable-module=proxy --enable-shared=proxy
Configuring for Apache, Version 1.3.37
 + using installation path layout: Apache (config.layout)
Creating Makefile
Creating Configuration.apaci in src
 + enabling mod_so for DSO support
Creating Makefile in src
 + configured for Linux platform
 + setting C pre-processor to /usr/bin/cpp
 + using "tr [a-z] [A-Z]" to uppercase
 + checking for system header files
 + adding selected modules
    o rewrite_module uses ConfigStart/End
      disabling DBM support for mod_rewrite
      (perhaps you need to add -ldbm, -lndbm or -lgdbm to EXTRA_LIBS)
 + using builtin Expat
 + checking sizeof various data types
 + doing sanity check on compiler and options
** A test compilation with your Makefile configuration
** failed.  The below error output from the compilation
** test will give you an idea what is failing. Note that
** Apache requires an ANSI C Compiler, such as gcc.

======== Error Output for sanity check ========
cd ..; /usr/local/arm-linux/bin/arm-linux-gcc  -DLINUX=22 -DNO_DBM_REWRITEMAP -DUSE_HSREGEX -DUSE_EXPAT -I./lib/expat-lite ./apaci     -o helpers/dummy helpers/dummy.c   -lm
<command line>:1:1: warning: "__GNUC__" redefined
<built-in>: warning: this is the location of the previous definition
<command line>:1:1: warning: "__GNUC_MINOR__" redefined
<built-in>: warning: this is the location of the previous definition
<command line>:1:12: warning: "system" re-asserted
<command line>:1:13: warning: "system" re-asserted
cpp: -lang-c: linker input file unused because linking not done
arm-linux-gcc: installation problem, cannot exec `cc1': No such file or directory
make: *** [dummy] Error 1
============= End of Error Report =============

Aborting!

eigentlich sollte es doch mit jedem ansi c-compiler funktionieren.
hat jemand eine ahnung was ich falsch mache?

danke und gruss,

marion

  1. hallo,

    ich würde gerne den apache 1.3.37 mit eim arm cross compiler kompilieren. prozessorarchitektur ist arm.

    Warum muß es ein Apache 1.3.37 sein und warum willst du unbedingt diesen Compiler nehmen?

    kompiliere ich es mit dem normalen gcc funzt alles

    "funzt" bedeutet hier wohl, daß dein Apache erstmal kompiliert wird. Gibt es denn am Laufzeitverhalten irgendetwas auszusetzen, so daß du zwingend deinen ARM-Compiler benutzen mußt?

    versuche ich es mit dem arm gcc compiler sieht es nicht mehr so fein aus.
    CC="/usr/local/arm-linux/bin/arm-linux-gcc" ./configure --prefix=/usr/local/apache

    Du gibst dasselbe "prefix" an, vermutlich würde ein auf diesem Weg kompilierter Apache letzten Endes mit genau denselben Systempfaden erreichbar sein. Es gibt nur ein paar Unterschiede in den Meldungen, die dir zu denken geben könnten. Bei dem, was nicht "funzt", liest du beispielsweise:

    • setting C pre-processor to /usr/bin/cpp

    Mit dem GCC war das aber "+ setting C pre-processor to /usr/bin/gcc -E". Alles Restliche könnten dann Folgefehler sein.

    Ich kann deinen Kompilierversuch nicht nachvollziehen, weil ich kein Embedded Linux hier habe. Also kann ich nur versuchen, aus deinen Meldungen die Stelle herauszusuchen, an der es zu klemmen scheint. Was passiert dir denn, wenn du andere Software mit deinem arm-linux-gcc kompilierst?

    Grüße aus Berlin

    Christoph S.

    --
    Visitenkarte
    ss:| zu:) ls:& fo:) va:) sh:| rl:|
    1. hallo,

      ich würde gerne den apache 1.3.37 mit eim arm cross compiler kompilieren. prozessorarchitektur ist arm.

      Warum muß es ein Apache 1.3.37 sein und warum willst du unbedingt diesen Compiler nehmen?

      kompiliere ich es mit dem normalen gcc funzt alles

      "funzt" bedeutet hier wohl, daß dein Apache erstmal kompiliert wird. Gibt es denn am Laufzeitverhalten irgendetwas auszusetzen, so daß du zwingend deinen ARM-Compiler benutzen mußt?

      versuche ich es mit dem arm gcc compiler sieht es nicht mehr so fein aus.
      CC="/usr/local/arm-linux/bin/arm-linux-gcc" ./configure --prefix=/usr/local/apache

      Du gibst dasselbe "prefix" an, vermutlich würde ein auf diesem Weg kompilierter Apache letzten Endes mit genau denselben Systempfaden erreichbar sein. Es gibt nur ein paar Unterschiede in den Meldungen, die dir zu denken geben könnten. Bei dem, was nicht "funzt", liest du beispielsweise:

      • setting C pre-processor to /usr/bin/cpp
        Mit dem GCC war das aber "+ setting C pre-processor to /usr/bin/gcc -E". Alles Restliche könnten dann Folgefehler sein.

      Ich kann deinen Kompilierversuch nicht nachvollziehen, weil ich kein Embedded Linux hier habe. Also kann ich nur versuchen, aus deinen Meldungen die Stelle herauszusuchen, an der es zu klemmen scheint. Was passiert dir denn, wenn du andere Software mit deinem arm-linux-gcc kompilierst?

      Grüße aus Berlin

      Christoph S.

      hallo christoph

      danke für deine antwort...
      warum der apache für ein embedded system... eigentlich wollte ich den thttpd nehmen. doch leider bekomme ich ihm kein ssi beigebracht...
      vielleicht kennst du ja die lösung... eigentlich sollte er es können... es ist nur sehr schlecht beschrieben

      daher wollte ich mal denn alten apache versuchen, da er in minimalkonfiguration nicht ganz so gross ist.

      habe jetzt etwas gegoogelt und festgestellt das es für den apache extra arm packet gibt.

      ARM architecture:
      http://security.debian.org/dists/stable/updates/main/binary-arm/apache-common_1.3.9-14.1_arm.deb

      von daher gehe ich mal davon aus, das er mit anderen quellen kompiliert werden muss...

      könnte mich aber auch völlig auf dem holsweg befinden.

      gruss,
      marion

      1. hallo marion,

        eine kleine Bitte: ein "full quoting" ist ausgesprochen schlechter Stil.

        warum der apache für ein embedded system... eigentlich wollte ich den thttpd nehmen. doch leider bekomme ich ihm kein ssi beigebracht...

        Ach, du warst das mit der Nachfrage für thttpd mit SSI?

        vielleicht kennst du ja die lösung

        Nein. Ich kenne Lösungen, die bei mir funktionieren. Und auch bei anderen. Aber _die_ Lösung, die generell empfohlen werden kann, gibt es eh nicht, also kenne ich sie auch nicht.

        daher wollte ich mal denn alten apache versuchen, da er in minimalkonfiguration nicht ganz so gross ist.

        Das Argument leuchtet mir überhaupt nicht ein. Auch ein aktueller Apache (2.2.3 oder 2.0.59) hat keine besonders bemerkenswerte "Größe", dafür aber einen deutlich höheren Funktionsumfang. Es mag Gründe geben, weshalb man doch noch einmal einen Apache 1.3.x installieren möchte; was du anführst, ist aber keiner.

        habe jetzt etwas gegoogelt und festgestellt das es für den apache extra arm packet gibt.
        von daher gehe ich mal davon aus, das er mit anderen quellen kompiliert werden muss...

        Das mußt du ausprobieren. Ich konnte nicht sehen, daß du Debian benutzt, und da ich kein Embedded Linux habe, kann ich auch nicht beurteilen, wie weit du mit http://security.debian.org/dists/stable/updates/main/binary-arm/apache-common_1.3.9-14.1_arm.deb kommen kannst. Was bei Debian als "stable" gilt, ist allerdings in der Regel um rund zwei Jahre veraltet. Debian ist das Konservativste, was es unter den Betriebssystemen gibt und bisweilen tatsächlich um Jahre hinter den aktuellen Entwicklungen hinterher.

        könnte mich aber auch völlig auf dem holsweg befinden.

        Wenn du mir erklärst, was ein "holsweg" ist (ich kenne aus der Werbung nur "Holsteine", aber vielleicht liegen die ja neben dem Weg, gewissermaßen als Wegbegrenzung), kann ich mal schauen, ob du dich tatsächlich darauf oder vielleicht darunter, darüber, daneben oder ganz weit weg davon befindest ;-)

        Grüße aus Berlin

        Christoph S.

        --
        Visitenkarte
        ss:| zu:) ls:& fo:) va:) sh:| rl:|