2016/11/07

lightdm-1.20.0の自前pkgsrc化は後回し

LightDM 1.20.0がビルドできたので、次は自前のpkgsrc化を図るつもりでしたが、考え直して後回しにしようと思います。LightDMを使おうとしている目的は「Windows Vistaがサポート終了となるのでdynabook SS SX/15AのOSをNetBSD/i386に入れ換えること」です。現状ではMATEが動きそうだという感触をつかんだだけで、Vistaの代替環境を構築するという最終目的はまだまだ先にあります。それなのに横道にそれてpkgsrcを作ることに意識を向けてしまうのは本末転倒でしかありません。lightdmはWIPにあるので、いずれlightdm-1.20.0に追いついてくれるかもしれないし、代替環境の構築が済んで時間的な余裕ができたらpkgsrc化に着手できるかもしれません。

lightdm-1.20.0のビルドは出来たものの、気になっていることがあります。ビルド中に「ld: warning: libintl.so.1, needed by /usr/pkg/lib/libgio-2.0.so, may conflict with libintl.so.8」という警告メッセージが出ていましたが、なぜかlibintl.soが重複しているのです。
/usr/local/sbin/lightdm:
    -lgio-2.0.0 => /usr/pkg/lib/libgio-2.0.so.0
    -lgobject-2.0.0 => /usr/pkg/lib/libgobject-2.0.so.0
    -lglib-2.0.0 => /usr/pkg/lib/libglib-2.0.so.0
    -lpcre.1 => /usr/pkg/lib/libpcre.so.1
    -lgcc_s.1 => /usr/lib/libgcc_s.so.1
    -lc.12 => /usr/lib/libc.so.12
    -lintl.1 => /usr/lib/libintl.so.1
    -lpthread.1 => /usr/lib/libpthread.so.1
    -lffi.6 => /usr/pkg/lib/libffi.so.6
    -lgmodule-2.0.0 => /usr/pkg/lib/libgmodule-2.0.so.0
    -lz.1 => /usr/lib/libz.so.1
    -lXdmcp.7 => /usr/X11R7/lib/libXdmcp.so.7
    -lxcb.2 => /usr/X11R7/lib/libxcb.so.2
    -lXau.7 => /usr/X11R7/lib/libXau.so.7
    -lgcrypt.20 => /usr/pkg/lib/libgcrypt.so.20
    -lgpg-error.0 => /usr/pkg/lib/libgpg-error.so.0
    -lintl.8 => /usr/pkg/lib/libintl.so.8
    -lpam.4 => /usr/lib/libpam.so.4
/usr/libにあるlibintl.so.1の他に/usr/pkg/libにあるlibintl.so.8があり、どちらも参照されています。どうしてこのようなことになるのでしょうか。

気持ち悪いので対処しておこうと思いましたが、同様のバイナリが他にもあるのを確認しました。例えば/usr/pkg/bin/mate-sessionもそうです。警告メッセージが出るくらいですから望ましい状態ではないのでしょうが、もしかすると実害はないのかもしれません。これも将来的に解決する課題ということにして、当面は放置します。

昔々は(2000年以前頃)Makefileなどを変更してビルドしたものですが、今はautoconfautomakelibtoolなどが整備されconfigureを利用するのが一般的です。さらに(つい最近知ったのですが)stowというのがあるそうです。これはconfigureを用いて/usr/local以下などにインストールされたパッケージを管理できるそうです。lightdm-1.20.0に使ってみようと考えています。

0 件のコメント:

コメントを投稿