bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Glibc without installed headers


From: Marcus Brinkmann
Subject: Re: Glibc without installed headers
Date: Tue, 23 Jul 2002 03:21:09 +0200
User-agent: Mutt/1.4i

On Fri, Jul 19, 2002 at 11:09:01PM -0400, Roland McGrath wrote:
> > Well, the Hurd definition files depend on glibc headers: bits/utsname.h in
> > hurd_types.defs, which sucks in a couple of others.  This did hurt me when
> > compiling glibc, but I forgot where exactly.  ioctls.defs also includes
> > bits/ioctls.h, but I don't remember this being a problem.
> 
> I don't see how this should be a problem.  You need to install the Hurd
> headers (make install-headers) before building glibc, which is the first
> thing you build.  It of course supplies those bits/* headers to itself
> while building before it's installed.  Then you install libc and its
> headers before building hurd, so everything should be there.

Tadaa!  Here is the more detailed info.  If you try to do

$ make install-headers no_deps=t

in the configured Hurd sources, you get:

make[1]: Entering directory `/gnu/build/hurd-obj/libtrivfs'
i386-gnu-gcc -O -E -x c  -I. -I../../hurd/libtrivfs -I.. -I../../hurd 
-I../include -I../../hurd/include -D_GNU_SOURCE -D_IO_MTSAFE_IO 
-D_FILE_OFFSET_BITS=64   -imacros ../../hurd/libtrivfs/fsmutations.h  
-DSERVERPREFIX=S_ ../../hurd/hurd/fs.defs -o fs.sdefsi
In file included from ../../hurd/hurd/fs.defs:25:
../../hurd/hurd/hurd_types.defs:234:26: bits/utsname.h: No such file or 
directory
make[1]: *** [fs.sdefsi] Error 1
make[1]: Leaving directory `/gnu/build/hurd-obj/libtrivfs'
make: *** [libtrivfs-install-headers] Error 2

When I copy the file bits/utsname.h into /include/bits/utsname.h, the
command succeeds.

Now, when trying to compile glibc:

i386-gnu-gcc mach_error.c -c -O2 -Wall -Winline -Wstrict-prototypes 
-Wwrite-strings -g -Wno-parentheses      -I../include -I. 
-I/floppy/libc/obj-new/mach -I.. -I../libio -I../hurd 
-I/floppy/libc/obj-new/hurd/ -I../mach -I/floppy/libc/obj-new/mach/ 
-I/floppy/libc/obj-new -I../sysdeps/i386/elf -I../sysdeps/mach/hurd/i386 
-I../sysdeps/mach/hurd -I../sysdeps/gnu -I../sysdeps/unix/bsd/bsd4.4 
-I../sysdeps/unix/mman -I../sysdeps/mach/i386 -I../sysdeps/mach 
-I../sysdeps/i386/fpu -I../sysdeps/i386 -I../sysdeps/wordsize-32 
-I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64 
-I../sysdeps/ieee754/flt-32 -I../sysdeps/unix/bsd -I../sysdeps/unix/common 
-I../sysdeps/unix/inet -I../sysdeps/unix -I../sysdeps/posix 
-I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic   
-D_LIBC_REENTRANT -include ../include/libc-symbols.h     -o 
/floppy/libc/obj-new/mach/mach_error.o
In file included from ../include/stdio.h:10,
                 from mach_error.c:81:
../libio/stdio.h:129:28: bits/stdio_lim.h: No such file or directory
make[2]: *** [/floppy/libc/obj-new/mach/mach_error.o] Error 1
rm /floppy/libc/obj-new/mach/mach/mach_port.uh 
/floppy/libc/obj-new/mach/mach/mach_port.__h 
/floppy/libc/obj-new/mach/mach/mach_host.__h 
/floppy/libc/obj-new/mach/mach/mach_host.uh 
/floppy/libc/obj-new/mach/mach/mach_interface.uh 
/floppy/libc/obj-new/mach/mach/mach_interface.__h
make[2]: Leaving directory `/floppy/libc/mach'
make[1]: *** [mach/subdir_lib] Error 2
make[1]: Leaving directory `/floppy/libc'
make: *** [all] Error 2

When I copy the file bits/stdio_lim.h into /include/bits/stdio_lim.h, it
goes on.

Note that there is still the problem that the RPC stubs in mach/ are not
generated (see libc-alpha), and I am very confused by the makefiles.
It seems that this problem occurs only with gcc 3.1, which is obscure.

Thanks,
Marcus


-- 
`Rhubarb is no Egyptian god.' GNU      http://www.gnu.org    marcus@gnu.org
Marcus Brinkmann              The Hurd http://www.gnu.org/software/hurd/
Marcus.Brinkmann@ruhr-uni-bochum.de
http://www.marcus-brinkmann.de/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]