./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