is -I ever ignored?

James K. Lowden jklowden@schemamania.org
Sat Nov 16 05:13:00 GMT 2013


I had a bizzarre problem last night where gcc was ignoring a directory
clearly specified with -I on the command line.  I was building postfix
with gcc 4.6 configured with 

Configured with: /usr/pkgsrc/lang/gcc46/work/gcc-4.6.3/configure
--with-gmp=/usr/pkg --with-mpc=/usr/pkg --with-mpfr=/usr/pkg
--enable-nls --with-libiconv-prefix= --enable-__cxa_atexit
--with-gxx-include-dir=/usr/pkg/gcc46/include/c++/
--prefix=/usr/pkg/gcc46 --enable-languages='c c++ fortran objc'
--enable-shared --enable-long-long --with-local-prefix=/usr/pkg/gcc46
--enable-libssp --enable-threads=posix --with-gnu-ld
--with-ld=/usr/bin/ld --with-gnu-as --with-as=/usr/bin/as

Just to check my sanity -- never well supplied in the wee hours -- I
used sed to convert the command to cpp:  

	grep ^cc make.log | tail -1 | sed 's/^cc/cpp/; s/ -c / /;' \
	sh | less

That worked.  (The source file is alldig.c)  To build the package I had
to use the CPATH sledge: 

	CPATH=/usr/local/include/sasl nohup make

ISTR something vaguely about a security issue, some feature that
restricts include/link paths.  Am I imagining that?  What would prevent
gcc from finding sasl.h that doesn't affect cpp?  

--jkl



More information about the Gcc-help mailing list