apr-gdbm-db42 upgrade conflicting with libtool

Mel Flynn mel.flynn+fbsd.ports at mailing.thruhere.net
Wed Aug 12 16:51:17 UTC 2009


On Tuesday 04 August 2009 08:10:53 N.J. Mann wrote:
> In message <20090803155055.GA31733 at titania.njm.me.uk>,
>
> 	N.J. Mann (njm at njm.me.uk) wrote:
> > In message <20090803125519.GA60550 at twisted.net>,
> >
> > 	Troy (troy at twisted.net) wrote:
> > > I was trying to upgrade apr-gdbm-db42-1.3.6.1.3.8 to 1.3.7.1.3.8 and
> > > ran into the following error.  My libtool was just upgraded to
> > > libtool-2.2.6a so there may be a conflict there.  Anyone have ideas?
> > >
> > >
> > > checking minix/config.h usability... no
> > > checking minix/config.h presence... no
> > > checking for minix/config.h... no
> > > checking whether it is safe to define __EXTENSIONS__... yes
> > > checking for library containing strerror... none required
> > > checking whether system uses EBCDIC... no
> > > performing libtool configuration...
> > > ./configure: 9753: Syntax error: word unexpected (expecting ")")
> > > *** Error code 2
> > >
> > > Stop in /usr/ports/devel/apr.
> > > *** Error code 1
> > >
> > > Stop in /usr/ports/devel/apr.
> >
> > I am also having problems updating devel/apr.  In my case it gets past
> > the configure stage and fails during the compile stage:
> >
> > %%%%%
> >
> > ===>  Building for apr-gdbm-db43-1.3.7.1.3.8
> > cd /usr/ports.workdir/usr/ports/devel/apr/work/apr-1.3.7; /usr/bin/env
> > TMPDIR="/home/njm/tmp" TMPDIR="/home/njm/tmp" SHELL=/bin/sh NO_LINT=YES
> > ACLOCAL=/usr/local/bin/aclocal-1.9 AUTOMAKE=/usr/local/bin/automake-1.9
> > AUTOMAKE_VERSION=19 AUTOCONF=/usr/local/bin/autoconf-2.62
> > AUTOHEADER=/usr/local/bin/autoheader-2.62
> > AUTOIFNAMES=/usr/local/bin/ifnames-2.62
> > AUTOM4TE=/usr/local/bin/autom4te-2.62
> > AUTORECONF=/usr/local/bin/autoreconf-2.62
> > AUTOSCAN=/usr/local/bin/autoscan-2.62
> > AUTOUPDATE=/usr/local/bin/autoupdate-2.62 AUTOCONF_VERSION=262
> > LIBTOOL=/usr/local/bin/libtool LIBTOOLIZE=/usr/local/bin/libtoolize
> > LIBTOOL_M4=/usr/local/share/aclocal/libtool.m4 PREFIX=/usr/local 
> > LOCALBASE=/usr/local X11BASE=/usr/local  MOTIFLIB="-L/usr/local/lib -lXm
> > -lXp" LIBDIR="/usr/lib"  CC="cc" CFLAGS="-O2 -fno-strict-aliasing -pipe"
> > CXX="c++" CXXFLAGS="-O2 -fno-strict-aliasing -pipe" 
> > MANPREFIX="/usr/local" BSD_INSTALL_PROGRAM="install  -s  -m 555" 
> > BSD_INSTALL_SCRIPT="install   -m 555"  BSD_INSTALL_DATA="install   -m
> > 444"  BSD_INSTALL_ MAN="install   -m 444" /usr/bin/make
> > /bin/sh /libtool --silent --mode=compile cc   -O2 -fno-strict-aliasing
> > -pipe -DHAVE_CONFIG_H    -I./include
> > -I/usr/ports.workdir/usr/ports/devel/apr/work/apr-1.3.7/include/arch/unix
> > -I./include/arch/unix
> > -I/usr/ports.workdir/usr/ports/devel/apr/work/apr-1.3.7/include/arch/unix
> > -I/usr/ports.workdir/usr/ports/devel/apr/work/apr-1.3.7/include  -o
> > passwd/apr_getpass.lo -c passwd/apr_getpass.c && touch
> > passwd/apr_getpass.lo
>
>           ^
>
> This is the why it fails.  In the relevant makefile this is actually:
>
> ./build/apr_rules.mk:38:LIBTOOL=$(SHELL) $(top_builddir)/libtool
>
> but  top_buildir  is not defined anywhere in the makefiles.  If I set it
> then everything works.  If I change the line above to use  top_blddir
> instead of  top_builddir  it works.
>
> So, why isn't it defined?  I looked through the config files - I know
> nothing about autoconf, automake, &c., and found:
>
> ./config.log:17410:LIBTOOL='$(SHELL) $(top_builddir)/libtool'
> ./config.log:17611:top_builddir='/usr/ports.workdir/usr/ports/devel/apr/wor
>k/apr-1.3.7'

Just got bitten by this too, amd64, 6.x in a jail, clean environment. I traced
it to building as "normal user", root works. The tell tale is this:
buildconf: Using libtool.m4 at /usr/local/share/aclocal/libtool.m4.
./buildconf: cannot create build/libtool.m4: Permission denied

As a result, configure works with the provided libtool.m4 and things go
downhill from there.
The provided libtool.m4 is installed by libtoolize with 444 permissions. Thus:
cat $ltfile | sed -e 's/LIBTOOL=\(.*\)top_build/LIBTOOL=\1apr_build/' > \
	build/libtool.m4

fails for a normal user. The patch below sig fixes the issue.
-- 
Mel

--- /dev/null   2009-08-12 08:33:00.000000000 -0800
+++ devel/apr/files/patch-buildconf     2009-08-12 08:32:46.000000000 -0800
@@ -0,0 +1,11 @@
+--- apr-1.3.8/buildconf.orig    2009-08-12 08:28:47.000000000 -0800
++++ apr-1.3.8/buildconf 2009-08-12 08:31:45.000000000 -0800
+@@ -71,6 +71,7 @@
+
+ echo "buildconf: Using libtool.m4 at ${ltfile}."
+
++rm -f build/libtool.m4
+ cat $ltfile | sed -e 's/LIBTOOL=\(.*\)top_build/LIBTOOL=\1apr_build/' > build/libtool.m4
+
+ # libtool.m4 from 1.6 requires ltsugar.m4
+



More information about the freebsd-ports mailing list