web-dev-qa-db-ja.com

Linuxの静的コンパイルの問題

Testdiskを静的としてビルドして実行しています

静的にする

次のエラーが返されます

/ usr/bin/ld:-luuidが見つかりません

collect2:ldが1つの終了ステータスを返しました

どうしたの?

Makefileに次の行があります

LIBS = -lz -lntfs -luuid -lcrypto -lext2fs -lcom_err

そして、私はすべてのフラウイングフラグでエラーが発生しています

-luuid -lcrypto -lext2fs -lcom_err

3
MA1

libuuid-develのRPMパッケージ Fedora 13の場合、共有ライブラリのみが含まれているようです。したがって、静的ライブラリが必要な場合は、ビルドする必要があります ソースから

これは静的な-lcryptoやその他の問題と同じ問題だと思います。

ただし、特にコンパイルしようとしているのが TestDisk の場合は、パーティション修復ユーティリティがFedoraを含むほとんどのLiveCDディストリビューションの一部であるため、気にする必要はありません。

5
msw

理論的根拠は Red Hatバグレポート596898の解決 によって与えられます。基本的に、静的ライブラリは、バグが修正された場合に少なくとも再リンクを強制するため、強くお勧めしません。これらは、特に一般的に使用される機能のために、ディスクとメモリのスペースを消費します。

0
vonbrand