The subject of "dependencies" has come up in our posts quite frequently
so I'd like to respectfully add my recent experience to the accumulated
lore.

First, a few words about my BLFS system.  Pretty simple.  No systemd.  Only
32 bits.
Packages are installed on an "as needed" basis dictated by my particular
life style
(as opposed to all (or almost all) listed in one of the many BLFS books -
nothing wrong with that;  it's just to mention the other extreme approach).
Some stuff up to date (say, kernel, 4.2.1), some older (qt, 4.4.3) and
some (probably sorely) missing (qt, 5.x).

For some reason (unimportant here) I needed to have UPower.
I went to the latest BLFS Development book, 2015-09-17, and found
UPower-0.9.23.
The required dependencies were
 dbus-glib-0.104, libusb-1.0.19, Polkit-0.113 and libgudev-230

I had dbus-glib-0.100 (cca., 2012):  I said fine, pretty close.  Not worth
the bother.

I have libusb-1.0.19 (early 2015):  perfect.

I did not have Polkit in any shape or form (yes:  I had been able to survive
somehow without it all these years!).
It required GLib-2.44.1 and JS-17.0.0.

I had Glib-2.42.1 (cca., 2014):  I said fine, pretty close.

I didn't have any JS but I installed it anyway :-)  It went smoothly.
(it required libffi-3.2.1, NSPR-4.10.9, Python-2.7.10 and Zip-3.0;
I had the right libffi, a NSPR-4.10.8, a Python-2.7.9 and the right Zip)

Finally, I'm getting to the clincher, the "vanishing" libGudev.
On my system, all I have is a 'libgudev-1.0.so.0.1.0', cca., 2011.
May or may not be related to UDEV.  I had stopped updating udev a while
ago (life is too short and my hardware is not too fancy, anyway.
FWIW, my library is at 'libudev.so.0.13.1', cca., 2012).

I have no idea what the relationship between libGudev-230 and my version
of it(?), libGudev-1.0.  I have to assume they are pretty different
(I do gnot have any Gnome environment - as opposed to KDE, for example
so I don't gnow much, if at all, about what they are).
I did try to install libgudev-230 brute force (requires GLib-2.44.1 - fine)
but, as more or less expected, it failed hard immediately:

 Package requirements (libudev >= 199) were not met:
 Requested 'libudev >= 199' but version of libudev is 182

BTW, this has led me to conclude I have unfortunately reached the end of
the line with udev + gudev combination.

To my surprise (and actually the point of this post), UPoweer-0.9.23
compiled
and installed perfectly, and it has even been doing the job I needed it to.
(to be fair, the 'make check' didn't like something,

 ERROR: up-self-test.c: 225: up_test_history_func:
  assertion failed (array->len == 2): (3 == 2)

but it didn't seem to me as a show stopper and/or related to the missing
libgudev).

------
Please note the above description of a successful package build despite
missing a major(?) dependency was not intended as a statement, just a humble
sharing of a recent personal experience (as opposed to discussing graphs of
dependencies and such.  I've never been too crazy about graphs especially
acyclic - however, circular graphs I'm all for.  I like to know that I can
always come back to where I started).

Nor as a "technical" analysis.  My simple-minded explanation is that
somewhere, somehow on my system there must be something that compensates
for the missing libgudev dependency !?

So, in summary, to paraphrase (if I may) Ken's wise dictum,
"Your system(s), your choices", my experience would say,
"Your system(s), your dependencies".

Cheers,
-- Alex
-- 
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to