Hi, I recently upgraded from Ubuntu 10.10 to 11.04, and upon the first attempted compilation of 4.7.0, it crashed complaining of: ------------------------------------------------------------------------------ In file included from /usr/include/bits/errno.h:25:0, from /usr/include/errno.h:36, from /home/mancilla/current/soft/src/gcc-build-latest/../gcc-svn/libgcc/../gcc/tsystem.h:93, from /home/mancilla/current/soft/src/gcc-build-latest/../gcc-svn/libgcc/../gcc/libgcc2.c:29: /usr/include/linux/errno.h:4:23: fatal error: asm/errno.h: No such file or directory compilation terminated. ake[3]: *** [_muldi3.o] Error 1 make[3]: Leaving directory `/home/mancilla/current/soft/src/gcc-build-latest/x86_64-unknown-linux-gnu/libgcc' make[2]: *** [all-stage1-target-libgcc] Error 2 make[2]: Leaving directory `/home/mancilla/current/soft/src/gcc-build-latest' make[1]: *** [stage1-bubble] Error 2 make[1]: Leaving directory `/home/mancilla/current/soft/src/gcc-build-latest' make: *** [all] Error 2 ------------------------------------------------------------------------------- After much browsing mailing lists and bug reports everywhere, it seems that the problem lies on the linux headers (?). The directory in question used to be /usr/include/linux and in my case it is now /usr/include/x86_64-linux-gnu. After following sugestions, I tried setting CPPFLAGS, CFLAGS and CXXFLAGS to -I/usr/include/x86_64-linux-gnu and then "-isystem /usr/include/x86_64-linux-gnu" when calling configure and the result was: at first CPPFLAGS was ignored and the same error accurred (setting CPPFLAGS). Then stage 1 completed and the same error occurred at the begining of stage 2 (setting just CFLAGS). Setting both CFLAGS nad CXXFLAGS got the compilation further, but still a similar error. In this last attempt, it did not make a difference whether it was -I or -isystem: ---------------------------------------------------------------------------- In file included from /usr/include/bits/errno.h:25:0, from /usr/include/errno.h:36, from /home/mancilla/current/soft/src/gcc-build-latest/../gcc-svn/libiberty/fnmatch.c:46: /usr/include/linux/errno.h:4:23: fatal error: asm/errno.h: No such file or directory compilation terminated. make[3]: *** [fnmatch.o] Error 1 make[3]: Leaving directory `/home/mancilla/current/soft/src/gcc-build-latest/libiberty' make[2]: *** [all-stage2-libiberty] Error 2 make[2]: Leaving directory `/home/mancilla/current/soft/src/gcc-build-latest' make[1]: *** [stage2-bubble] Error 2 make[1]: Leaving directory `/home/mancilla/current/soft/src/gcc-build-latest' make: *** [all] Error 2 ----------------------------------------------------------------------------- I'm not too sure it this is the right place for reporting this. But it seems that the compilation needs to know where is errno.h. Please let me know if it is necessary to attach the full log of the build. Any advice would be greatfully appreciated. Regards, Blanca
I succeeded in compiling by serring the following environment variables: export C_INCLUDE_PATH=/usr/include/x86_64-linux-gnu export CPLUS_INCLUDE_PATH=/usr/include/x86_64-linux-gnu is this the right way? Blanca (In reply to comment #0) > Hi, > I recently upgraded from Ubuntu 10.10 to 11.04, and upon the first attempted > compilation of 4.7.0, it crashed complaining of: > > ------------------------------------------------------------------------------ > In file included from /usr/include/bits/errno.h:25:0, > from /usr/include/errno.h:36, > from > /home/mancilla/current/soft/src/gcc-build-latest/../gcc-svn/libgcc/../gcc/tsystem.h:93, > from > /home/mancilla/current/soft/src/gcc-build-latest/../gcc-svn/libgcc/../gcc/libgcc2.c:29: > /usr/include/linux/errno.h:4:23: fatal error: asm/errno.h: No such file or > directory > compilation terminated. > ake[3]: *** [_muldi3.o] Error 1 > make[3]: Leaving directory > `/home/mancilla/current/soft/src/gcc-build-latest/x86_64-unknown-linux-gnu/libgcc' > make[2]: *** [all-stage1-target-libgcc] Error 2 > make[2]: Leaving directory `/home/mancilla/current/soft/src/gcc-build-latest' > make[1]: *** [stage1-bubble] Error 2 > make[1]: Leaving directory `/home/mancilla/current/soft/src/gcc-build-latest' > make: *** [all] Error 2 > > ------------------------------------------------------------------------------- > > After much browsing mailing lists and bug reports everywhere, it seems that the > problem lies on the linux headers (?). The directory in question used to be > /usr/include/linux and in my case it is now /usr/include/x86_64-linux-gnu. > After following sugestions, I tried setting CPPFLAGS, CFLAGS and CXXFLAGS to > -I/usr/include/x86_64-linux-gnu and then "-isystem > /usr/include/x86_64-linux-gnu" when calling configure and the result was: at > first CPPFLAGS was ignored and the same error accurred (setting CPPFLAGS). Then > stage 1 completed and the same error occurred at the begining of stage 2 > (setting just CFLAGS). Setting both CFLAGS nad CXXFLAGS got the compilation > further, but still a similar error. In this last attempt, it did not make a > difference whether > it was -I or -isystem: > > ---------------------------------------------------------------------------- > > In file included from /usr/include/bits/errno.h:25:0, > from /usr/include/errno.h:36, > from > /home/mancilla/current/soft/src/gcc-build-latest/../gcc-svn/libiberty/fnmatch.c:46: > /usr/include/linux/errno.h:4:23: fatal error: asm/errno.h: No such file or > directory > compilation terminated. > make[3]: *** [fnmatch.o] Error 1 > make[3]: Leaving directory > `/home/mancilla/current/soft/src/gcc-build-latest/libiberty' > make[2]: *** [all-stage2-libiberty] Error 2 > make[2]: Leaving directory `/home/mancilla/current/soft/src/gcc-build-latest' > make[1]: *** [stage2-bubble] Error 2 > make[1]: Leaving directory `/home/mancilla/current/soft/src/gcc-build-latest' > make: *** [all] Error 2 > > ----------------------------------------------------------------------------- > > I'm not too sure it this is the right place for reporting this. But it seems > that the compilation needs to know where is errno.h. Please let me know if it > is necessary to attach the full log of the build. > > Any advice would be greatfully appreciated. > > Regards, > Blanca
Shouldn't this be Component=bootstrap not c++ ? I assume the linux-libc-dev package is installed? That provides asm/errno.h What compiler are you using to bootstrap? If it's the standard system compiler it should know to look in /usr/include/x86_64-linux-gnu, if not then it's a bug in the Ubuntu gcc package What is the output of "gcc -v -x c /dev/null -c" ?
This is an Ubuntu packaging issue (or you lack some package), not a GCC issue, as errno.h is a standard header.
Created attachment 24195 [details] output of "gcc -v -x c /dev/null -c"
(In reply to comment #2) > Shouldn't this be Component=bootstrap not c++ ? Yes, sorry. > I assume the linux-libc-dev package is installed? That provides asm/errno.h Yes that is installed. > What compiler are you using to bootstrap? If it's the standard system compiler > it should know to look in /usr/include/x86_64-linux-gnu, if not then it's a bug > in the Ubuntu gcc package 4.5.2, which came with the distribution. > What is the output of "gcc -v -x c /dev/null -c" ? Is is attached. A bug in the Ubuntu gcc package confirms the fact that problems started after the upgrade. Thanks for clearing things out. Regards, Blanca
On Ubuntu 11.10 (oneiric), linux-libc-dev installs to /usr/include/i386-linux-gnu (or whatever your arch is, I suspect). In order to get gcc to build, I had to symlink the dir: sudo ln -s /usr/include/i386-linux-gnu/asm /usr/include/asm Whether it's a bug in ubuntu gcc, or the libc-dev package, I dunno.
I had the same problem, and fixed it by copying "/usr/include/i386-linux-gnu/" from another 32bit system to your current system. I your system doesn't have /usr/include/i386-linux-gnu/, GCC cannot find the right PATH to i386-linux-gnu
This still happens with Ubuntu 12.04.3 and gcc 4.8.2. Are you sure this is just ubuntu error? I had to install linux-libc-dev:i386, but I'm building on 64 bit system for the host (which has properly installed linux-libc-dev that existing gcc has in include search path).
Hi, installing linux-libc-dev:i386 resolved this issue for me (linux-libc-dev was already installed).