まだlivecdステップ(現在は開始できません)にあるGentooインストールでは、LVMを静的に表示できません。私のinitrdで使用するには、静的にコンパイルされたlvmが必要です。
私のmake.conf:
CFLAGS="-O2 -march=native -pipe"
CXXFLAGS="${CFLAGS}"
CHOST="x86_64-pc-linux-gnu"
USE="bindist mmx sse sse2 static"
コンパイルエラーが発生します。
/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../lib64/libudev.a(time-util.o): In function `now': (.text.now+0x8): undefined reference to `clock_gettime'
私も以下を見つけました。
- 警告、/sbin/lvm および /sbin/dmsetup は次に上書きされません。
- 静的バージョン。静的バイナリが必要な場合、
- ファイル名に.staticを追加する必要があります!
どういう意味ですか?ファイル名に「.static」をどのように追加できますか?
同じ質問をしたが答えがない人を見ました。http://archives.gentoo.org/gentoo-user/msg_eb40f5d76161fda72d134551cc26d989.xml
私も次のスレッドを見つけました。http://forums.gentoo.org/viewtopic-p-4892618.html?sid=e41b07d9b8554c10430619e1f51d564a
LDFLAGS="-lrt" エクスポートを試みました。
しかし、何も変わらないようです。それでも同じエラーが発生します。
ベストアンサー1
私にとっては(Gentooでは)うまくいきますが、initramfsステップではudevが重要ではないので、回避策としてlvm2からuseflagを削除してみ~amd64
てください。udev
静的バイナリを呼び出します/sbin/lvm.static
(ビルドuseflagが必要ですstatic
)。以下をldd
使用して、バイナリが静的であることを確認できます。
echo sys-fs/lvm2 static -udev >> /etc/portage/package.use
また、static-libs
静的にビルドするパッケージの依存関係に対してuseflagが有効になっていることを確認してください。通常、ebuildはこれらの依存関係を確認する必要がありますが、再確認する方が良いでしょう。