依存関係は美しく
Gentoo Linuxを運用していると、そのうち気が変わってUSE変数を変更したりするものです。また、バージョンが更新されていくと、以前は必要だったバイナリが、いつの間にやらいらなくなってしまったり。と、いうことで、いっそのことですので依存関係を綺麗にしてみようとふと思いついて、ハンドブックにも書いてあった以下のやり方でいってみました。
# emerge --update --deep --newuse world # emerge depclean # revdep-rebuild
て、やってみたらさぁ
どういうことですかぁ?emergeそのものが動かなくなっちゃったよ?installコマンドが、libacl.soが無いから動かんと…。いや確かにlibacl.soはdepcleanでアンインストールされてしまったさ。でもこれでemergeが動かないんじゃ意味無いぢゃん!
ということでどうしたか。隣に運良くノートPCがあったので、消されてしまったlibacl.soとlibattr.soをscpでこぴってきて、とりあえずinstallとかmvとかだけ動くようにしておいて、ldconfig→revdep-rebuildを実行!
なんとか動いてくれました。ε- ( ̄、 ̄A) フゥー 壊れたかと思った…
とおもったら
もう一つコンパイル中だったmod_phpがこんどはlibtoolのエラーで動かない!
grep: /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/libstdc++.la: No such file or directory /bin/sed: can't read /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/libstdc++.la: No such file or directory libtool: link: `/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/libstdc++.la' is not a valid libtool archive make: *** [libphp4.la] Error 1 make: *** Waiting for unfinished jobs....
だとさ。えぇぇぇ!!なにこれ?というかうちはgcc は3.3.5にアップデートしてるんですけど…なんで3.3.4を参照しに行くの??とよーくよく調べてみたら、fix_libtool_files.shってのがあるらしいじゃないですか。使い方は
# fix_libtool_files.sh 3.3.4
てやると3.3.4時代のlibtoolが管理してるライブラリアーカイブを更新してくれるらしい。これで3.3.4時代のファイルは無い!ということを教えてやらないといかんらしいです。うぅ、知らんかった。やっぱり壊れたかとおもったよぅ…♪(O(〃⌒∇⌒〃)O)♪ドキドキ
ぺージ情報 | |
---|---|
ぺージ名 : | GentooLinuxな生活/emerge depcleanで悩む |
ページ別名 : | 未設定 |
ページ作成 : | maruo |
閲覧可 | |
グループ : | すべての訪問者 |
ユーザー : | すべての訪問者 |
編集可 | |
グループ : | なし |
ユーザー : | なし |