Subject: bug#61698: closed (Re: bug#61698: Incorrect Native *_PATH's when linux source is not a tarball.)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 02 Mar 2023 21:24:02 +0000

Your bug report

#61698: Incorrect Native *_PATH's when linux source is not a tarball.

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
61698: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=61698
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#61698: Incorrect Native *_PATH's when linux source is not a tarball.
From: Maxim Cournoyer <[email-masked]>
To: Mitchell Schmeisser <[email-masked]>
Cc: [email-masked]
Date: Thu, 02 Mar 2023 16:23:16 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello Mitchell,

Mitchell Schmeisser <[email-masked]> writes:

> This is a bit of a convoluted bug but here it goes. The title may not be
> entirely correct.
>
> When ~set-paths~ is called it adds all of the inputs to ~C_INCLUDE_PATH~
> and friends /except/ the source input.
>
> #+BEGIN_SRC scheme
> (define-public linux-zynq
>   (customize-linux #:name "linux-zynq"
> 		   #:linux linux-libre-5.15
> 		   #:source (package-source linux-xlnx-5.15.0)
> 		   #:defconfig "xilinx_zynq_defconfig"))
> #+END_SRC
>
> However, below is a snippet from the `set-paths` phase targeting arm-linux-gnueabihf

[...]

> This only happens when source is a git repository, and only when
> building the kernel.
> When a tarball is used this does not happen because it is not a directory in the store.

This has already been fixed on the core-updates branch [0], which is
scheduled for a merge in a not too distant future.  See commit
6454208222 ("build: gnu-build-system: Remove source from native
inputs.").

Closing.

-- 
Thanks,
Maxim

Subject: Incorrect Native *_PATH's when linux source is not a tarball.
From: Mitchell Schmeisser <[email-masked]>
To: [email-masked]
Date: Tue, 21 Feb 2023 15:45:42 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

This is a bit of a convoluted bug but here it goes. The title may not be
entirely correct.

When ~set-paths~ is called it adds all of the inputs to ~C_INCLUDE_PATH~
and friends /except/ the source input.

#+BEGIN_SRC scheme
(define-public linux-zynq
  (customize-linux #:name "linux-zynq"
		   #:linux linux-libre-5.15
		   #:source (package-source linux-xlnx-5.15.0)
		   #:defconfig "xilinx_zynq_defconfig"))
#+END_SRC

However, below is a snippet from the `set-paths` phase targeting arm-linux-gnueabihf

environment variable `C_INCLUDE_PATH' set to `/gnu/store/1y1ycvzgg363ih16qs5nhmlsmn77kjl7-git-checkout/include:/gnu/store/plr00nij45964cyy7sfcg5rcsi8hks0h-openssl-1.1.1l/include:/gnu/store/jp6027624wl2f4xx5yz1vjzd2b9yvwl9-elfutils-0.183/include:/gnu/store/b4mskl4py1zqmxdy1v260r3h6x5p92fm-flex-2.6.4/include:/gnu/store/fwbiihd2sbhai63y1pvvdh0f2bakfzrf-gmp-6.2.1/include:/gnu/store/pmq05n0q25v4qjyibxfrp53v4391k7vh-mpfr-4.1.0/include:/gnu/store/ba02g5xkqiss6s5z8mbj9cvkal6l7b9g-mpc-1.2.1/include:/gnu/store/pdf9myikb674k906x70g3yzs72f61qm3-gcc-cross-arm-linux-gnueabihf-10.3.0/include:/gnu/store/0na4hgqh61fpc73dj9qgval3wdbsr393-binutils-cross-arm-linux-gnueabihf-2.37/include:/gnu/store/s3hl12jxz9ybs7nsy7kq7ybzz7qnzmsg-bzip2-1.0.8/include:/gnu/store/c8isj4jq6knv0icfgr43di6q3nvdzkx7-xz-5.2.5/include:/gnu/store/4ic6244i3ca4b4rxc2wnrgllsidyishv-file-5.39/include:/gnu/store/690qz3fg334dpwn3pn6k59n4wc943p2b-gawk-5.1.0/include:/gnu/store/55cbpsi18mahg131nmiya6km5b4mscfa-make-4.3/include:/gnu/store/rc781v4k0drhaqn90xfwwpspki5x0bvf-binutils-2.37/include:/gnu/store/069aq2v993kpc41yabp5b6vm4wb9jkhg-gcc-10.3.0/include:/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/include:/gnu/store/6mjww4iz4xdan74d5bbjfh7il8rngfkk-linux-libre-headers-5.10.35/include'

<<<

This only happens when source is a git repository, and only when
building the kernel.
When a tarball is used this does not happen because it is not a directory in the store.

When other packages with git sources are cross compiled their
C_INCLUDE_PATH does not contain the sources.

During the configure phase some includes in the kconfig program end up
linking there way back to =/gnu/store/...git-checkout/include/linux/=
because it is top priority in `C_INCLUDE_PATH`.

- Mitchell