Comment 43 for bug 61463

Revision history for this message
LionsPhil (lionsphil) wrote :

Mark: It should be noted that, according to his launchpad profile, sparr is not actually an Ubuntu dev. I think the last actual dev to comment on this thread was Matthew Garrett (mjg59), with a "no plans to fix this". Since then, the bug has been rejected (or WONTFIX, to use the more accurate Bugzilla parlance), so I suspect that any comment here is actually being ignored.

Stephen: glibc has been fixed upstream; unfortunately, the real world contains reasons to still use old versions (e.g. funky, cross-compiling build environments). Specifically, 2.3 and down contain this (partial) line in csu/Makefile:
  linux*) version=`(echo -e "#include <linux/version.h>\nUTS_RELEASE"\
Which eventually results in a compile error due to a malformed autogenerated header file. The easy, GNU-specific, fix is to change echo to /bin/echo, which supports the old POSIX flags; the fix the glibc devs have taken is to use printf.

(All "Makefile" breakages I've encountered from this are due to assuming that echo supports flags. Given that GNU echo does, shell builtins which behave differently [and this includes bash's support for "-n", actually] are unhelpfully misleading. Especially as "which echo" won't tell you that it's a builtin in either bash or dash [score one for tcsh there, which does].)

So, sorry if that was misleading. I didn't notice that it was quite such an antiquated version at the time, because the setup process for the environment is, itself, another shell script. (Hurrah. I love digging through tons of script to find out why I can't just get a working ARM compiler.)