我从 Windows 上的 git 存储库下载了 Linux 源代码,然后将文件复制到 Fedora。我无法构建内核。
是不是因为我在Windows环境下下载了源码,然后复制到了Linux下?
命令
make defconfig
给出错误消息
lib/Kconfig.debug:1543: unknown option *the*
lib/Kconfig.debug:1546: syntax error
lib/Kconfig.debug:1545: unknown option *This*
lib/Kconfig.debug:1546: unknown option *in*
lib/Kconfig.debug:1549: syntax error
lib/Kconfig.debug:1548: unknown option *See*
lib/Kconfig.debug:1560: syntax error
lib/Kconfig.debug:1559: unknown option *If*
lib/Kconfig.debug:1569: syntax error
lib/Kconfig.debug:1568: unknown option *Say*
samples/Kconfig:23: syntax error
samples/Kconfig:22: unknown option *If*
samples/Kconfig:50: syntax error
samples/Kconfig:49: unknown option *If*
make[1]: *** [defconfig] Error 1
make: *** [defconfig] Error 2
[adminuser@localhost linux]$ _
完整的错误消息太长,基本上说明了 Kconfig.debug 文件中的语法错误(未知选项)。
如果是这样,我可能必须再次下载整个源代码。
答案1
Windows 将字符添加到文件中。如果您想查看它们,请在 Linux 上的编辑器(例如 vi)中打开文件并查看行尾。你会在每行的末尾看到^M
如果您在源文件上运行 dos2unix,那么它会将其转换为 Linux 满意的格式。 dos2unix 应该位于 /usr/bin 中。所以:
dos2unix file_downloaded > file_downloaded.unix
mv file_downloaded.unix file_downloaded
并尝试再次运行 make 。
答案2
源只不过是一组文本文件甚至单个文本文件。当你在Windows上下载它时,里面的文字不会改变。如果您下载 Linux 的源文件,它将适用于 Linux。我说“Linux”是因为配置 Linux 的方法有很多种,而且它们的行为方式都非常不同。一旦将源代码编译成二进制文件,即使在不同的 Linux 机器之间(如果 cpu 架构不同),它也会变得不兼容。
简短的回答,不,没关系。
正如沃里克所说,如果您向我们提供有关您正在做的事情的更多信息,我们可以为您提供更多帮助。