On Thu, Dec 01, 2011 at 03:59:41AM +0100, Aleksandar Kuktin wrote:
> I have a tip to share regarding the dependency checking currently
> going on.
> 
> While I do not know what exactly is the way editors check for
> dependencies of packages, there is a way to fast track them, if your
> main method is to build and wait to see which is the combination that
> does not fail - a horrendous experience.
> 
> Now, dependencies are checked by the configure script, which itself is
> generated from configure.ac (I am not sure what is the position of
> configure.in in all this..).
> 
> Therefore, one can gain a lot of information on which packages are
> required by inspecting the configure* files.
> 
> Say, like this:
> grep -h -v '^[[:space:]]*dnl' <package_dir>/configure* | \
> grep -v '^[[:space:]]*#' | grep --color -i req
> 

 The grep looks handy, thanks!  Personally, I mostly build *before*
I double-check the dependencies.  Then, from my logs I note the
things it checks for as regular names (e.g. for xorg-server xmlto
xsltproc etc) and then list the names of the other things where it
uses pkg-config, e.g. PIXMAN, UDEV, DBUS, ...).  Most packages use
impenetrable names, e.g. libdmx checks for DMX.  I then use vim to
read the configure script and find that in that case it looks for
x11 xext xextproto dmxproto >= 2.2.99.1.  Mostly, but not
always,identifying which package produces a particular .pc file is
fairly obvious.

 The reason I take this approach is that packages which build with
the look and feel of a different OS (firefox is an example) are full
of dependencies that we on linux will never see.

 Actually, waiting for a failure is not too bad on a good package -
it might take a couple of minutes to run through configure, then it
will balk at the first failure.  Much nicer than building for a long
time and then failing to link!

ĸen
-- 
das eine Mal als Tragödie, das andere Mal als Farce
-- 
http://linuxfromscratch.org/mailman/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to