[Momonga-devel.ja:03465] Re: libjpeg.la の取り扱い
- From: Ichiro Nakai <ichiro@xxxxxxxxxxxxx>
- Date: Wed, 4 Apr 2007 07:35:11 +0900
中井です。
On Wed, 4 Apr 2007 05:00:06 +0900 (JST)
zunda <zunda616e@xxxxxxxxxxx> wrote:
> 今、trunk(r.15343)でavahi(0.6.17-1m)を作ると、
> /bin/sed: can't read /usr/lib/libjpeg.la: No such file or directory
> libtool: link: `/usr/lib/libjpeg.la' is not a valid libtool archive
> make[3]: *** [libavahi-qt3.la] Error 1
> と言われて、パッケージの作成が
> RPM build errors:
> File not found: /var/tmp/avahi-0.6.17-root/usr/lib/libavahi-qt3.a
> と失敗します。
>
手元では問題なく avahi-0.6.17-1m をビルドできています。
zunda さんのマシンでビルドできないのは、
/usr/lib 以下に libjpeg.la が書かれた *.la なファイルが存在するからだと
思われます。
libjpeg.la が削除された後、libjpeg に依存するパッケージの rebuild が、
不完全だと、そのような状態になります。
> いっぽう、libjpeg(6b-30m)では、%install内で、
> find %{buildroot} -name "*.la" -delete
> として、.laファイルを消しています。
>
> これは、libtool libraryの削除
> http://developer.momonga-linux.org/wiki/?Autotools#l7
wiki のこのページの、
「trunkでhoge.laが無いためビルドできない場合」
の方法で対処してください。
$ cd /usr/lib
$ rpm -qf `grep -l libjpeg.la.la *.la` | sort -u
出力されたパッケージをリビルド。
avahi がビルド可能な私のマシンでは、何も出力されません。
場合によっては /usr/lib だけでなく、/lib 以下でも、
検索する必要があります。
また、
find %{buildroot} -name "*.la" -delete
この処理を入れた *.spec で、release を上げ忘れ、そのパッケージが
rpm -Uvh --force されると、パッケージ管理されない *.la が、
ゴミとして /usr/lib/ に残り、同じ状態になります。
探し出して rm してください。
> に沿った処理だと思いますが、avahiが作れないのは困るので、
> libjpeg(6b-31m)として、libjpeg.laを残すようにしたspecをr.15344に
> commitしました。
>
というわけで、avahi は作成できるので、libjpeg.spec を戻していただけると、
助かります。
libjpeg.la があると、未だ la を持っている KDE 関係のビルドにも、
支障を来しますので。
よろしくお願いします。
--
Ichiro Nakai
ichiro@xxxxxxxxxxxxx