Re: Kernel integrated backports ends in endless silentoldconfig loop when built out of tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2016-11-17 at 15:41 +0000, Gienger Timo wrote:
> Currently still trying to find the place in which the loop is created
> and the make target "include/config/%.conf:" is called over and over
> again.

Seems like it is because of Kconfig.versions and Kconfig.sources as
these are included in the auto.conf.cmd and cannot be found and keep
getting remade during the make process. Because of this make triggers
target include/config/auto.conf again which causes silentoldconfig,
which again triggers below problem of not finding Kconfig.sources
and Kconfig.versions:

mdb<<4>> continue
/ssd1/kout/include/config/auto.conf.cmd:980	File
`backports//Kconfig.sources' does not exist.
/ssd1/kout/include/config/auto.conf.cmd:980	Must remake target
`backports//Kconfig.sources'.
/ssd1/kout/include/config/auto.conf.cmd:980	Successfully remade target
file `backports//Kconfig.sources'.
/ssd1/kout/include/config/auto.conf.cmd:980	File
`backports//Kconfig.versions' does not exist.
/ssd1/kout/include/config/auto.conf.cmd:980	Must remake target
`backports//Kconfig.versions'.
/ssd1/kout/include/config/auto.conf.cmd:980	Successfully remade target
file `backports//Kconfig.versions'.

Prerequisite `backports//Kconfig..sources' of target
`include/config/auto.conf' does not exist.
Prerequisite `backports//Kconfig..versions' of target
`include/config/auto.conf' does not exist.
Must remake target `include/config/auto.conf'.


In successful in-tree buid these are found:
(/ssd1/linux-target/include/config/auto.conf.cmd:980)
backports//Kconfig.sources: 
mdb<0> 
(/ssd1/linux-target/include/config/auto.conf.cmd:980)
backports//Kconfig.versions: 
mdb<0> 



After trying to adjust VPATH make still was not able to find the target
files. So after checking, where these are actually sourced, which is in
backports/Kconfig.

Here it seems that the actual problem is the variable substitution,
after changing:
-source "$BACKPORT_DIR/Kconfig.versions"
-source "$BACKPORT_DIR/Kconfig.sources"
to
+source "backports/Kconfig.versions"
+source "backports/Kconfig.sources"
the make system is able to find the targets and is able to build out of
tree. So to the time the 2 files are sourced BACKPORT_DIR is not yet
defined at fails because of this.


A little weird seems for me the strace output of the problem. It does
not find Kconfig.sources and versions in the current directory (which is
the output directory). Then it checks VPATH, but for "config.versions"
and "config.sources", don´t know exactly why, because otherwise it would
be successful and could find it:
25839 stat("backports//Kconfig.sources", 0x7ffcaf6ff9e0) = -1 ENOENT (No
such file or directory)
25839 stat("/ssd1/linux-target/backports//config.sources",
0x7ffcaf7019b0) = -1 ENOENT (No such file or directory)
25839 stat("backports//Kconfig.versions", 0x7ffcaf6ffa50) = -1 ENOENT
(No such file or directory)
25839 stat("/ssd1/linux-target/backports//config.versions",
0x7ffcaf701a20) = -1 ENOENT (No such file or directory)
25839 write(1, "   Considering target file
`backports//Kconfig.versions'.\n", 58) = 58
25839 write(1, "    File `backports//Kconfig.versions' does not
exist.\n", 55) = 55
25839 write(1, "    Finished prerequisites of target file
`backports//Kconfig.versions'.\n", 73) = 73
25839 write(1, "   Must remake target `backports//Kconfig.versions'.\n",
53) = 53
25839 write(1, "   Successfully remade target file
`backports//Kconfig.versions'.\n", 66) = 66
25839 stat("backports//Kconfig.versions", 0x7ffcaf6ff9e0) = -1 ENOENT
(No such file or directory)
25839 stat("/ssd1/linux-target/backports//config.versions",
0x7ffcaf7019b0) = -1 ENOENT (No such file or directory)
25839 stat("backports/Kconfig", 0x7ffcaf6ffa50) = -1 ENOENT (No such
file or directory)
25839 stat("/ssd1/linux-target/backports/Kconfig", {st_mode=S_IFREG|
0644, st_size=828, ...}) = 0
25839 stat("/ssd1/linux-target/backports/Kconfig", {st_mode=S_IFREG|
0644, st_size=828, ...}) = 0

Nevertheless it seems to work out for me if i use a relative source path
for the 2 Kconfig files and solves the issue so far. Maybe you figure
out how to fix this?

BR
Timo
��.n��������+%������w��{.n����i���l




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux