在Linux平台上使用windows下载的源码

在Linux平台上使用windows下载的源码

我从 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 架构不同),它也会变得不兼容。

简短的回答,不,没关系。

正如沃里克所说,如果您向我们提供有关您正在做的事情的更多信息,我们可以为您提供更多帮助。

相关内容