You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by snowcrash+dev-apr <sc...@gmail.com> on 2006/12/05 22:29:08 UTC

apr-util recommends add'n of AC_PROG_LIBTOOL after libtoolize, but fails w/o add of m4_patter_allow

hi,

{ a special ping to Joe Orton:
    -- "Joe's our redhat - diehard autofoo person"
}

i'm building apr & apr-util (trunk), + httpd 22x branch head, on OSX
10.4.8 with,

	gcc --version
	 powerpc-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5367)
	autoconf --version
	 autoconf (GNU Autoconf) 2.61
	automake --version
	 automake (GNU automake) 1.10
	m4 --version
	 GNU M4 1.4.8
	glibtool --version
	 ltmain.sh (GNU libtool) 1.5.22 (1.1220.2.365 2005/12/18 22:14:06)

for apr-util, if i,

	glibtoolize -f -c

before,

	./buildconf

glibtoolize complains about,

	Remember to add `AC_PROG_LIBTOOL' to `configure.in'.

if i then, add to configure.in,

	AC_PROG_LIBTOOL

glibtoolize is now 'happy', but

	./buildconf

fails @ autoconf,

	Creating configure ...
	configure.in:42: error: possibly undefined macro: AC_PROG_LIBTOOL
	      If this token and others are legitimate, please use m4_pattern_allow.
	      See the Autoconf documentation.
	autoconf failed

if i then, instead, add to configure.in, BOTH of,

	m4_pattern_allow([AC_PROG_LIBTOOL])
	AC_PROG_LIBTOOL

then configure & subsequent build seem to build w/o error, and i can
follow thru to a 'working' httpd executable.

so, for QUESTION/consideration in apr/apr-util code,

	(1) AC_PROG_RANLIB has been deprecated, in favor of AC_PROG_LIBTOOL,
in newer versions of libtool.  are BOTH still needed?

	(2) m4_pattern_allow seems to be required after a certain version of libtool.
	does there need to be a conditional check for libtool version/case?


fwiw, the (following) workaround "works for me";

cd /projects/httpd-220-dev

svn co http://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x httpd-2.2.x
svn co http://svn.apache.org/repos/asf/apr/apr/trunk              apr-trunk
svn co http://svn.apache.org/repos/asf/apr/apr-util/trunk         apr-util-trunk

	--> r482734, httpd, apr, apr-util

ln -sf httpd-2.2.x    httpd-220-dev
ln -sf apr-trunk      apr
ln -sf apr-util-trunk apr-util

cd /projects/httpd-220-dev/apr-util/dbd
wget http://apache.webthing.com/svn/apache/apr/apr_dbd_mysql.c

cd /projects/httpd-220-dev/apr
glibtoolize -f -c
./buildconf

	"...
	Using `AC_PROG_RANLIB' is rendered obsolete by `AC_PROG_LIBTOOL'
	..."

cd /projects/httpd-220-dev/apr-util

cref: http://www.gnu.org/software/autoconf/manual/autoconf.html#Forbidden-Patterns

vi /projects/httpd-220-dev/apr-util/configure.in
--------------------
	@41
	+	m4_pattern_allow([AC_PROG_LIBTOOL])
	+	AC_PROG_LIBTOOL
		AC_PROG_INSTALL
--------------------

glibtoolize -f -c
./buildconf

cd /projects/httpd-220-dev/httpd-220-dev

vi /projects/httpd-220-dev/httpd-220-dev/configure.in
--------------------
	@322
	+	m4_pattern_allow([AC_PROG_LIBTOOL])
	+	AC_PROG_LIBTOOL
		AC_CHECK_TOOL(RANLIB, ranlib, true)
		dnl AC_PATH_PROG(PERL_PATH, perl)
--------------------

glibtoolize -f -c
./buildconf


./configure & build 'apr'
./configure & build 'apr-util'
./configure & build 'httpd'
...

resulting correctly (?) in,

otool -L /usr/local/httpd-220-dev/lib/libapr.0.dylib
 /usr/local/httpd-220-dev/lib/libapr.0.dylib (compatibility version
4.0.0, current version 4.0.0)
 /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
version 88.1.7)
 /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)

otool -L /usr/local/httpd-220-dev/lib/libaprutil.0.dylib
 /usr/local/httpd-220-dev/lib/libaprutil.0.dylib (compatibility
version 4.0.0, current version 4.0.0)
 /usr/local/lib/libreadline.5.2.dylib (compatibility version 5.0.0,
current version 5.2.0)
 /usr/local/ncurses/lib/libncurses.5.5.dylib (compatibility version
5.5.0, current version 5.5.0)
 /usr/local/lib/libz.1.dylib (compatibility version 1.0.0, current
version 1.2.3)
 /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
version 88.1.7)
 /usr/local/ssl/lib/libssl.0.9.8.dylib (compatibility version 0.9.8,
current version 0.9.8)
 /usr/local/ssl/lib/libcrypto.0.9.8.dylib (compatibility version
0.9.8, current version 0.9.8)
 /usr/local/bdb4520/lib/libdb-4.5.dylib (compatibility version 0.0.0,
current version 0.0.0)
 /usr/local/mysql/lib/mysql/libmysqlclient_r.15.dylib (compatibility
version 16.0.0, current version 16.0.0)
 /usr/lib/libsqlite3.0.dylib (compatibility version 9.0.0, current
version 9.6.0)
 /usr/local/lib/libexpat.1.dylib (compatibility version 7.0.0, current
version 7.1.0)
 /usr/local/lib/libiconv.2.dylib (compatibility version 7.0.0, current
version 7.0.0)
 /usr/local/httpd-220-dev/lib/libapr.0.dylib (compatibility version
4.0.0, current version 4.0.0)
 /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)

otool -L /usr/local/httpd-220-dev/sbin/httpd
 /usr/local/lib/libpcre.0.dylib (compatibility version 1.0.0, current
version 1.1.0)
 /usr/local/httpd-220-dev/lib/libaprutil.0.dylib (compatibility
version 4.0.0, current version 4.0.0)
 /usr/local/bdb4520/lib/libdb-4.5.dylib (compatibility version 0.0.0,
current version 0.0.0)
 /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
version 88.1.7)
 /usr/local/mysql/lib/mysql/libmysqlclient_r.15.dylib (compatibility
version 16.0.0, current version 16.0.0)
 /usr/local/lib/libreadline.5.2.dylib (compatibility version 5.0.0,
current version 5.2.0)
 /usr/local/ncurses/lib/libncurses.5.5.dylib (compatibility version
5.5.0, current version 5.5.0)
 /usr/local/lib/libz.1.dylib (compatibility version 1.0.0, current
version 1.2.3)
 /usr/local/ssl/lib/libssl.0.9.8.dylib (compatibility version 0.9.8,
current version 0.9.8)
 /usr/local/ssl/lib/libcrypto.0.9.8.dylib (compatibility version
0.9.8, current version 0.9.8)
 /usr/lib/libsqlite3.0.dylib (compatibility version 9.0.0, current
version 9.6.0)
 /usr/local/lib/libexpat.1.dylib (compatibility version 7.0.0, current
version 7.1.0)
 /usr/local/lib/libiconv.2.dylib (compatibility version 7.0.0, current
version 7.0.0)
 /usr/local/httpd-220-dev/lib/libapr.0.dylib (compatibility version
4.0.0, current version 4.0.0)
 /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)

httpd -V
 Server version: Apache/2.2.4-dev (Unix)
 Server built:   Dec  5 2006 11:33:42
 Server's Module Magic Number: 20051115:4
 Server loaded:  APR 1.3.0-dev, APR-Util 1.3.0-dev
 Compiled using: APR 1.3.0-dev, APR-Util 1.3.0-dev
 Architecture:   32-bit
 Server MPM:     Worker
   threaded:     yes (fixed thread count)
	 forked:     yes (variable process count)
 Server compiled with....
  -D APACHE_MPM_DIR="server/mpm/worker"
  -D APR_HAS_MMAP
  -D APR_USE_SYSVSEM_SERIALIZE
  -D APR_USE_PTHREAD_SERIALIZE
  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
  -D APR_HAS_OTHER_CHILD
  -D AP_HAVE_RELIABLE_PIPED_LOGS
  -D DYNAMIC_MODULE_LIMIT=128
  -D HTTPD_ROOT="/usr/local/httpd-220-dev"
  -D SUEXEC_BIN="/usr/local/httpd-220-dev/bin/suexec"
  -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
  -D DEFAULT_ERRORLOG="logs/error_log"
  -D AP_TYPES_CONFIG_FILE="/etc/httpd-220-dev/mime.types"
  -D SERVER_CONFIG_FILE="/etc/httpd-220-dev/httpd.conf"

Re: apr-util recommends add'n of AC_PROG_LIBTOOL after libtoolize, but fails w/o add of m4_patter_allow

Posted by snowcrash+dev-apr <sc...@gmail.com>.
> Um, why are you doing that?

no 'um' required :-)

(1) because my notes had a TODO "in there" -- which usually means i
was told to (sometime, somewhere, by someone, ... etc etc)
(2) because i assumed, apparently, mistakenly that as 'apr' goes, so
does 'apr-util'
(3) and, posting here, because it was suggested that i do so

> APR-util doesn't use GNU libtool directly
> - it uses the GNU libtool from APR (via apr-*-config --link-libtool) .

i had not realized that.

and, checking for my own sanity,

	grep -rlni libtoolize .
		./apr-trunk/.svn/text-base/buildconf.svn-base
		./apr-trunk/.svn/text-base/configure.in.svn-base
-->		./apr-trunk/buildconf
		./apr-trunk/configure.in
		./apr-util-trunk/xml/expat/.svn/text-base/buildconf.sh.svn-base
		./apr-util-trunk/xml/expat/buildconf.sh
	grep -rlni AC_PROG_RANLIB .
		./apr-trunk/.svn/text-base/configure.in.svn-base
-->		./apr-trunk/configure.in
	grep -rlni AC_PROG_LIBTOOL .
		./apr-trunk/.svn/text-base/configure.in.svn-base
-->		./apr-trunk/configure.in

all's clear/understood now.

thanks.

> -1 on adding AC_PROG_LIBTOOL to apr-util - it's just not needed.

i actually wasn't proposing a vote, but fair enough. :-)

thanks.

Re: apr-util recommends add'n of AC_PROG_LIBTOOL after libtoolize, but fails w/o add of m4_patter_allow

Posted by Justin Erenkrantz <ju...@erenkrantz.com>.
On 12/5/06, snowcrash+dev-apr <sc...@gmail.com> wrote:
> hi,
>
> { a special ping to Joe Orton:
>     -- "Joe's our redhat - diehard autofoo person"
> }
>
> i'm building apr & apr-util (trunk), + httpd 22x branch head, on OSX
> 10.4.8 with,
>
>         gcc --version
>          powerpc-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5367)
>         autoconf --version
>          autoconf (GNU Autoconf) 2.61
>         automake --version
>          automake (GNU automake) 1.10
>         m4 --version
>          GNU M4 1.4.8
>         glibtool --version
>          ltmain.sh (GNU libtool) 1.5.22 (1.1220.2.365 2005/12/18 22:14:06)
>
> for apr-util, if i,
>
>         glibtoolize -f -c
>
> before,
>
>         ./buildconf

Um, why are you doing that?  APR-util doesn't use GNU libtool directly
- it uses the GNU libtool from APR (via apr-*-config --link-libtool) .

-1 on adding AC_PROG_LIBTOOL to apr-util - it's just not needed.  -- justin