tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nikola Milutinovic" <Nikola.Milutino...@ev.co.yu>
Subject Noted a problem with configure on mod_webapp
Date Wed, 03 Oct 2001 13:04:29 GMT
Hi all.

This is more for developers, but here goes. OS is Tru64 UNIX 4.0F (a.k.a. Digital UNIX (a.k.a.
DEC OSF/1)). I'm using native CC of Tru64. "configure" script in APR erroneously detects the
presence of <stdint.h> on the system and that consequently bugs the whole mod_webapp.so.

mod_webapp.so, although built wouldn't load with a message:

Legba:/usr/local/apache/conf# /usr/local/apache/bin/apachectl configtest
Syntax error on line 218 of /usr/local/apache/conf/httpd.conf:
Cannot load /usr/local/apache/libexec/mod_webapp.so into server: Unresolved symbol in /usr/local/apache/libexec/mod_webapp.so:
INT64_C

I have run the portion which detects "INT64_C in stdint.h" of the "configure" manually and
it produces a wrong conclusion.

THE PROBLEM is in this:

    cat >conftest.$ac_ext <<_ACEOF
#line 18159 "configure"
#include "confdefs.h"

    #include <stdint.h>
    #ifdef INT64_C
    YES_IS_DEFINED
    #endif

_ACEOF

Please note that the portion of CPP directives (those three in the middle) is *indented*.

Well, this is not supported in Tru64's CC and frankly I don't know of a C language specification
which allows it. To make myself perfectly clear, all C language specifications I've seen (K&R
C and ANSI C), insist on "#" sign of the CPP directive being in the first column or the first
character on the line. You can indent the directive itself, but the "#" MUST be in the first
column. DEC CC insists on this and ignores lines that have whitespace before "#". So, something
like this would be correct:

    cat >conftest.$ac_ext <<_ACEOF
#line 18159 "configure"
#include "confdefs.h"

#    include <stdint.h>
#    ifdef INT64_C
     YES_IS_DEFINED
#    endif

_ACEOF

I'm guessing that GCC allows for indentation of CPP lines, but I still think it is against
the specification. Reasoning like "GCC is the major CC in the world, comply with it" is something
I would expect from Microsoft - and not from GCC, Apache or Tomcat supporters.

I know I could build GCC for Tru64 UNIX and "save myself a lot of trouble in the future",
but that would be 50-th "meander" in building some final-stage product on my machine, which
is not only time-, but also nerve-consuming, as well.

For the time being I'll manually "weed out all of you non-hackers, who are not fit to serve
in my beloved corps" ("Full metal jacket"-Stanley Kubrick). Of course, untaring sources from
scratch...

Nix.
Mime
View raw message