From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark H Weaver Subject: Re: Missing platform_device.h in linux-libre-headers Date: Sun, 08 Apr 2018 16:52:40 -0400 Message-ID: <87d0z9qv3b.fsf@netris.org> References: <3C5A836C-851A-417A-AA49-363F371D5FBD@126.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:45015) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f5HJk-00047b-PC for help-guix@gnu.org; Sun, 08 Apr 2018 16:53:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f5HJf-0000JY-VP for help-guix@gnu.org; Sun, 08 Apr 2018 16:53:40 -0400 Received: from world.peace.net ([50.252.239.5]:53336) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1f5HJf-0000J6-QV for help-guix@gnu.org; Sun, 08 Apr 2018 16:53:35 -0400 In-Reply-To: <3C5A836C-851A-417A-AA49-363F371D5FBD@126.com> (Eleven's message of "Sun, 8 Apr 2018 23:18:01 +0800") List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: Eleven Cc: help-guix@gnu.org Hi, Eleven writes: > I=E2=80=99m trying to compile some extra kernel module for my guixsd, how= ever > the headers files needed, `modules.h` and `platform_device.h` was not > found. After redefining the linux-libra-headers package, update the > version to 4.15.13 which is the version of the kernel I=E2=80=99m current= ly > running, I get `modules.h` but `platform_device.h` still > missing. What=E2=80=99s the problem and how can I fix it? platform_device.h is not part of the user API, so it's not installed by the "headers_install" make target in linux-libre. I would recommend against changing the 'linux-libre-headers' package itself. The contents of 'linux-libre-headers' is included in our default C headers used to build the entire system. Updating it entails a full system rebuild from the toolchain up. Even if not for this practical problem, I would argue that private kernel driver interfaces do not belong in our default C headers. The headers needed to build kernel modules should be a separate package, maybe called 'linux-libre-kernel-headers' or 'linux-libre-internal-headers'. It could be almost the same as 'linux-libre-headers', except that it should use the current kernel version (using the %linux-libre-version and %linux-libre-hash variables) and it should use different make targets in the 'build' and 'install' phases, namely "headers_check_all" and "headers_install_all". Mark