Problem building glibc
Michael Eager
eager@eagerm.com
Tue May 19 23:45:00 GMT 2015
On 05/19/2015 12:39 PM, Roland McGrath wrote:
> I can't reproduce any problem with make-3.81, though I didn't try using
> trunk binutils and gcc too. As you can imagine, people are not commonly
> hitting anything like this or we would have addressed it. So you'll have
> to do your own debugging.
>
> The scenario of a header file being installed during the build suggests
> that the include searching is going wrong. Nothing from the install
> directory should be used during the build. I'd look at the .d (or .dt)
> files in string/ and see which ones refer to anything in the install
> directory, then figure out why it's coming out that way.
There are a number of dependencies on headers in the install directory.
Most are the headers installed by gcc, under ...-linux-gnu/4.9.2. If
I filter those out, there are dependencies for install/include/limits.h.
Once this is touched, almost everything needs to be remade.
Should I configure with --with-headers pointing somewhere else?
> Finding limits.h from the wrong place doesn't really explain the infinite
> iteration behavior. But it's the most obvious place to look from what
> you've described, and fixing the root cause of that might make everything
> else shape up.
Running "make -d" I see this:
Considering target file `/local/work/fsf-head/build/glibc/iconv/stamp.o'.
Considering target file `/local/work/fsf-head/build/glibc/iconv/iconv_open.o'.
Looking for an implicit rule for `/local/work/fsf-head/build/glibc/iconv/iconv_open.o'.
Trying pattern rule with stem `iconv_open'.
Trying implicit prerequisite `../sysdeps/unix/sysv/linux/x86_64/64/iconv_open.S'.
Trying pattern rule with stem `iconv_open'.
...
Prerequisite `/local/work/fsf-head/build/glibc/gnu/lib-names-64.stmp' is newer than
target `/local/work/fsf-head/build/glibc/gnu/lib-names-64.h'.
...
Prerequisite `/local/work/fsf-head/build/glibc/libc-modules.stmp' is newer than target
`/local/work/fsf-head/build/glibc/libc-modules.h'.
Must remake target `/local/work/fsf-head/build/glibc/libc-modules.h'.
...
Pruning file `../include/limits.h'.
Considering target file `force-install'.
File `force-install' does not exist.
Finished prerequisites of target file `force-install'.
Must remake target `force-install'.
Successfully remade target file `force-install'.
Finished prerequisites of target file `/local/work/fsf-head/install/include/limits.h'.
Prerequisite `../include/limits.h' is older than target
`/local/work/fsf-head/install/include/limits.h'.
Prerequisite `force-install' of target `/local/work/fsf-head/install/include/limits.h'
does not exist.
Must remake target `/local/work/fsf-head/install/include/limits.h'.
There are hundreds of "Must remake target" lines, including several for
install/include/limits.h.
--
Michael Eager eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306 650-325-8077
More information about the Libc-alpha
mailing list