[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Help needed in Debugging dependencies
From: |
Zachary Deretsky |
Subject: |
Help needed in Debugging dependencies |
Date: |
Tue, 13 Mar 2001 18:48:09 -0800 |
I am fighting the following problem:
I am building shared objects or executables linked with other shared
libraries.
-d flag shows that cons checks dependency only on the first shared library
specified with -l flags. Then cons calls the linker, but the other shared
objects down on the command line have not been buit yet and linker croaks. I
belive cons has a bug in this area.
To proceed I explicitly call the Depends method and make my shared
object/executable depend on the INSTALLED versions of other libraries.
That is, if I have '-lautils -lstg' on the link line then I add
$mycons->Depends("autest", ("$LIB/libautils.so", "$LIB/libstg.so")) call.
This way cons builds everything, but on subsequent invocations it rebuilds
libraries again.
I suspect there is some thrashing between libraries in the build and install
areas.
How can I debug this?
> I think that most, if not all, problems of this nature come down to
> Cons believing that a file is a source file even though it is actually
> derived somehow, explicitly or implicitly, in the process of a build.
> This could be for various reasons (multiple names for files, hidden
> circularities, explicit code to touch files, etc.). There are two
> things that could be done that would make these easy to find:
>
> 1. Patch -d to show the signature of each file. Then you can
> figure out
> which source files changed by simply diffing the output from two runs.
> I'll bet you a nickel that this simple change would pinpoint Eric's
> problem.
>
It is really vital for using cons to be able to examine all the info upon
which it makes decisions. It would be sufficient if a (reasonably sorted)
dump goes into a side file so that diff is possible.
Does anyone have patches along the line Bob suggests?
Thanks, Zach
- Help needed in Debugging dependencies,
Zachary Deretsky <=