when i emerge cyrus-sasl-2.1.17 i see this error message: [ CUT ] configure: loading cache .././config.cache configure: error: `CFLAGS' has changed since the previous run: configure: former value: -march=athlon-xp -Os -pipe -m3dnow -mmmx -fomit-frame-pointer -ffast-math -funroll-loops -fforce-addr -falign-functions=4 configure: current value: -march=athlon-xp -pipe -Os -m3dnow -mmmx -fomit-frame-pointer -ffast-math -funroll-loops -fforce-addr -falign-functions=4 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/sh './configure' failed for saslauthd [ CUT ] I see the problem is in "-march=athlon-xp -Os....." with 2 space. I open my /etc/make.conf and YES there are two space in my CFLAGS string. I change in "-march=athlon-xp -Os ...." with a single space and now the emerge work correctly. Reproducible: Always Steps to Reproduce: 1. modify /etc/make.conf CFLAGS string and introduce two space between flag (usualy this is not a problem) 2. emerge cyrus-sasl Actual Results: not work. This is the output [...] config.status: creating config.h config.status: config.h is unchanged config.status: executing depfiles commands configure: configuring in saslauthd configure: running /bin/sh './configure' --prefix=/usr '--prefix=/usr' '--host=i686-pc-linux-gnu' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' '--localstatedir=/var/lib' '--with-saslauthd=/var/lib/sasl2' '--with-pwcheck=/var/lib/sasl2' '--with-configdir=/etc/sasl2' '--with-plugindir=/usr/lib/sasl2' '--with-dbpath=/etc/sasl2/sasldb2' '--enable-login' '--enable-ntlm' '--disable-krb4' '--disable-otp' '--disable-static' '--with-openssl' '--with-pam' '--with-ldap' '--enable-gssapi' '--with-mysql' '--without-pgsql' '--disable-sql' '--enable-java' '--with-javahome=/opt/blackdown-jdk-1.4.1' '--enable-sql' '--with-dblib=gdbm' 'CC=gcc' 'CFLAGS=-march=athlon-xp -pipe -Os -m3dnow -mmmx -fomit-frame-pointer -ffast-math -funroll-loops -fforce-addr -falign-functions=4 ' 'host_alias=i686-pc-linux-gnu' --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: `CFLAGS' has changed since the previous run: configure: former value: -march=athlon-xp -Os -pipe -m3dnow -mmmx -fomit-frame-pointer -ffast-math -funroll-loops -fforce-addr -falign-functions=4 configure: current value: -march=athlon-xp -pipe -Os -m3dnow -mmmx -fomit-frame-pointer -ffast-math -funroll-loops -fforce-addr -falign-functions=4 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/sh './configure' failed for saslauthd !!! ERROR: dev-libs/cyrus-sasl-2.1.17 failed. !!! Function econf, Line 365, Exitcode 1 !!! econf failed Expected Results: emerge work correctly
I have the same error.. but I think the bug is in portage, or the documentation for the make.conf. It should be specified that a single space delimiters are required in the CFLAGS section, or portage should just make it be single spaced for it's opperation... I DON'T THINK THIS IS A BUG WITH CYRUS-SASL, I think it's with portage, and the ebuild could theoretically take care of this special case, but this type problem is likely to crop up elsewhere again unless it's fixed... or documented. in my make.conf: CFLAGS="-march=athlon-xp -mmmx -m3dnow -msse -fomit-frame-pointer -O2 -pipe -Wall" (two spaces between -pipe and -Wall) doesn't work, and I get this error: ***************** configure: loading cache .././config.cache configure: error: `CFLAGS' has changed since the previous run: configure: former value: -march=athlon-xp -mmmx -m3dnow -msse -fomit-frame-pointer -O2 -pipe -Wall configure: current value: -march=athlon-xp -mmmx -m3dnow -msse -fomit-frame-pointer -O2 -pipe -Wall 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/sh './configure' failed for saslauthd !!! ERROR: dev-libs/cyrus-sasl-2.1.18 failed. !!! Function econf, Line 365, Exitcode 1 !!! econf failed *********** CFLAGS="-march=athlon-xp -mmmx -m3dnow -msse -fomit-frame-pointer -O2 -pipe -Wall" in my /etc/make.conf makes it work.. ***********
*** Bug 46554 has been marked as a duplicate of this bug. ***
I also correct the problem by removing a remaning space in my CFLAGS definition.
This is a rediculous check in the package. The flags are probably passed in two different ways... "${CFLAGS}" and ${CFLAGS} The latter is broken down by bash into a single spaced list and the former is quoted and retains it's spacing. The package is broken, portage doesn't need to be making special fixes for anal package checks.
well, resolved fixed, was the actual bug was fixed? I don't care how it's done. So, there is already a way to get the single spaced cflags out of portage, You can't have too anal checks, it's what you choose to do with them that can be too anal... If things break when there are two spaces between my cflags, then portage had better check for that, or have the package deal/ use already existing facilities to do so. If cyrus-sasl doesn't emerge properly when there are two spaces, or some other documentation (imposing rediculous checks on end users!!!) doesn't mention the format requirements of the string, or if there are not these facilities, to get the single spaced list, then this bug should be reopened. (you just said that there are facilities, and that the package is broken), so then this bug is aboutthe package, and it needs to be open. Ok, I diffed the new ebuild and the one that had the problem, I didn't see anything obviously fixed. Reopening. (I'm doing VNC into my computer, so It's really hard to fix this messages tone and spelling, sorry) Ah, I can't reopen.. Please reopen, untill the problem is reported fixed.