[klibc] problem installing

Phil Howard kunnskaperen at gmail.com
Wed Aug 31 14:54:38 PDT 2011


Last year I put together a script that did a combined kernel header
export from a pristine kernel tarball, then a build of klibc from a
pristine klibc tarball.  One of the intentions for this was to be
independent of the host kernel and its headers, so I could build klibc
for other targets of the same architecture.  I even did this for a
wide range of klibc and kernel version combinations to see what would
work and what would not.  Some did not, but a lot did work.

But that was only doing the compile.  I was not doing the install.  I
was thinking I'd just extract pieces as needed.  And the need for
klibc was shelved for the time.

But recently a new need for klibc came up.  So I pulled out the script
and verified it was still working even on newer versions.  Still is.
So I decided to go ahead and add the install step, targeting a staging
area instead of the host itself (to eventually transfer to a target
host).  But this is where things failed.  And almost immediately, it's
confusing.  Here are some relevant lines of the output:

================================================================ BEGIN
  INSTALL headers + man pages to
/home/phil/build-klibc-1.5.25-and-linux-2.6.38.4/klibc-1.5.25-install/usr/lib/klibc
make[2]: *** No rule to make target `headers_install'.  Stop.
make[1]: *** [header] Error 2
make: *** [install] Error 2
================================================================ END

I scanned through all the Makefiles and found none with
"headers_install".  I did find one script that was invoking make with
"headers_install" as a target.  The above looks like it is 2 levels
deep in Makefiles, too.  The only place I can find "headers_install"
as a make target is in the linux kernel.  Could it be trying to invoke
a kernel Makefile to install kernel headers along with the klibc
headers?

The script does the "make install" in the same directory as the
previous "make" (which succeeded).  I also tried doing "make install"
without doing "make" before it, and that failed the same way.

Another thing I noticed is a lot of the files are being recompiled
again as part of "make install".  Could this be indicating some wrong
context somewhere?

The actual commands executed, as shown in the logs below, are these:

16:38:36 EXECUTING: make
KLIBCKERNELSRC=/home/phil/build-klibc-1.5.25-and-linux-2.6.38.4/linux-2.6.38.4-headers

16:39:13 EXECUTING: make
KLIBCKERNELSRC=/home/phil/build-klibc-1.5.25-and-linux-2.6.38.4/linux-2.6.38.4-headers
INSTALLROOT=/home/phil/build-klibc-1.5.25-and-linux-2.6.38.4/klibc-1.5.25-install
install

The full log files (one run in 32 bit and one run in 64 bit) are here,
along with the script now modified to also do the install step if the
"install" environment variable is set to "yes":

http://phil.ipal.org/klibc/20110831-163727-023873-build-klibc-1.5.25-and-linux-2.6.38.4-32bit.log
http://phil.ipal.org/klibc/20110831-163730-028338-build-klibc-1.5.25-and-linux-2.6.38.4-64bit.log
http://phil.ipal.org/klibc/compile-klibc-linux

These are also available from that directory in BZIP2 compressed form
if you prefer.

-- 
Phil Howard, KA9WGN
kunnskaperen at gmail.com



More information about the klibc mailing list