http://sourceware.org/bugzilla/show_bug.cgi?id=14243
Bug #: 14243 Summary: software that includes bfd.h fails to build with "#error config.h must be included before this header" Product: binutils Version: 2.23 (HEAD) Status: NEW Severity: critical Priority: P2 Component: binutils AssignedTo: unassig...@sourceware.org ReportedBy: mayna...@us.ibm.com Classification: Unclassified A build of the oprofile package against a June 12, 2012 CVS snapshot of binutils fails with the following: ------------------------------------------------------------ make[2]: Entering directory `/home/cseo/at5.0/at5.0-5/src/oprofile/libopagent' /bin/sh ../libtool --tag=CC --mode=compile /opt/at5.0-5-rc1/bin/gcc -DHAVE_CONFIG_H -I. -I.. -I/home/cseo/at5.0/at5.0-5/src/oprofile/libopagent -fPIC -I /home/cseo/at5.0/at5.0-5/src/oprofile/libop -I /home/cseo/at5.0/at5.0-5/src/oprofile/libutil -g -MT libopagent_la-opagent.lo -MD -MP -MF .deps/libopagent_la-opagent.Tpo -c -o libopagent_la-opagent.lo `test -f 'opagent.c' || echo '/home/cseo/at5.0/at5.0-5/src/oprofile/libopagent/'`opagent.c libtool: compile: /opt/at5.0-5-rc1/bin/gcc -DHAVE_CONFIG_H -I. -I.. -I/home/cseo/at5.0/at5.0-5/src/oprofile/libopagent -fPIC -I /home/cseo/at5.0/at5.0-5/src/oprofile/libop -I /home/cseo/at5.0/at5.0-5/src/oprofile/libutil -g -MT libopagent_la-opagent.lo -MD -MP -MF .deps/libopagent_la-opagent.Tpo -c opagent.c -fPIC -DPIC -o .libs/libopagent_la-opagent.o In file included from opagent.c:63:0: /opt/at5.0-5-rc1/include/bfd.h:37:2: error: #error config.h must be included before this header make[2]: Entering directory `/home/cseo/at5.0/at5.0-5/src/oprofile/libopagent' /bin/sh ../libtool --tag=CC --mode=compile /opt/at5.0-5-rc1/bin/gcc -DHAVE_CONFIG_H -I. -I.. -I/home/cseo/at5.0/at5.0-5/src/oprofile/libopagent -fPIC -I /home/cseo/at5.0/at5.0-5/src/oprofile/libop -I /home/cseo/at5.0/at5.0-5/src/oprofile/libutil -g -MT libopagent_la-opagent.lo -MD -MP -MF .deps/libopagent_la-opagent.Tpo -c -o libopagent_la-opagent.lo `test -f 'opagent.c' || echo '/home/cseo/at5.0/at5.0-5/src/oprofile/libopagent/'`opagent.c libtool: compile: /opt/at5.0-5-rc1/bin/gcc -DHAVE_CONFIG_H -I. -I.. -I/home/cseo/at5.0/at5.0-5/src/oprofile/libopagent -fPIC -I /home/cseo/at5.0/at5.0-5/src/oprofile/libop -I /home/cseo/at5.0/at5.0-5/src/oprofile/libutil -g -MT libopagent_la-opagent.lo -MD -MP -MF .deps/libopagent_la-opagent.Tpo -c opagent.c -fPIC -DPIC -o .libs/libopagent_la-opagent.o In file included from opagent.c:63:0: /opt/at5.0-5-rc1/include/bfd.h:37:2: error: #error config.h must be included before this header This failure is apparently related to the binutils change that went in via bug # 14072. This change apparently enforces that any file that includes "bfd.h" also includes "config.h". As I understand it, this change was intended for binutils source files only since the "config.h" file being required is binutils' config.h. Yet the change is improperly requiring external software to also include a "config.h" before including bfd.h. For the case in question, oprofile's opagent.c does not include the oprofile's config.h and does not require it. While we *could* hack opagent.c (and several other oprofile files that include bfd.h) to unnecessarily include oprofile's config.h, this seems to be the wrong fix to this problem. -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils