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.
glib now builds with meson and ninja instead of autotools. I'm building it with the recommended dependencies including xslt, but this makes ninja crash near the end of the run. The last messages I get are
I can't quite work out what is happening here. There's an xsltproc command but it uses --nonet so it shouldn't be trying to get stuff of the internet. So what's this http url doing? And why is it crashing?
glib is an absolutely foundational library. Loads of packages use it. So until I can get it to build, I am pretty much stuck.
PS: It occurs to me that this could perhaps be a race condition. I believe ninja always uses all available cores and I have 4. Do you think if I used -j1, it would work better?
I don't think -j1 will help, but [obviously] you can try that.
I/O error may mean disk full, HDD/SSD related error too, but I think in this case it wanted to download a stylesheet ("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl") which was disabled by --nonet (therefore could not continue).
I don't think it can be any kind of disk error. If it was, it would be showing up all over the place. This is quite specific and reproducible. I'm beginning to wonder if I made some kind of error in the earlier docbook build. There's a lot of commands in that which create local databases. It's easy to make a mistake when copying and pasting that kind of stuff.
I think tomorrow, I'll try rebuilding that, and then have another go at glib. And also try a single core build. That certainly can't do any harm.
I did but, as I said above, I might have made a mistake with all that copying and pasting. It's fiddly work. I think I'd better rebuild and reinstall the docbook-ssl package, then try to rebuild glib. I'll report back afterwards.
You were right, Keith. In fact I hadn't completed the installation for either docbook-xml or docbook-xsl. But those pages really are confusing and the second one is definitely ambiguous when read with a text-mode browser (as you must do at this stage unless you are building in chroot). I have just cross-checked using FF and I can see now from the formatting which bits are conditional and which are not. I think the wording should make this clearer. For example the second part of the installation of docbook-xml could read:
Code:
In order to utilize DocBook XML DTD V4.5 when any version 4.x is requested in the System Identifier, you need
to add additional statements to the catalog files. However, if you do have any of the DocBook XML DTD's referenced below
already installed on your system, remove those entries from the for command below before proceeding (issue the commands as the root user):
Similarly for Docbook-xsl:
Code:
If you are installing the current version of docbook-xsl-nons over a previous version of docbook-xsl, then remove the old rewrite entries in the catalog as the root user
sed -i '/rewrite/d' /etc/xml/catalog
before continuing:
After I had done all this, glib compilation completed, so I have marked this as solved. But something rather weird occurred during this build which I have never seen in Linux before and which I would like to have some opinions on. I started as I normally would in this kind of situation by deleting the glib directory tree and untarring the source afresh. I'm virtually certain that I did this. But when I then tried to make a build subdirectory, I was told that it already existed! I went into it and ran meson and it did no configuration but just told me to run ninja. And when I did so, ninja just ran the last part of the build to make the documentation. In other words, the system had somehow recovered the old tree instead of using a new one.
Now I know that when you delete files, their content isn't deleted if there are existing links to them. But in this case there shouldn't have been. So how come I got the old tree back?
I certainly couldn't have unmounted it; it's the root partition! Any way, I was very suspicious so I ran the package tests, which is a thing I don't usually do these days in LFS unless it's something crucial like gcc. Only three out of 200 failed (all in gio), so the final build was definitely successful.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.