Writing a plugin requires use of a range of headers (such as gcc-plugin.h) which are not installed. Here is an example:
$ /opt/gccsvn/bin/gcc -v --save-temps -Dmy_gcc_plugin_EXPORTS -fPIC -o dumb_plugin-orig.c.o -c dumb_plugin-orig.c Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: /home/bradh/devel/gcc-svn/configure --prefix=/opt/gccsvn --enable-plugins : (reconfigured) /home/bradh/devel/gcc-svn/configure --prefix=/opt/gccsvn --enable-plugins : (reconfigured) /home/bradh/devel/gcc-svn/configure --prefix=/opt/gccsvn --enable-plugins : (reconfigured) /home/bradh/devel/gcc-svn/configure --prefix=/opt/gccsvn --enable-plugins Thread model: posix gcc version 4.5.0 20090502 (experimental) (GCC) COLLECT_GCC_OPTIONS='-v' '-save-temps' '-Dmy_gcc_plugin_EXPORTS' '-fPIC' '-o' 'dumb_plugin-orig.c.o' '-c' '-mtune=generic' /opt/gccsvn/libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/cc1 -E -quiet -v -Dmy_gcc_plugin_EXPORTS dumb_plugin-orig.c -mtune=generic -fPIC -fpch-preprocess -o dumb_plugin-orig.i ignoring nonexistent directory "/opt/gccsvn/lib/gcc/x86_64-unknown-linux-gnu/4.5.0/../../../../x86_64-unknown-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /usr/local/include /opt/gccsvn/include /opt/gccsvn/lib/gcc/x86_64-unknown-linux-gnu/4.5.0/include /opt/gccsvn/lib/gcc/x86_64-unknown-linux-gnu/4.5.0/include-fixed /usr/include End of search list. dumb_plugin-orig.c:1: fatal error: gcc-plugin.h: No such file or directory compilation terminated. -- Summary: gcc does not install appropriate plugin headers Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: bradh at frogmouth dot net GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40004