我使用 AUR 在 Arch64 系统上安装了 Poco 库。源已下载、编译并已成功安装包。但现在我需要修补 PKGBUILD,以便我可以编译该库的 32 位版本并将其安装在 64 位版本旁边。
这是原始的 PKGBUILD:
# 维护者:罗伯特·诺尔 # 贡献者:罗德里戈·格鲁米切·席尔瓦 # 贡献者:nozog # 贡献者:davidhjelm # 贡献者:雷·科勒 # 贡献者:内森·欧维 pkgname=poco pkgver=1.4.6 pkgrel=1 pkgdesc="用于以网络为中心的可移植应用程序的 C++ 类库,完整版" 拱门=('i686''x86_64') url =“http://www.pocoproject.org/” 许可证=('自定义:提升') 取决于=('unixodbc''libmysqlclient''openssl') makedepends=('gcc' 'make' 'unixodbc' 'libmysqlclient' 'openssl' 'chrpath') 来源=( "${pkgname}-${pkgver}-all.tar.gz"::"https://sourceforge.net/projects/${pkgname}/files/sources/${pkgname}-${pkgver}/$ {pkgname}-${pkgver}-all.tar.gz/download" ) sha256sums=( 'cf8229310f047e731cc6273a8df55e03b76f0ed7d5b5d251f99a0f80f6c2c763' ) 建造() { cd "${srcdir}/${pkgname}-${pkgver}-all" ./configure --prefix=/usr --no-samples --no-tests 使 ODBCLIBDIR="/usr/lib" } 包裹() { cd "${srcdir}/${pkgname}-${pkgver}-all" 使 ODBCLIBDIR="/usr/lib" DESTDIR="${pkgdir}" 安装 install -Dm644 'LICENSE' "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" # 从二进制文件中删除 rpath 信息 chrpath -d "${pkgdir}/usr/bin/cpspc" chrpath -d "${pkgdir}/usr/bin/cpspcd" chrpath -d "${pkgdir}/usr/bin/f2cpspd" chrpath -d "${pkgdir}/usr/bin/f2cpsp" # 删除调试库 rm "${pkgdir}/usr/lib/libPoco"*"d.so"* }
我尝试的第一件事是查看另一个 lib32-* AUR 包,但我什至无法添加该-m32
标志。
答案1
你需要,
将包名称更改为 lib32-XX
在or
export CFLAGS="-m32"
之前放置一个(在这种情况下将是函数make
./configure
build()
并且您需要将安装路径更改为 ,
/usr/lib32
在这种情况下“可能”全部出现ODBCLIBDIR="/usr/lib"
,值得一试
并在安装任何东西之前检查内容pkg
,看看是否正确。