欲しい定量的図書館バージョン 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です。
最終的には、AWS Lambda環境で実行できるようにQuantLibを十分にパッケージ化したいと思います。これには、Lambda用のAmazon Linux AMIと互換性のある約50MBの圧縮バイナリファイルサイズが必要です。
私の質問:
.rpm
ソースからビルドするとき、ファイルサイズと作成/ファイルサイズlibQuantLib.a
の間になぜそれほど大きな違いがありますか?libQuantLib.so.0.0.0
この.rpm
ファイルはライブラリの完全版ではありませんか?私のビルド結果に多くの糸くずが含まれていますか?ソースからビルドして最大25MBのサイズを達成できますか?それとも、これらの努力は無駄ですか?
答え1
自分で作成したライブラリは、デバッグ情報を使用して構築された可能性が高いため、サイズが非常に大きいです。試してみてstrip libQuantLib.so.0.0.0
、どれだけ小さくなるかを確認できます。
公式RPMを再構築してみてください。Amazon 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
構築しなければなりません。Amazon 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
これにより、多くの依存関係をインストールする必要がなくなります。