Amazon LinuxでQuantLibを構築する

Amazon LinuxでQuantLibを構築する

欲しい定量的図書館バージョン 1.13 は Amazon Linux で実行されます。

.rpm以下でファイルが見つかりました。https://pkgs.org/download/QuantLib、Fedoraには最新バージョンがありますが、.rpmCentOSにはありません(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このように:

  1. ソースRPMダウンロード(QuantLib-1.4-7.el7.src.rpm
  2. インストールrpm-buildパッケージ(またはrpmbuild?名前が何であるかわからない)AL2)
  3. 実行しrpmbuild --rebuild QuantLib-1.4-7.el7.src.rpm、すべてがうまくいったらQuantLib-...x86_64.rpm構築しなければなりません。Amazon Linux 2しばらくして。

そこ可能いくつかの依存関係の問題です。 RPMの構築が初めての場合は、ここでフォローアップを行うか、別の質問をしてください。

しかし、これで始める必要があります。頑張ってください:)

アップデート -QuantLib-docパッケージのビルドはありません。

以下の説明によると、ビルドにはQuantLib-doc多くの追加の依存関係が必要です。再建はできません文書以下を行います。

  1. たとえば、ソースRPMをダウンロードします。/tmp
  2. 空のディレクトリで実行rpm2cpio /tmp/QuantLib-...src.rpm
  3. と部分を編集してQuantLib.specコメントアウトします。%package doc%description doc%files doc
  4. RPMの構築rpmbuild -ba QuantLib.spec

これにより、多くの依存関係をインストールする必要がなくなります。

関連情報