This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Problem building glibc


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]