Linux From ScratchThis Forum is for the discussion of LFS.
LFS is a project that provides you with the steps necessary to build your own custom Linux system.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Consider a package B. It has a dependency of package A. Package A is already installed. Package B fails to compile, citing a lack of package A as the reason. But A is there.
Note: both packages are in the book. Package A was installed following the book exactly. Package B's attempted compilation was also done as per the book. Md5sum's checked out.
So, what does one do in this situation?
Thanks you in advance.
p.s. I've had this happen in every distro and the various solutions (specifying --cpu, --mcpu, --arch, --march, sym-linking .so files like a fiend, etc.) never seemed to work.
Consider a package B. It has a dependency of package A. Package A is already installed. Package B fails to compile, citing a lack of package A as the reason. But A is there.
I guess that package B is searching for package A in a wrong place... OR package A has some suffix not recognized by package A.
For e.g.:
- package B expects package A to be in /usr but it is in /opt or /usr/local
- package A has a suffix like '-qt5', being named as packageA-qt5, but package b searches for packageA
It might help to name packages, for 1 to make sure t installed ok, 2 if there is a problem it could be reported, 3 to help other people if they suffer the same.
Normally, my questions here are highly specific. This thread is more general, as it is about a problematic situation that I have run across in several distros over many years, which has never been resolved. Technically one could say this is not a Linux From Scratch question, however, because users of [B]LFS deal with compiling from source for everything, I thought here would be where the expertise for this sort of thing would reside.
Distribution: LFS 9.0 Custom, Merged Usr, Linux 4.19.x
Posts: 616
Rep:
You appear to be looking for information on the Computer Science aspect of this. The terms you might find helpful are: circular dependency, dependency hell, mutual recursion and cyclic references. There are techniques to combat it ADP, which is requires revisiting code, like debugging, and programmers don't like to fix their mistakes until it browbeaten about them. The other is merging, which everyone now does because CS in the post OO era has forgotten important principals. The words "feature complete" are lost on an entire generation of software engineers.
Come to think of it, there's another method to combat it: runtime integration. But the shortest path to "putting out something cool" is to simply require it and move on, rather than check for the required library and report that the feature is unavailable. (Example: Go look at UDisks 2.7 in the current SVN and see what upstream did with libblockdev.)
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.