{"issue":{"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"state":"open","milestone":null,"user":{"avatar_url":"https://secure.gravatar.com/avatar/d1588981e0248aaa0174906c99df180e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1588981e0248aaa0174906c99df180e","url":"https://api.github.com/users/petdance","login":"petdance","id":41100},"assignee":null,"updated_at":"2011-11-14T06:14:49Z","labels":[{"name":"bug","color":"1AA195","url":"https://api.github.com/repos/petdance/scratch/labels/bug"},{"name":"build","color":"53D83A","url":"https://api.github.com/repos/petdance/scratch/labels/build"},{"name":"Pri-normal","color":"6770F0","url":"https://api.github.com/repos/petdance/scratch/labels/Pri-normal"},{"name":"Sev-medium","color":"473A34","url":"https://api.github.com/repos/petdance/scratch/labels/Sev-medium"}],"closed_at":null,"comments":0,"url":"https://api.github.com/repos/petdance/scratch/issues/1129","body":"I just upgraded my laptop to Ubuntu 11.04, and immediately there is a problem building Parrot.\n```\r\nIn file included from src/datatypes.c:23:\r\nIn file included from ./include/parrot/parrot.h:35:\r\nIn file included from /usr/include/errno.h:36:\r\nIn file included from /usr/include/bits/errno.h:25:\r\n/usr/include/linux/errno.h:4:10: fatal error: 'asm/errno.h' file not found\r\n```\r\n\r\nerrno.h used to be in /usr/include/asm/errno.h, but as of Ubuntu 11.04 it appears in these locations:\r\n\r\n```\r\n> locate errno.h\r\n/opt/intel/Compiler/11.1/064/Documentation/en_US/compiler_c/main_cls/copts/common_options/option_fmath_errno.htm\r\n/opt/intel/Compiler/11.1/064/Documentation/ja_JP/compiler_c/main_cls/copts/common_options/option_fmath_errno.htm\r\n/usr/include/errno.h\r\n/usr/include/asm-generic/errno.h\r\n/usr/include/bits/errno.h\r\n/usr/include/linux/errno.h\r\n/usr/include/sys/errno.h\r\n/usr/lib/syslinux/com32/include/errno.h\r\n```\r\n\r\nSo 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.\r\n\r\nI 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:\r\n\r\n - Try to avoid using asm/errno.h in our code, if possible\r\n - Add a configure probe to search for the correct errno.h\r\n - Yell at Ubuntu until they fix this.\r\n\r\nAny 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.\r\n\r\nOriginally http://trac.parrot.org/parrot/ticket/2109 by @Whiteknight","html_url":"https://github.com/petdance/scratch/issues/1129","title":"Can't find asm/errno.h","number":1129,"id":2227450,"created_at":"2011-11-14T06:14:49Z"},"action":"opened"}