Linux内核&x27;制作rpm包装';抛出错误

Linux内核&x27;制作rpm包装';抛出错误,linux,makefile,kernel,Linux,Makefile,Kernel,我正在尝试创建一个定制的内核rpm。所以我使用了“makerpm-pkg”。 在遇到这个错误之前,一切都很顺利 .. .. INSTALL sound/usb/line6/snd-usb-toneport.ko INSTALL sound/usb/line6/snd-usb-variax.ko INSTALL sound/usb/misc/snd-ua101.ko INSTALL sound/usb/snd-usb-audio.ko INSTALL sound/usb/snd-usbmidi-l

我正在尝试创建一个定制的内核rpm。所以我使用了“makerpm-pkg”。 在遇到这个错误之前,一切都很顺利

..
..
INSTALL sound/usb/line6/snd-usb-toneport.ko
INSTALL sound/usb/line6/snd-usb-variax.ko
INSTALL sound/usb/misc/snd-ua101.ko
INSTALL sound/usb/snd-usb-audio.ko
INSTALL sound/usb/snd-usbmidi-lib.ko

scripts/Makefile.fwinst:43: *** mixed implicit and static pattern rules.  Stop.
make[2]: *** [_modinst_post] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.jJi4sq (%install)
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.p88MqU (%install)
make[1]: *** [rpm-pkg] Error 1
make: *** [rpm-pkg] Error 2

我知道Makefile声明有问题,但我想知道是否有人碰到了这个问题。

如果您使用的是make版本3.81或3.82,那么这可能就是我们讨论的已知make“bug”

具体地说,make认为要在一个列表中指定的一组有意义的目标以不兼容的方式进行了更改,并且内核使用了一组无效的目标


在GNU Make维护人员和其他一些相关开发人员之间来回奔波之后,修复方法是将致命错误转化为警告(至少暂时如此)。

如果您使用的是Make版本3.81或3.82,那么这很可能就是所讨论的已知Make“bug”

具体地说,make认为要在一个列表中指定的一组有意义的目标以不兼容的方式进行了更改,并且内核使用了一组无效的目标


经过GNU Make维护人员和其他一些相关开发人员之间的反复修改,修复程序将致命错误转化为警告(至少暂时如此)。

我能够修复这个问题。显然这是UTS_机器不适合arm64的问题。它应该是aarch64,以便打包脚本正确使用它。生成rpm规范文件的脚本中也有一些小的调整。
所以在这种情况下,“make”不是问题。

我能够解决这个问题。显然这是UTS_机器不适合arm64的问题。它应该是aarch64,以便打包脚本正确使用它。生成rpm规范文件的脚本中也有一些小的调整。
因此,在这种情况下,“make”不是问题。

您使用的是make 3.82还是4.0?因为如果你是,这可能是。它是3.82。我将不得不编译4.x版本。但也渴望知道为什么这对任何人来说都不是问题。我以为内核的人会得到这个。你用的是Make3.82还是4.0?因为如果你是,这可能是。它是3.82。我将不得不编译4.x版本。但也渴望知道为什么这对任何人来说都不是问题。我以为内核人员会得到这个。4.1也没有帮助。得到同样的错误。我试图通过在Makefile中分离规则来解决这个问题。但是这导致了不同的错误,比如找不到make目标。你分割了它抱怨的目标,然后发生了什么?我想它不会一直抱怨那个案子。它有没有抱怨其他案件?4.1并没有消除关于混合的警告,它只是防止它成为致命错误。我很想看看4.1在股票makefiles上出现的错误,以及分割目标后出现的错误,如果你想粘贴bin/gist/等等。scripts/Makefile.fwinst:43:**混合了隐式和静态模式规则。停止Makefile:1143:目标“\u modinst\u post”的配方制作失败[2]:***[\u modinst\u post]错误2:错误/var/tmp/rpm-tmp.IjM511(%install)的错误退出状态错误rpm构建错误/var/tmp/rpm-tmp.IjM511(%install)的错误退出状态脚本/包/Makefile:39:目标“rpm pkg”的配方制作失败[1]:***[rpm pkg]错误1生成文件:1235:目标“rpm pkg”的配方生成失败:**[rpm pkg]错误2生成-版本GNU make 4.1make“安装路径=/root/rpmbuild/BUILDROOT/kernel-4.2.0+-11.%{uarch}/lib/firmware/4.2.0+'固件安装V=1生成-f./脚本/Makefile.fwinst obj=固件安装生成[1]:***没有规则使目标“/root/rpmbuild/BUILDROOT/kernel-4.2.0+-11.%{u arch}/lib/firmware/4.2.0+/bnx2x/bnx2x-e1-6.2.9.0.fw”成为“\uu fw安装”所需的目标。停止Makefile:1038:recipe for target'firmware_install'失败是的,这根本不是同一个问题。这是
\u modinst\u post
目标中的实际构建失败。包构建实际上在那里失败了(看起来有什么东西无法扩展,导致试图构建一个具有假名称的文件)。我不知道那里具体发生了什么。除此之外,4.1确实修复了原始问题的“致命错误”性质。4.1也没有帮助。得到同样的错误。我试图通过在Makefile中分离规则来解决这个问题。但是这导致了不同的错误,比如找不到make目标。你分割了它抱怨的目标,然后发生了什么?我想它不会一直抱怨那个案子。它有没有抱怨其他案件?4.1并没有消除关于混合的警告,它只是防止它成为致命错误。我很想看看4.1在股票makefiles上出现的错误,以及分割目标后出现的错误,如果你想粘贴bin/gist/等等。scripts/Makefile.fwinst:43:**混合了隐式和静态模式规则。停止Makefile:1143:目标“\u modinst\u post”的配方制作失败[2]:***[\u modinst\u post]错误2:错误/var/tmp/rpm-tmp.IjM511(%install)的错误退出状态错误rpm构建错误/var/tmp/rpm-tmp.IjM511(%install)的错误退出状态脚本/包/Makefile:39:目标“rpm pkg”的配方制作失败[1]:***[rpm pkg]错误1生成文件:1235:目标“rpm pkg”的配方生成失败:**[rpm pkg]错误2生成-版本GNU make 4.1make“安装路径=/root/rpmbuild/BUILDROOT/kernel-4.2.0+-11.%{uarch}/lib/firmware/4.2.0+'固件安装V=1生成-f./脚本/Makefile.fwinst obj=固件安装生成[1]:***没有规则使目标“/root/rpmbuild/BUILDROOT/kernel-4.2.0+-11.%{u arch}/lib/firmware/4.2.0+/bnx2x/bnx2x-e1-6.2.9.0.fw”成为“\uu fw安装”所需的目标。停止Makefile:1038:recipe for target'firmware_install'失败是的,这根本不是同一个问题。这是
\u modinst\u post
目标中的实际构建失败。包构建实际上在那里失败了(看起来有什么东西无法扩展,导致试图构建一个具有假名称的文件)。我不知道是什么,s