[klibc] headers_install [was: klibc 2.0.2 doesn't compile with kernel 3.7.x]

Bill Pringlemeir bpringlemeir at nbsps.com
Thu Jan 10 14:09:04 PST 2013


> hpa at zytor.com wrote:

> We should figure out why the output of "make headers_install" doesn't
> work, and fix it.

Here is another guy,

 https://github.com/daveho/EasySandbox/blob/master/klibc-build.txt

Anyways, I found that passing a relative path for $(INSTALLROOT) is a
disaster.  The build doesn't fail if you do this...

-       $(Q)$(MAKE) -C $(KLIBCKERNELSRC) ARCH=$(KLIBCARCH) INSTALL_HDR_PATH=$(INSTALLROOT)$(INSTALLDIR)/$(KCROSS) headers_install
+       $(Q)$(MAKE) -C $(KLIBCKERNELSRC) ARCH=$(KLIBCARCH) INSTALL_HDR_PATH=$(abspath $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)) headers_install

I think this is the only place where this matters.  When you are calling
the kernel make with a relative path it goes and installs the headers
somewhere in the Linux source tree.  I am pretty sure that 'abspath' is
a good change.  I have only tested with cross-compiled arm.

It would be nice if 'klibc' compiled with only the 'header_install'
target.  It seems that this is the only reason for 'KLIBCKERNELSRC' and
I don't really understand why we have 'KLIBCKERNELOBJ'.  It looks like
only the PowerPc and x86 are using these for includes.  

Shouldn't 'klibc' just be using headers from 'headers_install' as it is
really the only external API for user space?  Is it for historical
reasons, like 'headers_install' didn't exist?

Fwiw,
Bill Pringlemeir.


More information about the klibc mailing list