Subject: Re: pkg/29945: mit-krb5 fails to configure on Solaris
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: Johnny Lam <jlam@NetBSD.org>
List: pkgsrc-bugs
Date: 04/11/2005 15:56:01
The following reply was made to PR pkg/29945; it has been noted by GNATS.

From: Johnny Lam <jlam@NetBSD.org>
To: tv@NetBSD.org
Cc: gnats-bugs@netbsd.org, pkgsrc-bugs@NetBSD.org
Subject: Re: pkg/29945: mit-krb5 fails to configure on Solaris
Date: Mon, 11 Apr 2005 11:56:06 -0400

 neil.hoggarth@physiol.ox.ac.uk wrote:
 >>Description:
 > 
 > I'm trying to build the mit-krb5-1.4nb1 package on Solaris. Make fails
 > in the configure phase, because of a mis-match between the values of
 > CPPFLAGS and LDFLAGS recorded in the top level config.cache file and the
 > values used when configuring in the the subdirectory util/et. The
 > difference is not actually significant (the amount of leading whitespace
 > differs), but it stops the configure process and I haven't been able to
 > figure out where the difference is creeping in. Output of the make leading up to the failure is as follows:
 > 
 > [...]
 > config.status: executing krb5_config_prefix commands
 > configure: configuring in util/et
 > configure: running /bin/ksh './configure' --prefix=/usr/pkg  '--localstatedir=/var' '--sysconfdir=/usr/pkg/etc' '--enable-shared' '--enable-pkgsrc-libtool' '--enable-dns' '--enable-kdc-replay-cache' '--without-krb4' '--without-tcl' '--program-transform-name=s/^ftp/k&/' '--host=sparc-sun-solaris2' '--prefix=/usr/pkg' '--infodir=/usr/pkg/info' 'CC=gcc' 'CFLAGS=-O -I/usr/pkg/include' 'CPPFLAGS= -I/usr/pkg/include' 'LDFLAGS= -L/usr/pkg/gcc3/lib/gcc-lib/sparc-sun-solaris2/3.3.5 -Wl,-R/usr/pkg/gcc3/lib/gcc-lib/sparc-sun-solaris2/3.3.5 -L/usr/pkg/gcc3/lib -Wl,-R/usr/pkg/gcc3/lib -L/usr/pkg/lib -Wl,-R/usr/pkg/lib' 'host_alias=sparc-sun-solaris2' --cache-file=../.././config.cache --srcdir=.
 > configure: WARNING: If you wanted to set the --build type, don't use --host.
 >     If a cross compiler is detected then cross compile mode will be used.
 > configure: loading cache ../.././config.cache
 > configure: error: `CPPFLAGS' has changed since the previous run:
 > configure:   former value:    -I/usr/pkg/include
 > configure:   current value:  -I/usr/pkg/include
 > configure: error: `LDFLAGS' has changed since the previous run:
 > configure:   former value:    -L/usr/pkg/gcc3/lib/gcc-lib/sparc-sun-solaris2/3.3.5 -Wl,-R/usr/pkg/gcc3/lib/gcc-lib/sparc-sun-solaris2/3.3.5 -L/usr/pkg/gcc3/lib -Wl,-R/usr/pkg/gcc3/lib -L/usr/pkg/lib -Wl,-R/usr/pkg/lib
 > configure:   current value:  -L/usr/pkg/gcc3/lib/gcc-lib/sparc-sun-solaris2/3.3.5 -Wl,-R/usr/pkg/gcc3/lib/gcc-lib/sparc-sun-solaris2/3.3.5 -L/usr/pkg/gcc3/lib -Wl,-R/usr/pkg/gcc3/lib -L/usr/pkg/lib -Wl,-R/usr/pkg/lib
 > configure: error: changes in the environment can compromise the build
 > configure: error: run `make distclean' and/or `rm ../.././config.cache' and start over
 > configure: error: /bin/ksh './configure' failed for util/et
 > *** Error code 1
 
 I had originally worked around this problem in some other package that 
 used recursive configure scripts by doing something like:
 
 CONFIGURE_ENV+=	CPPFLAGS="${CPPFLAGS:M*}"
 
 which seemed to strip out extra whitespace at the front and in-between 
 options passed via CPPFLAGS.  I think in the new way that variables are 
 being passed to configure and make via ALL_ENV, the same workaround 
 would look like:
 
 ALL_ENV+=	CPPFLAGS=${CPPFLAGS:M*:Q}
 
 Todd, I'm not completely up-to-date on the changes that you've been 
 making over the past few months to have variables are set and passed. 
 Could you verify that this is conceptually and syntactically correct?
 
 	Thanks,
 
 	-- Johnny Lam <jlam@NetBSD.org>