Arch Linuxとオプションの依存関係

Arch Linuxとオプションの依存関係

Arch LinuxシステムにXChatをインストールしました。実行するたびに、次のエラーメッセージが表示されます。

Python interface loaded
Perl interface loaded
AutoLoad failed for: /usr/lib/xchat/plugins/tcl.so
libtcl8.5.so: cannot open shared object file: No such file or directory

したがって、PythonとPerlプラグインは正しくロードされますが、Tclプラグインはロードされません。実際にはシステムにパッケージがインストールされていますが、python2パッケージはインストールされていません。インストールすると問題が解決します。perltcltcl

インストールする前に、tcl以下を入手してください。

ldd /usr/lib/xchat/plugins/tcl.so | grep tcl
    libtcl8.5.so => not found

インストール後、tcl次のようになります。

ldd /usr/lib/xchat/plugins/tcl.so | grep tcl
    libtcl8.5.so => /usr/lib/libtcl8.5.so (0x00007fceba533000)

tclこれは必須の依存関係ではありませんが、オプションのxchat依存関係のようです。

pacman -Qi xchat
...
Optional Deps  : enchant: for spell checking support
                 tcl: for tcl plugin
                 python2: for python plugin
...

なぜですか?つまり、tclこのパッケージがデフォルトでインストールされていないのはなぜですかxchat?そうでなければxchat壊れていませんかtcl

抜け穴2年以上のことでしたが、アーチLinuxの分野でなぜこのようなことが起こったのか全く理解できませんでした。このバグは古いですが、私はこのディストリビューションを数ヶ月間毎日実行してきたので、Arch Linux初心者です。

Arch Linuxフォーラムやメーリングリストに質問することもできますが、他のLinuxディストリビューションユーザーの視点を聞きたいです。もちろん、Arch Linuxユーザーも大歓迎です。


編集する。

  1. インストールせずにXChatを実行したときに表示されるエラーメッセージは、tclメッセージが表示されるのと同じ場所のGUIに明確に表示されます。
  2. 私の質問は、次のように言い換えることもできます。 XChatが明らかにスクリプトまたは--enable-tclスクリプトに渡された同等のものを使用して構築されたにもかかわらず、パッケージへの依存関係を強制configureせずにtclXChatをインストールできるのはなぜですか?人が望まない場合はtclそれを使用する必要があります--disable-tcl

編集する。一つ開いたワイヤーArch Linuxフォーラムに登場しましたが、満足のいく答えが得られませんでした。それでDebianとGentooを確認してみると、この問題はないようです。

ベストアンサー1

これは主に複雑さと人々が時間を投資する方法に関する問題です。

欠落しているプラ​​グインライブラリに関連する警告/エラーを表示しないXChatバイナリパッケージが必要な場合は、基本的に2つのオプションがあります。

  • 「重要な」プラグインのみを含める/設定し、これらのプラグインに必要なハード依存関係を追加します。
  • 利用可能なすべてのプラグインを含め、これらのエントリに必要なハード依存関係を追加します。

最初のオプションは、ほとんど機能を持たないXChatパッケージを提供します。その後、xchat-perlパッケージ、パッケージxchat-tcl、パッケージが必要ですxchat-gtk。すべてメンテナンス、パッチ、アップグレードなどが必要です。これには多くの作業が必要です。

2番目のオプションは、一般ユーザーがまったく使用していない他の多くの項目を含む膨大なXChatパッケージを提供します。 Archのようなディストリビューションにはあまり満足できません。

2つの間の最適点を見つけようとすることはできますが、完全に合う点を見つけることができない可能性があります。

Arch開発者がこのパッケージを使用して行ったことは、ユーザーに依存関係をインストールすることを強制することなく、一般的に使用されるプラグインをリリースしたことです。これは(今はエラーメッセージを無視します)、実際にはユーザーにとって非常に良いです。 TCLを望んでいない人や必要としない人は、XChatを取得するためにTCLをインストールする必要はありません。 TCLとXChat TCLプラグインのみをインストールすると機能します。
だから良い妥協ですね。後でTCLを使用してXChatをスクリプトするには、TCLをインストールするだけです。 XChatのアップデートや他のパッケージのインストールについて心配する必要はありません。

エラーメッセージは純粋に見えます。修正できますか?おそらく。
簡単に修正でき、TCLのインストール後にプラグインがすぐに動作を開始できるかどうか(追加のパッケージまたは構成の変更なし、逆依存性チェック...):まだわかりません。
アーチ開発者/メンテナンス者は、この外観上の問題を解決するために時間を費やす必要がありますか?これは議論の余地があります。ソフトウェアの動作を考慮すると、これはかなり低い優先順位でなければなりません。

できるあなたどのような方法で問題を解決しますか?それがあなたにとって十分に重要であれば、おそらくそうです。試してみてください。これらのプラグインと依存関係を処理するためのより良い方法を見つけて、バグや機能リクエストを送信したり、適切なフォーラム/メーリングリストに掲載してみてください。
オープンソースのディストリビューションが魔法のように良くなるわけではありません。十分に興味があれば参加してみてください。

おすすめ記事