>We (as the Apache Group) can't make the assumption that every
>OS knows what they are doing. What you guys should probably do
>is *always* run ./buildconf to ensure that your libtool version
>overrides whatever one we distribute. We're going to try to make
>the decision that is best across all platforms - which is to
>recommend using the one we provide in the release tarball. In your
>situations (both you and Henri), your libtool is known to be
>better - so, just do ./buildconf and it'll magically be identical
>to the one you have in your path. =)
I'm just rebuilding my RPM with the ./buildconf and but it fail,
nota that my Redhat 6.2 box use libtool 1.3.4 :
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.76092
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd httpd-2_0_28
+ cat
+ ./buildconf
rebuilding srclib/apr/configure
buildconf: checking installation...
buildconf: autoconf version 2.13 (ok)
buildconf: libtool version 1.3.4 (ok)
Copying libtool helper files ...
Creating include/arch/unix/apr_private.h.in ...
Creating configure ...
rebuilding srclib/apr-util/configure
Creating include/private/apu_config.h ...
Creating configure ...
Invoking xml/expat/buildconf.sh ...
Incorporating /usr/share/aclocal/libtool.m4 into aclocal.m4 ...
Copying libtool helper files ...
Putting files in AC_CONFIG_AUX_DIR, `conftools'.
Creating config.h.in ...
Creating configure ...
rebuilding srclib/pcre/configure
rebuilding include/ap_config_auto.h.in
rebuilding configure
+ CFLAGS=-O2 -m486 -fno-strength-reduce
+ ./configure --with-program-name=httpd2 --with-port=8092
--with-mpm=threaded --prefix=/etc/httpd2 --exec-prefix=/usr
--bindir=/usr/sbin --sbindir=/usr/sbin --libexecdir=/usr/lib/apache2
--mandir=/usr/man --localstatedir=/var --sysconfdir=/etc/httpd2/conf
--datadir=/var/www2 --includedir=/usr/include/apache2
--enable-layout=RedHat6 --enable-modules=all --enable-mods-shared=all
--enable-ssl --enable-so --with-ssl=/usr/include/
creating cache ./config.cache
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking build system type... i686-pc-linux-gnu
...
/usr/src/redhat/BUILD/httpd-2_0_28/include/ap_config_auto.h:158: warning:
`SERVER_CONFIG_FILE' redefined
/usr/src/redhat/BUILD/httpd-2_0_28/include/ap_config_auto.h:152: warning:
this is the location of the previous definition
/bin/sh /usr/src/redhat/BUILD/httpd-2_0_28/srclib/apr/libtool --silent
--mode=compile gcc -pthread -DNO_DBM_REWRITEMAP -O2 -m486
-fno-strength-reduce -DLINUX=2 -D_REENTRANT -D_XOPEN_SOURCE=500
-D_BSD_SOURCE -D_SVID_SOURCE -I/usr/include/db1
-DAP_HAVE_DESIGNATED_INITIALIZER -I.
-I/usr/src/redhat/BUILD/httpd-2_0_28/os/unix
-I/usr/src/redhat/BUILD/httpd-2_0_28/server/mpm/threaded
-I/usr/src/redhat/BUILD/httpd-2_0_28/modules/http
-I/usr/src/redhat/BUILD/httpd-2_0_28/modules/proxy
-I/usr/src/redhat/BUILD/httpd-2_0_28/include
-I/usr/src/redhat/BUILD/httpd-2_0_28/srclib/apr/include
-I/usr/src/redhat/BUILD/httpd-2_0_28/srclib/apr-util/include
-I/usr/include/openssl -I/usr/src/redhat/BUILD/httpd-2_0_28/modules/dav/main
-c ssl_util_ssl.c && touch ssl_util_ssl.slo
In file included from
/usr/src/redhat/BUILD/httpd-2_0_28/include/ap_config.h:270,
from /usr/src/redhat/BUILD/httpd-2_0_28/include/httpd.h:72,
from mod_ssl.h:93,
from ssl_util_ssl.c:60:
/usr/src/redhat/BUILD/httpd-2_0_28/include/ap_config_auto.h:158: warning:
`SERVER_CONFIG_FILE' redefined
/usr/src/redhat/BUILD/httpd-2_0_28/include/ap_config_auto.h:152: warning:
this is the location of the previous definition
/bin/sh /usr/src/redhat/BUILD/httpd-2_0_28/srclib/apr/libtool --silent
--mode=compile gcc -pthread -DNO_DBM_REWRITEMAP -O2 -m486
-fno-strength-reduce -DLINUX=2 -D_REENTRANT -D_XOPEN_SOURCE=500
-D_BSD_SOURCE -D_SVID_SOURCE -I/usr/include/db1
-DAP_HAVE_DESIGNATED_INITIALIZER -I.
-I/usr/src/redhat/BUILD/httpd-2_0_28/os/unix
-I/usr/src/redhat/BUILD/httpd-2_0_28/server/mpm/threaded
-I/usr/src/redhat/BUILD/httpd-2_0_28/modules/http
-I/usr/src/redhat/BUILD/httpd-2_0_28/modules/proxy
-I/usr/src/redhat/BUILD/httpd-2_0_28/include
-I/usr/src/redhat/BUILD/httpd-2_0_28/srclib/apr/include
-I/usr/src/redhat/BUILD/httpd-2_0_28/srclib/apr-util/include
-I/usr/include/openssl -I/usr/src/redhat/BUILD/httpd-2_0_28/modules/dav/main
-c ssl_util_table.c && touch ssl_util_table.slo
/bin/sh /usr/src/redhat/BUILD/httpd-2_0_28/shlibtool --silent --mode=link
gcc -pthread -DNO_DBM_REWRITEMAP -O2 -m486 -fno-strength-reduce -DLINUX=2
-D_REENTRANT -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_SVID_SOURCE
-I/usr/include/db1 -DAP_HAVE_DESIGNATED_INITIALIZER -I.
-I/usr/src/redhat/BUILD/httpd-2_0_28/os/unix
-I/usr/src/redhat/BUILD/httpd-2_0_28/server/mpm/threaded
-I/usr/src/redhat/BUILD/httpd-2_0_28/modules/http
-I/usr/src/redhat/BUILD/httpd-2_0_28/modules/proxy
-I/usr/src/redhat/BUILD/httpd-2_0_28/include
-I/usr/src/redhat/BUILD/httpd-2_0_28/srclib/apr/include
-I/usr/src/redhat/BUILD/httpd-2_0_28/srclib/apr-util/include
-I/usr/include/openssl -I/usr/src/redhat/BUILD/httpd-2_0_28/modules/dav/main
-export-dynamic -o mod_ssl.la -rpath /usr/lib/apache2 -module
-avoid-version mod_ssl.lo ssl_engine_config.lo ssl_engine_dh.lo
ssl_engine_ds.lo ssl_engine_ext.lo ssl_engine_init.lo ssl_engine_io.lo
ssl_engine_kernel.lo ssl_engine_log.lo ssl_engine_mutex.lo
ssl_engine_pphrase.lo ssl_engine_rand.lo ssl_engine_vars.lo ssl_expr.lo
ssl_expr_eval.lo ssl_expr_parse.lo ssl_expr_scan.lo ssl_scache.lo
ssl_scache_dbm.lo ssl_scache_shmcb.lo ssl_scache_shmht.lo ssl_util.lo
ssl_util_ssl.lo ssl_util_table.lo -ldb1 -lm -lcrypt -lnsl -ldl -lssl
-lcrypto
/usr/src/redhat/BUILD/httpd-2_0_28/srclib/apr-util/xml/expat/lib/libexpat.la
shlibtool: link: error: cannot link shared libraries into libtool libraries
make[4]: *** [mod_ssl.la] Error 1
make[4]: Leaving directory `/usr/src/redhat/BUILD/httpd-2_0_28/modules/ssl'
make[3]: *** [shared-build-recursive] Error 1
make[3]: Leaving directory `/usr/src/redhat/BUILD/httpd-2_0_28/modules/ssl'
make[2]: *** [shared-build-recursive] Error 1
make[2]: Leaving directory `/usr/src/redhat/BUILD/httpd-2_0_28/modules'
make[1]: *** [shared-build-recursive] Error 1
make[1]: Leaving directory `/usr/src/redhat/BUILD/httpd-2_0_28'
make: *** [all-recursive] Error 1
Bad exit status from /var/tmp/rpm-tmp.76092 (%build)
>> Hm, well I just shang it on 443 regardless. Should add some Debconf
>> stuff to make this configurable. But at this stage, if the
>user says yes
>> to SSL support and then enables that host, SSL support is
>almost up and
>> happening - all the need to do is generate the certs (must write a
>> script to do this).
>
>Very nice feature. However, Debconf isn't portable (is it?). =)
And on RPM platform, we didn't have such tools ;(
>Ideally, we *would* have it so that we can have them make choices
>at compile-time, but there really isn't a nice way to do that.
>So, we rely on docs.
>
>> > It may be worthwhile to step back and determine what the
>> > optimal layout is for each of you and see if we can support
>> > that out-of-the-box via config.layout. -- justin
>>
>> Feel free to talk to me about this - I'd be only too happy
>to respond.
>> :)
>
>Okay. Here are the config.layout fields:
> prefix, exec_prefix, bindir, sbindir, libexecdir, mandir,
> sysconfdir, datadir, installbuilddir, errordir, iconsdir,
>htdocsdir,
> manualdir, cgidir, includedir, localstatedir, runtimedir,
> logfiledir, proxycachedir
>
>Geesh - that's a lot. What *can't* you do with that? I think
>the biggest problem is that we aren't doing enough with this
>provided information in the configuration file. I bet that the
>Makefiles will copy it everywhere correctly, but that httpd.conf
>and the support scripts - like apachectl - have no knowledge where
>things are. That leads to a poor default configuration on our
>part.
>
>Now for the question that Henri brought up - is ServerRoot
>sysconfdir? I think we could make a case that ServerRoot is
>prefix, but that httpd itself would know to look in
>sysconfdir/httpd.conf for the config file and that we teach
>httpd.conf about the various location of things (like iconsdir,
>htdocsdir, etc, etc, etc).
>
>So, what's wrong with that? We have a bunch of relative paths flying
>around in our config file all keyed off of ServerRoot. That's nice
>if you use our layout (which has everything as a descendant of
>prefix), but horrific once you think differently than us. So, maybe
>httpd-std.conf needs to be redone to handle all of the layout stuff.
>
>This gets me down a road that sounds like someone with commit
>access may veto. So, I'll leave it at this for now and try to
>solicit feedback.
>
>Just to give you an idea of my ideal configuration:
>./configure --prefix=/pkg/httpd-2.0.28 \
> --sysconfdir=/etc/pkg/httpd-2.0.28 \
> --localstatedir=/var/pkg/httpd-2.0.28
>
>To me this means:
>- All binaries and anything that is read-only is located in /pkg.
>- All configuration files are located in /etc.
>- All error docs, icons, htdocs are located in /var.
>
>Everything magically ends up in the right directory and is
>installed correctly. The config file knows that the right stuff
>is in the right directory. FWIW, I'd also state that logs ends
>up in localstatedir.
>
>It almost seems as if we have too much flexibility. No way am
>I going to type this:
>
>./configure --prefix=/pkg/httpd-2.0.28 \
> --sysconfdir=/etc/pkg/httpd-2.0.28 \
> --localstatedir=/var/pkg/httpd-2.0.28 \
> --iconsdir=/var/pkg/httpd-2.0.28/icons \
> --errordir=/var/pkg/httpd-2.0.28/errors \
> --htdocsdir=/var/pkg/httpd-2.0.28/htdocsdir \
> --logfiledir=/var/pkg/httpd-2.0.28/logs \
>
>Yes, I can do this. But, that's way too specific and as an
>admin, I think we need better default groupings (i.e. localstatedir
>consists of X, Y, Z). -- justin
Fine for me, even if layout still didn't works having it in configure
is suffisant, but before my patch to Makefile.in, errordir wasn't handle.
My Redhat layout is :
/etc/httdp2/conf/
/etc/httdp2/build/ (needed ?)
/usr/bin/ (ie htpasswd)
/usr/sbin/ (httpd2, apachectl2)
/usr/lib/apache2/ (modules)
/usr/share/man/man1,8 (man pages)
/var/www2/cgi-bin/
/var/www2/error/
/var/www2/icons/
/var/www2/html/ (html)
/usr/lib/libapr*
/usr/include/apache2/
/var/log/http2/ (error, access)
/var/run/httpd2.pid
What should I use in configure ?
I'd like also :)
/usr/include/apr/
/usr/include/expat/expat.h