Bug 92123

Summary: Header problems cause various autoconfs not work
Product: [Retired] Red Hat Linux Reporter: Stephen John Smoogen <smooge>
Component: httpdAssignee: Joe Orton <jorton>
Status: CLOSED NOTABUG QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 9   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2003-06-03 07:58:08 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Stephen John Smoogen 2003-06-02 22:30:34 UTC
Description of problem:

There is a problem in the file /usr/include/httpd/apr_uri.h in Red Hat Linux 8/9
 that causes a simple autoconf test for httpd/httpd.h not to work. The problem
is that the header file contains the line

#include <apr_network_io.h>

which causes autoconf to die when testing for httpd.h There seem to be two fixes.. 

one change it to read like all other header files.

#include "apr_network_io.h"

or put link /usr/include/httpd -> /etc/httpd/include

The second one is probably due to some hack in our configure.ac files.



Version-Release number of selected component (if applicable):
[smoogen@smoogen1 lama-2.0]$ rpm -qa | grep httpd | sort
httpd-2.0.40-21.3
httpd-devel-2.0.40-21.3
httpd-manual-2.0.40-21.3
redhat-config-httpd-1.0.1-18


How reproducible:

100%

# Process this file with autoconf to produce a configure script.
AC_INIT(mod_xxx, 1.0, darkside)
AC_CONFIG_SRCDIR(./mod_xxx.c)
AM_INIT_AUTOMAKE
AM_CONFIG_HEADER(config.h)
PACKAGE=mod_xxx
VERSION=9.0
# Checks for header files.
AC_HEADER_STDC
AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h netinet/in.h stdlib.h string.h
sys/socket.h sys/time.h syslog.h unistd.h lber.h ldap.h httpd/httpd.h])

Comment 1 Joe Orton 2003-06-03 07:58:08 UTC
The supported interface for building modules is using:

  apxs -c mod_foo.c

this will ensure that -I/usr/include/httpd and whatever else is used, as
necessary.  If you don't want to use apxs -c, you should add:

  -I`apxs -q INCLUDEDIR`

to CPPFLAGS before running the header checks, but this is not future-proof (and 
will fail with the packages in Raw Hide).




Comment 2 Stephen John Smoogen 2003-06-03 19:29:31 UTC
If possible, is the <> link in that header file to force only the use of apxs?
It looks like there are several parts that need to be made ready for the project
and we had hoped to use autoconf to get those other parts going. It looked like
using a standard test on httpd/httpd.h would show that the proper items were
installed. however that test fails because of the <> entry on the header file.



Comment 3 Joe Orton 2003-06-03 20:04:15 UTC
No, it's not deliberately to force use of apxs. Your test will work if you add:

   AC_PROG_PROG(APXS, apxs)
   CPPFLAGS="$CPPFLAGS -I`$APXS -q INCLUDEDIR`"

before the AC_CHECK_HEADERS test, as I eluded to above, still with caveat.