On 16-Jul-13, at 5:27 AM, Matthias Klose wrote:
Please close this bug. The problem was resolved by a change to my build systemAm 15.07.2013 03:26, schrieb John David Anglin:On 12-Jul-13, at 6:52 AM, Matthias Klose wrote:I'm not aware of any change in -6 which could have caused that.It appears the change that exposed the bug was the installation of eglibc 2.17-7.The stdc-predef.h header is now included automatically. It includes <bits/predefs.h>.The hppa64 header search starts from /usr/hppa64-linux-gnu/include which is linked to /usr/include. There isn't multiarch support so the compiler doesn't findbits/predefs.h in /usr/include/hppa-linux-gnu. There is no glibc port for hppa64 linux. I think the problem was introduced by the following change to gcc: 2012-10-23 Joseph Myers <joseph@codesourcery.com> * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu): Useglibc-c.o in c_target_objs and cxx_target_objs. Use t-glibc intmake_file. Set target_has_targetcm.(tilegx-*-linux*, tilepro-*-linux*): Append to c_target_objs andcxx_target_objs rather than overriding previous value. * config/glibc-c.c, config/t-glibc: New. * doc/tm.texi.in (TARGET_C_PREINCLUDE): New @hook. * doc/tm.texi: Regenerate. * hooks.c (hook_constcharptr_void_null): New. * hooks.h (hook_constcharptr_void_null): Declare. It may be possible to disable this in config.gcc.maybe. Or ship a symlink /usr/include/hppa64-linux-gnu -> hppa-linux- gnu. The file just needs to be found, nothing else should use it. However I didn't look if the multiarch triplet for hppa64-linux-gnu is set, or correctly set.
configuration./usr/hppa64-linux-gnu/include was a symlink to /usr/include. This together with the configure option --includedir=/usr/hppa64-linux-gnu/include and new predef support caused the build error. Simply changing /usr/hppa64-linux-gnu/ include to
a real directory avoids the problem.Nothing is actually installed in /usr/hppa64-linux-gnu/include, so it probably doesn't need to exist.
The symbolic link on my system dates back to 2010. I can't remember if it was an experiment
on my part or not.I'm going to remove adding pa/t-linux to tmake_file in the hppa64 config.gcc hunk in the near future. pa/t-linux defines MULTIARCH_DIRNAME to hppa-linux-gnu. Aside from probably being wrong, I don't think the hppa64 compiler needs to be multiarch at this time.
The symlink /usr/include/hppa64-linux-gnu -> hppa-linux-gnu didn't help. Thanks, Dave -- John David Anglin dave.anglin@bell.net