[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
insufficient debug info from gnu-make
From: |
Peter Lawrence |
Subject: |
insufficient debug info from gnu-make |
Date: |
Thu, 29 Jul 2010 21:09:17 -0700 |
Sirs,
in trying to debug a failing gcc build, it seems that the
real trouble is that there doesn't seem to be any easy way to figure
out what directory/file[line number] a make command comes from, for
example I see as output:
make[3]: *** No rule to make target `real-install-headers-tar'. Stop.
and I cannot even tell what makefile is being processed in what
directory, farther up in the captured output of make I see:
/bin/sh ../../gcc-4.3.3/gcc/../move-if-change tmp-fixinc_list
fixinc_list
echo timestamp > s-fixinc_list
rm -rf include-fixed; mkdir include-fixed
chmod a+rx include-fixed
and I grep for fixinc_list in */Makefile to find it is in gcc/
Makefile, OK, but I should not have to resort to such antics, make
could be outputting this directory/file information as a normal
operation.
here is where the offending command originates:
$(MAKE) real-$(INSTALL_HEADERS_DIR) DESTDIR=`pwd`/../gcc/ \
libsubdir=. ; \
as you can see it is virtually impossible for a reader that is not
already intimately familiar with these specific makefiles to be able
to read the "*** No rule to make target `real-install-headers-tar`.
Stop." message and find the corresponding line "$(MAKE) real-$
(INSTALL_HEADERS_DIR) ..." all the macro usage makes it impossible
to search for corresponding strings, the strings don't correspond
unless you know all the macros by heart and do your own reverse-
substitution.
so the only recourse is directory/file[line] information about where
the command came from...
I seem to remember, perhaps it was Sun's make, that did output
directory/file[line] information, and I am now feeling a strong
longing to be back in that environment, we should be doing the same
with gnu's make.
-Peter Lawrence.
- insufficient debug info from gnu-make,
Peter Lawrence <=