Compilation errors in the said package prevent the ebuild if $CFLAGS contains -combine. The errors are caused by violation of the ODR and indeed are bugs in the code. This problem is different from the one described in bug #252287. Reproducible: Always Steps to Reproduce: 1. Make sure that your compiler version supports '-combine'. 2. Add '-combine' to CFLAGS, if not already there. 3. emerge =dev-util/boost-build-1.34.1 Actual Results: make1.c: In function ‘alloc_state’: make1.c:131: error: incompatible implicit declaration of function ‘profile_memory’ debug.c:64: error: previous definition of ‘profile_memory’ was here make1.c: In function ‘call_timing_rule’: make1.c:706: error: incompatible implicit declaration of function ‘evaluate_rule’ compile.c:910: error: previous definition of ‘evaluate_rule’ was here make1.c: In function ‘make1cmds’: make1.c:963: warning: format not a string literal and no format arguments newstr.c: In function ‘newstr’: newstr.c:130: error: incompatible implicit declaration of function ‘profile_memory’ debug.c:64: error: previous definition of ‘profile_memory’ was here variable.c: In function ‘var_string_to_file’: variable.c:405: warning: ignoring return value of ‘fwrite’, declared with attribute warn_unused_result variable.c:406: warning: ignoring return value of ‘fwrite’, declared with attribute warn_unused_result variable.c:446: warning: ignoring return value of ‘fwrite’, declared with attribute warn_unused_result variable.c:447: warning: ignoring return value of ‘fwrite’, declared with attribute warn_unused_result builtins.c: In function ‘append_if_exists’: builtins.c:679: error: incompatible implicit declaration of function ‘timestamp’ timestamp.c:73: error: previous definition of ‘timestamp’ was here native.c: In function ‘declare_native_rule’: native.c:27: error: incompatible implicit declaration of function ‘lol_build’ builtins.c:1574: error: previous definition of ‘lol_build’ was here modules/set.c: At top level: modules/set.c:34: warning: conflicting types for ‘init_set’ builtins.c:342: warning: previous implicit declaration of ‘init_set’ was here modules/path.c:25: warning: conflicting types for ‘init_path’ builtins.c:343: warning: previous implicit declaration of ‘init_path’ was here modules/regex.c:90: warning: conflicting types for ‘init_regex’ builtins.c:344: warning: previous implicit declaration of ‘init_regex’ was here modules/property-set.c:102: warning: conflicting types for ‘init_property_set’ builtins.c:345: warning: previous implicit declaration of ‘init_property_set’ was here modules/sequence.c:34: warning: conflicting types for ‘init_sequence’ builtins.c:346: warning: previous implicit declaration of ‘init_sequence’ was here modules/order.c:136: warning: conflicting types for ‘init_order’ builtins.c:347: warning: previous implicit declaration of ‘init_order’ was here * * ERROR: dev-util/boost-build-1.34.1 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 2755: Called die * The specific snippet of code: * LIBS=${LDFLAGS} CC=$(tc-getCC) ./build.sh ${toolset} $(use_with python) || die "building bjam failed"; * The die message: * building bjam failed * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/tmp/portage/dev-util/boost-build-1.34.1/temp/build.log'. * The ebuild environment file is located at '/tmp/portage/dev-util/boost-build-1.34.1/temp/environment'. * Expected Results: >>> Source compiled. >>> Test phase [not enabled]: dev-util/boost-build-1.34.1 >>> Install boost-build-1.34.1 into /tmp/portage/dev-util/boost-build-1.34.1/image/ category dev-util >>> Completed installing boost-build-1.34.1 into /tmp/portage/dev-util/boost-build-1.34.1/image/ strip: x86_64-pc-linux-gnu-strip --strip-unneeded -R .comment usr/bin/bjam >>> Installing dev-util/boost-build-1.34.1 >>> Auto-cleaning packages... >>> No outdated packages were found on your system. * GNU info directory index is up-to-date. I am in process of preparation of a patch which would fix the problem.
Created attachment 184724 [details, diff] The patch which fixes few compilation problems in the code As promised, added a patch.
Created attachment 184772 [details, diff] Updated variant of the patch
Please file an upstream bug about this and add a reference here.
I think this bug is no more actual as '-combine' option has been removed from gcc 4.6 in the process of LTO redesign. I am closing it with RESOLVED/OBSOLETE.