id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc	lang	patch	platform
2109	Can't find asm/errno.h	whiteknight		"I just upgraded my laptop to Ubuntu 11.04, and immediately there is a problem building Parrot.

{{{
In file included from src/datatypes.c:23:
In file included from ./include/parrot/parrot.h:35:
In file included from /usr/include/errno.h:36:
In file included from /usr/include/bits/errno.h:25:
/usr/include/linux/errno.h:4:10: fatal error: 'asm/errno.h' file not found
}}}

errno.h used to be in /usr/include/asm/errno.h, but as of Ubuntu 11.04 it appears in these locations:

{{{
> locate errno.h
/opt/intel/Compiler/11.1/064/Documentation/en_US/compiler_c/main_cls/copts/common_options/option_fmath_errno.htm
/opt/intel/Compiler/11.1/064/Documentation/ja_JP/compiler_c/main_cls/copts/common_options/option_fmath_errno.htm
/usr/include/errno.h
/usr/include/asm-generic/errno.h
/usr/include/bits/errno.h
/usr/include/linux/errno.h
/usr/include/sys/errno.h
/usr/lib/syslinux/com32/include/errno.h
}}}

So it looks like it's in /usr/include/errno.h (""#include <errno.h>"") or in /usr/include/asm-generic/errno.h (""#include <asm-generic/errno.h>""). What's weird is that the two files are not the same, and don't define the same constants. It looks like Parrot will build with /usr/include/asm-generic/errno.h, but fails with a symbol undefined error with /usr/include/errno.h. I don't know if this is a ""bug"" as far as Ubuntu is concerned or not. It certainly seems undesired to me.

I can, as a temporary fix, use a symlink to put the files in the correct places. However, For completeness, I wonder if we should do any of the following:

 - Try to avoid using asm/errno.h in our code, if possible
 - Add a configure probe to search for the correct errno.h
 - Yell at Ubuntu until they fix this.

Any of these are fine, I just want to get some opinions about it. If more people upgrade ubuntu and run into these problems, we will be getting more reports about it."	bug	new	normal		build	3.3.0	medium						linux
