![Archlinux 正确的 PKGBUILD:Python 可执行文件错误](https://linux22.com/image/55269/Archlinux%20%E6%AD%A3%E7%A1%AE%E7%9A%84%20PKGBUILD%EF%BC%9APython%20%E5%8F%AF%E6%89%A7%E8%A1%8C%E6%96%87%E4%BB%B6%E9%94%99%E8%AF%AF.png)
在一个上一个问题,我问的是如何写一个PKGBUILD
安装二进制.deb
包。解决方案是提取其中的内容.deb
并将数据复制到 archlinux 包 fakeroot 中"${pkgdir}/"
。
这意味着如果.deb
包含存储data.tar.gz
在目录中的二进制文件usr/lib
,则安装此软件包的过程是(在 中PKGBUILD
):
package()
{
cd $srcdir
tar -xvzf data.tar.gz
install -dm755 "${pkgdir}/usr/lib"
cp -r -f "${srcdir}/usr/lib" "${pkgdir}/"
}
但是,如果我这样做,软件包安装成功,但我无法打开二进制文件(用 python 编写)。如果我执行以这种方式安装的二进制文件,则会返回以下错误:
无法打开 self [可执行文件的路径] 或文件 [可执行文件的路径].pkg
另一方面,如果我PKGBUILD
以错误的方式编写,即在期间将二进制文件直接复制到系统根目录package()
:
cp -r -f "${srcdir}/usr/lib "/"
这些程序运行得很好。
我有什么遗漏的吗?
这里是包裹。
答案1
https://github.com/pyinstaller/pyinstaller/issues/2357
在您的情况下,这可能是由于剥离二进制文件(请参阅从那里链接的“预链接”票证)。可能很快就会在 pyinstaller 3.2.1 中修复。