Bug#712047: libc6-dev: cannot build C programs
Excerpts from Aurelien Jarno's message of Wed Jun 12 18:17:13 +0200 2013:
> tag 712047 + moreinfo
> thanks
>
> On Wed, Jun 12, 2013 at 04:30:08PM +0200, Michal Suchanek wrote:
> > Package: libc6-dev
> > Version: 2.13-38
> > Severity: important
> >
> > Hello,
> >
> > I tried building a C program with libc-dev installed.
> >
> > The program would not build because headers were missing:
> >
> > libc6-dev-i386: /usr/include/bits
>
> You don't need this one, your compiler should look into
> /usr/include/x86_64-linux-gnu/bits.
>
> > libc6-dev:amd64: /usr/include/x86_64-linux-gnu/bits/predefs.h
>
> This is libc6-dev the package you are reporting the bug against,
> so it can't be missing.
No, it's just wrong place.
>
> > linux-libc-dev:amd64: /usr/include/x86_64-linux-gnu/asm/errno.h
>
> libc6-dev already depends on this one.
>
> > gcc-multilib: /usr/include/asm
>
> You don't need this one, your compiler should already lokk into
> /usr/include/x86_64-linux-gnu/asm.
It does not.
> >
> > For the asm/errno.h (referenced from common header) to be present gcc-multilib must be installed.
> >
> > Similarily for bits/predefs.h to be present libc6-dev-i386 must be installed.
> >
> > The libc6-dev package is incomplete and cannot stand on its own.
> >
> > Dependency on gcc-multilib is bogus. It requires specific version of gcc installed.
> >
> > Also, libc6-dev does not depend on these packages.
> >
> > Please make a libc package against which C programs do compile.
>
> This is what libc6-dev is for. Please provide examples which do not
> work.
>
I found the setting that shows compile commands and the makefile uses
-m32 compiler flag. That clearly requires the 32bit headers and the
extra symlink provided by the 32bit headers is probably just a red herring.
Sorry about the noise.
Thanks
Michal
Reply to: