./configure with CC="ccache gcc" doesn't work
Michal Sojka
sojkam1 at fel.cvut.cz
Thu Jan 20 01:50:08 PST 2011
Hi Andy,
On Wed, 19 Jan 2011, Andy Wingo wrote:
> On my Fedora 13 x86-64 system,
>
> $ env | grep CC
> CC=ccache gcc
> $ ./configure --prefix=/usr --libdir=/usr/lib64
> [...]
> Checking for getline... No (will use our own instead).
> Checking for strcasestr... No (will use our own instead).
> Checking for rpath support... No (nothing to worry about).
> Checking for -Wl,--as-needed... No (nothing to worry about).
> [... success ...]
>
> The replacement strcasestr later causes build errors:
>
> CXX -O2 lib/directory.o
> In file included from lib/notmuch-private.h:41,
> from lib/directory.cc:22:
> /usr/include/string.h:371: error: new declaration ‘const char* strcasestr(const char*, const char*)’
> compat/compat.h:46: error: ambiguates old declaration ‘char* strcasestr(const char*, const char*)’
>
> But if I export CC=gcc, things succeed:
>
> Checking for getline... Yes.
> Checking for strcasestr... Yes.
> Checking for rpath support... Yes.
>
> And the build goes fine.
>
> I think the problem occurs due to the IFS setting in configure. Not
> sure what the right solution is; I am not married to having ccache in the
> environment. It's simply that this is what has worked in the past. If
> there is a better option for using ccache I'm happy to switch, as long
> as it's globally applicable.
Hmm, the IFS thing in configure seems annoying in this case. But you can
create a little script containing
exec ccache gcc "$@"
and set CC to the name of the script, cannot you?
-Michal
More information about the notmuch
mailing list