bits/libc-header-start.h: No such file

Bug #1725390 reported by Paul Lai on 2017-10-20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
xen (Ubuntu)

Bug Description

OS: Ubuntu 17.10
gcc: gcc version 7.2.0 (Ubuntu 7.2.0-8ubuntu3)

Trying to compile Xen 4.10-rc

Steps to reproduce w/ Xen 4.10:
  configure ....
  make world

Steps to reproduce quick test:

  root@pclaidev:/rhel-home/pclai/test/ubuntu17.10/stdint# make t.o
  cc -m32 -c -o t.o t.c
  In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/stdint.h:9:0,
                   from t.c:1:
  /usr/include/stdint.h:26:10: fatal error: bits/libc-header-start.h: No such file or directory
   #include <bits/libc-header-start.h>
  compilation terminated.
  <builtin>: recipe for target 't.o' failed
  make: *** [t.o] Error 1

root@pclaidev:/rhel-home/pclai/test/ubuntu17.10/stdint# cat t.c
  #include <stdint.h>

  root@pclaidev:/rhel-home/pclai/test/ubuntu17.10/stdint# gcc -v
  Using built-in specs.
  gcc version 7.2.0 (Ubuntu 7.2.0-8ubuntu3)

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in xen (Ubuntu):
status: New → Confirmed
Joshua Powers (powersj) wrote :

Thanks for taking the time to file a bug! I tried building the latest Xen 4.10 rc3 on my Artful system with the following, which worked:

$ sudo apt-get build-deps xen
$ sudo apt-get install texinfo pandoc
$ wget
$ tar xvfz xen-4.10.0-rc3.tar.gz
$ cd xen-4.10.0-rc3
$ ./configure
# didn't do world, since I only wanted to build it and not install
$ make build -j8

I'm also using version 7.2.0 of gcc:
$ gcc -v
gcc version 7.2.0 (Ubuntu 7.2.0-8ubuntu3)

The bits/libc-header-start.h comes from libc6-dev:

Paul Lai (pclai) wrote :

Hi @Joshua:

Thanks for the reply. The 'make build' only build the xen binary. This also builds in my environment. This doesn't build the 'xen tools' (aka xl), which is necessary with every large step of Xen. The build breakage is in this tools area.

The command:
  make build-tools
will reproduce the issue quicker, without needing to 'make world'.


Andreas Hasenack (ahasenack) wrote :

It also worked for me in an artful container, following @powersj's steps but using "make build-tools" as you suggested.

I also tried "make world", and that just finished correctly as well.

The missing file from your report comes from the libc6-dev package:

root@artful-xen:~# find /usr -name libc-header-start.h

root@artful-xen:~# dpkg -S /usr/include/x86_64-linux-gnu/bits/libc-header-start.h
libc6-dev:amd64: /usr/include/x86_64-linux-gnu/bits/libc-header-start.h

Do you have that installed? I also see a "rhel" path component in your shell prompt, are you building this in a chroot or something like that?

Changed in xen (Ubuntu):
status: Confirmed → Incomplete
Paul Lai (pclai) wrote :

I re-installed 17.10 and cannot reproduce the issue.

Thanks for the words. Marked bug "Invalid"

Changed in xen (Ubuntu):
status: Incomplete → Invalid

Thanks for getting back to us about this :)

On Dec 26, 2017 17:15, "Paul Lai" <email address hidden> wrote:

> I re-installed 17.10 and cannot reproduce the issue.
> Thanks for the words. Marked bug "Invalid"
> ** Changed in: xen (Ubuntu)
> Status: Incomplete => Invalid
> --
> You received this bug notification because you are subscribed to the bug
> report.
> Title:
> bits/libc-header-start.h: No such file
> To manage notifications about this bug go to:

José Eduardo MCO (edu.mco) wrote :

I'm having the same issue trying to build wineasio using the MAKE command

Ubuntu Studio 17.10
gcc (Ubuntu 7.2.0-8ubuntu3) 7.2.0

gcc -c -I. -I/usr/include -I/usr/include -I/usr/include/wine -I/usr/include/wine/windows -m32 -g -O2 -D__WINESRC__ -D_REENTRANT -fPIC -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wwrite-strings -Wpointer-arith -o asio.o asio.c
In file included from asio.c:27:0:
/usr/include/stdio.h:27:10: fatal error: bits/libc-header-start.h: Arquivo ou diretório não encontrado
 #include <bits/libc-header-start.h>
compilation terminated.

What other information is helpful for you?

Andreas Hasenack (ahasenack) wrote :

@edu.mco, please see comment #4 for the missing package. If you have it installed, you may want to try to reinstall it then.

Romário Rios (luizromario) wrote :

I have a similar error when trying to compile klisp:

$ hg clone
$ cd klisp/src
$ make posix
make all \
make[1]: Entering directory '/home/luizromario/klisp/klisp/src'
gcc -O2 -std=gnu99 -Wall -m32 -DKLISP_USE_POSIX -D_POSIX_SOURCE -c -o kobject.o kobject.c
In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/stdint.h:9:0,
                 from kobject.h:32,
                 from kobject.c:7:
/usr/include/stdint.h:26:10: fatal error: bits/libc-header-start.h: No such file or directory
 #include <bits/libc-header-start.h>
compilation terminated.
<builtin>: recipe for target 'kobject.o' failed
make[1]: *** [kobject.o] Error 1
make[1]: Leaving directory '/home/luizromario/klisp/klisp/src'
Makefile:126: recipe for target 'posix' failed
make: *** [posix] Error 2

libc6-dev is already installed:

$ sudo apt install libc6-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
libc6-dev is already the newest version (2.26-0ubuntu2.1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Just to make sure this is the same issue I'm having, I followed his steps to build xen, and, sure enough, I had the same problem.

Romário Rios (luizromario) wrote :

The bug is triggered by the -m32 compiler flag, as evidenced by[1]. Looking for other people that had similar problems with -m32, I found this[2].

So, after installing gcc-multilib and g++-multilib, the compilation now works. All the people who couldn't reproduce this bug probably already had one of these installed (or some related package providing the same stuff), but had no way of knowing the lack of those packages would make the build of xen fail.

I'm not sure what -m32 does or why a interpreter would need it, but problem solved, anyway.



I've had a similar problem, It worked after installing gcc-multilib package.

jitendra rajput (rajputatvit) wrote :

Below command helped to fix this issue:
$ sudo apt-get install gcc-multilib g++-multilib

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers