<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 26, 2019 at 1:54 AM <<a href="mailto:valdis.kletnieks@vt.edu">valdis.kletnieks@vt.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Mon, 25 Feb 2019 06:43:39 -0500, YU Bo said:<br>
<br>
> But, my "question" is:  when i test some program which needs kernel headers,<br>
> where to install those headers file?<br>
> In Documention/kbuild/headers_install.rst, i learn it :<br>
>       make headers_install INSTALL_HDR_PATH=/usr<br>
> In my case, Is it ok to do that?I do not think it will work.<br>
<br>
You need to put the headers into a directory that will be accessible to your<br>
"program that needs kernel headers" at build time. Hint: gcc has a "-I" option<br>
for a reason, and CFLAGS is an actual thing for a reason....<br>
<br>
Note that in general, most programs *won't* need the new kernel headers,<br>
because glibc (or musl, or whatever your libc is) will be insulating you from<br>
the actual syscall interface anyhow.<br>
<br>
Also, dropping the headers into /usr/include is dangerous, as the next time<br>
you apply software updates, they could overlay your version of the headers<br>
with the distro's version, which will cause lots of debugging fun the next time<br>
you rebuild your program and it builds against old headers.  If you're lucky,<br>
the build will fail.  If you're unlucky, the program will build but fail in subtle<br>
ways at runtime....<br></blockquote><div>Thank you for reply.I do not kow to explain the way,but i tried it.</div><div>In my case, </div><div>```bash</div><div># cd  ~/src/kernel-dev/lib/modules/5.0.0-rc8/build</div><div>make headers_install  </div><div>```</div><div>I think the way, which can effect  VM(i logged in).</div><div>Thank you :)</div></div></div>