In installing mxBase 2.0.4 on my MacOS 10.2.1 system I get warnings like the following: gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -Wno-long-double -no-cpp-precomp -Imx/Queue/mxQueue -I/Users/skip/local/include/python2.3 -I/usr/include -I/usr/local/include -c mx/Queue/mxQueue/mxQueue.c -o build/temp.darwin-6.1-Power Macintosh-2.3/mx/Queue/mxQueue/mxQueue/mxQueue.o cc1: warning: changing search order for system directory "/usr/local/include" cc1: warning: as it has already been specified as a non-system directory cc1: warning: changing search order for system directory "/usr/include" cc1: warning: as it has already been specified as a non-system directory This warning bothers me a bit, as it suggests I'm screwing up the compiler's notions about header file search order. Has anyone else seen this and investigated how to get rid of this problem? This is related to bug http://python.org/sf/589427 (which was assigned to me). It's due to the gen_preprocess_options() function in distutils/ccompiler.py. This warning seems to be related to gcc version >= 3.1. I have a quick hack in my local copy of distutils/ccompiler.py. At the bottom of gen_preprocess_options() I replaced for dir in include_dirs: pp_opts.append ("-I%s" % dir) with pp_opts.extend (gen_preprocess_includes(include_dirs)) and added these two functions to the file: def gen_preprocess_includes_macosx_gcc(dirs): """GCC on MacOSX complains if /usr/include or /usr/local/include are mentioned in -I. """ pp_opts = [] for dir in dirs: if dir not in ("/usr/include", "/usr/local/include"): pp_opts.append ("-I%s" % dir) return pp_opts def gen_preprocess_includes(dirs): """Generate the -I flags for a compile command.""" if sys.platform == "darwin": return gen_preprocess_includes_macosx_gcc(dirs) pp_opts = [] for dir in dirs: pp_opts.append ("-I%s" % dir) return pp_opts This is an obscure solution, at best. I'd prefer to at least test the compiler and version. How can I tell what compiler and version will be used to compile files, or can't I can this level? (Seems to me that gen_preprocess_options begs to be a method of the CCompiler class.) Thx, Skip