/usr/include/linux/errno.h refers to non-existent asm/errno.h

Bug #778047 reported by John Fettig on 2011-05-05
60
This bug affects 12 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Undecided
Unassigned

Bug Description

Binary package hint: linux-libc-dev

It seems to me that somebody moved /usr/include/asm to /usr/include/asm-generic without updating /usr/include/linux/errno.h. This makes just about everything compiled with the intel compiler abort with errors like:

/usr/include/linux/param.h(4): catastrophic error: could not open source file "asm/param.h"
  #include <asm/param.h>

The quick workaround is to create a symbolic link from asm-generic to asm:

 sudo ln -s /usr/include/asm-generic /usr/include/asm

Here's a list of files in /usr/include/linux that match
grep -l "#include <asm/" *

acct.h
aio_abi.h
a.out.h
atalk.h
atmioc.h
auxvec.h
cdrom.h
dccp.h
errno.h
fcntl.h
icmpv6.h
if_hippi.h
if_pppox.h
if_tr.h
if_tunnel.h
igmp.h
in.h
ioctl.h
ipc.h
ip.h
ipv6.h
kvm.h
kvm_para.h
loop.h
matroxfb.h
mman.h
msdos_fs.h
msg.h
net.h
param.h
perf_event.h
poll.h
posix_types.h
ptrace.h
radeonfb.h
resource.h
sem.h
shm.h
signal.h
sockios.h
swab.h
tcp.h
termios.h
tipc_config.h
types.h
unistd.h

ProblemType: Bug
DistroRelease: Ubuntu 11.04
Package: linux-libc-dev 2.6.38-8.42
ProcVersionSignature: Ubuntu 2.6.38-8.42-generic 2.6.38.2
Uname: Linux 2.6.38-8-generic x86_64
NonfreeKernelModules: nvidia
Architecture: amd64
Date: Thu May 5 14:27:33 2011

InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Release amd64 (20110427.1)

description: updated
description: updated
ceylon (ceylon) wrote :
ceylon (ceylon) wrote :

Apparently installing the package gcc-multilib (which is not a dependency!) creates an asm symlink to the correct files, see also https://bugs.launchpad.net/ubuntu/+source/gcc-defaults/+bug/774215 .
Perhaps it gcc-multilib should be a dependency (also of build-essential).

Tim Pederick (pederick) wrote :

It would appear from bug 774215 (https://bugs.launchpad.net/ubuntu/+source/gcc-defaults/+bug/774215) that gcc copes just fine with the "missing" header -- it knows to look in different directories. But other compilers may not. The Intel compiler has already been pointed out, but this also affects tcc. For example:

In file included from /usr/include/allegro.h:25:
In file included from /usr/include/allegro/base.h:24:
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: include file 'asm/errno.h' not found

This bug also affected the LLVM-2.9 clang/clang++ compilers, for me.

This bug is missing log files that will aid in dianosing the problem. From a terminal window please run:

apport-collect 778047

and then change the status of the bug back to 'New'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
John Fettig (john-fettig) wrote :

There are no log files that will aid in "dianosing the problem".

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
description: updated
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers