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
