Wednesday, July 2, 2008

First Fully Automated Build Launched

After much preparatory work, I launched an automatic build from blank disk though to desktop system.

Arlnode says, "It is linux system and I builded it automatically with its automatic builder. It wasn't really a no-brainer because I had to kick it when it stopped when it thought I wasn't looking. If it won't behave I'll maybe kick it to Mars"

It built the base LFS system and went on building a number of BLFS packages just fine.

The big deal happened again with pango where it didn't do right because it didn't have something right. It build pango without cairo backend. Gtk+-2 managed to bail out gracefully without building -- and it kept it secret by not throwing an error. So the automated builder didn't know that cairo / pango / gtk+-2 messed up. Without gtk+-2, the build of VTE complains and stops.

I had not done the bash startup files in the BLFS book. So I did that and then get out of there and logout and chroot back in again.

I knew it still wouldn't build pango with a cairo backend, so I rebooted it into the newly built system with grub tricks and try building cairo / pango /gtk+-2 there. It still wouldn't build right. Its so frustr-Ating when pango has its AN-urysm over cairo. At least its a motivator to build up the muscles by exercizing the brain.

So I kick it HA-der.

I tried everything, searched everywhere, and nobody wants to say what the real answer is.

Then I look at the man page for ldconfig and I see that it has the configuration file /etc/ld.so.conf. So I kick it to Mars and put /usr/X11R6/lib into the /etc/ld.so.conf file. Now I must kick myself because the BLFS book says to do that very thing in the section about X Window System Components.

Now, when I configure pango it tells me
backends: FreeType X Xft Cairo
With that good news, I could build pango and then build gtk+-2. I restarted the automated builder where it left off and it finished building my desktop system.

I'm trying to tighten up some of the loose ends for another launch.

Here is the collection of Custom Configs that were constructed for the ADD_CUSTOM_TOOLS option. The output is from more which added the lines of colons surrounding the filename as an introduction. That introduction part is not part of the file.
It looks like this
::::::::::::::
/jhalfs/custom/config/1000-gpm
::::::::::::::
As you can see, the portions in the xEOFx blocks were largely derived from the BLFS book. Some corrections have already been made where there were troublespots. What the jhalfs builder did was essentially copy the instructions in the xEOFx blocks to similarly named files in the /jhalfs/lfs-commands/custom-tools directory. When there was a problem, I could look in the /jhalfs/logs directory for a similarly named file and get clues. Then I edited the file in /jhalfs/lfs-commands/custom-tools and tried make again and jhalfs would restart the step that had failed.

I'm not sure whether it mattered, but I edited in /jhalfs/Makefile, the CHROOT2= line and added :/usr/X11R6/bin at the end of PATH= and I added PKG_CONFIG_PATH=/usr/X11R6/lib/pkgconfig on that line too.

Trying to get it to "make" with ADD_CUSTOM_TOOLS did some very strange things for me. If I checked that option, it would bomb out because lfs-commands had not been built. If I unchecked that option and then tried to do make again to check the option, it started building -- which wasn't what I wanted yet. I didn't mess around, ... when it did a false start of the build, I made sure I had a copy of the custom/config files elsewhere. Then I removed the whole jhalfs directory, and unpacked it from the tarball again. Then made sure to rename the jhalfs-2.3.1 directory to jhalfs -- because it wants it that way. Then I copied the custom/config file into the /jhalfs/custom/configs directory. One lesson from LFS and BLFS is to start out with a clean package. Than way, you know that there won't be some problem arising from a previously failed build attempt.

To get around the problem I had with ADD_CUSTOM_TOOLS, I saved a copy of the original Makefile out of the tarball. Then I did the make to set up all the options the way I wanted except for leaving ADD_CUSTOM_TOOLS unchecked. I also unchecked the option to RUN_MAKE. Then when make exited, I copied that original Makefile back into the jhalfs directory. Then when I ran make, I could select the option ADD_CUSTOM_TOOLS. After I exited make, it set up the /jhalfs/lfs-commands/custom-tools directory with the scripts. Then I ran make and it started building everything.

I should mention that before doing jhalfs, I downloaded and/or copied every one of the tarball packages and patches I was going to build into the /sources directory. This build was using the same LFS-BOOK-6.3-XML setup as in the first post Automating Linux From Scratch with jhalfs.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

Click blog title for the latest post