我想得到定量库版本 1.13 在 Amazon Linux 上运行。
我.rpm
在以下位置找到了一些文件https://pkgs.org/download/QuantLib,虽然 Fedora 有最新版本.rpm
,但 CentOS 没有(CentOS 文件似乎与 Amazon Linux 兼容)。
我能够从源代码成功构建该库,但是当我这样做时,它会创建一个 1.2GBlibQuantLib.a
文件和一个 421MBlibQuantLib.so.0.0.0
文件。
文件.rpm
位于https://pkgs.org/download/QuantLib都是~25MB。
最终,我试图将 QuantLib 打包得足够好,以便我可以在 AWS Lambda 环境中运行它。这需要压缩的二进制文件大小约为 50MB,并且与 Amazon Linux AMI for Lambda 兼容。
我的问题:
.rpm
为什么文件大小与我从源代码构建时生成的libQuantLib.a
/文件大小之间存在如此大的差异?libQuantLib.so.0.0.0
该.rpm
文件不是库的完整版本吗?我的构建结果是否包含很多绒毛?是否有可能从源代码构建并达到约 25MB 的大小,或者这种努力是否徒劳?
答案1
您手工构建的库很可能是使用调试信息构建的,这就是它们如此大的原因。你可以尝试strip libQuantLib.so.0.0.0
看看它会变小多少。
您可以尝试重建官方RPM亚马逊Linux 2像这样:
- 下载源 RPM (
QuantLib-1.4-7.el7.src.rpm
) - 安装
rpm-build
包(或者rpmbuild
?不太确定名称是什么AL2) - 运行
rpmbuild --rebuild QuantLib-1.4-7.el7.src.rpm
,如果一切顺利,您应该已经QuantLib-...x86_64.rpm
构建了亚马逊Linux 2一段时间后。
那里可能是一些依赖性问题。如果您不熟悉构建 RPM,请随时在此处跟进或提出另一个问题。
不过,这应该可以帮助您入门。祝你好运:)
更新 - 无QuantLib-doc
包构建。
根据下面的评论,构建QuantLib-doc
需要很多额外的依赖项。重建它没有文档请执行下列操作:
- 下载源 RPM,例如到
/tmp
- 在空目录中运行
rpm2cpio /tmp/QuantLib-...src.rpm
- 编辑并
QuantLib.spec
注释掉%package doc
和部分%description doc
%files doc
- 构建 RPM
rpmbuild -ba QuantLib.spec
这应该消除安装许多依赖项的需要。