システム全体で/ usr / local / lib / pkgconfigにも* .pcファイルを探すようにpkg-configに指示する


8

現在、pkg-configだけに見え/usr/lib/pkgconfigます。PKG_CONFIG_PATH環境変数をエクスポートすることでユーザーに合わせて調整できますが、もう一度rootで実行するのを忘れて、時間を無駄にしました。なぜ私のプラグインが正しくインストールされていないのですか(makefileが使用されていますpkg-config)。では、システム全体に設定するにはどうすればよいので、常に両方/usr/libを調べます/usr/local/libか?

回答:


3

システム全体で環境変数を定義する従来の場所は/etc/profileです。このファイルは、ローカル(テキストモードコンソール上)またはリモート(ssh経由)のいずれかでテキストモードセッションにログインすると、Bourneスタイルのシェル(bash、ksh、ashを含む)によって読み取られます。グラフィカル環境でログインした場合/etc/profile、ログインマネージャー、デスクトップ環境、オペレーティングシステムのディストリビューションによっては、読み取られる場合と読み取られない場合があります。

システムで使用できる場合は、環境変数をで定義することをお勧めします/etc/environment。このファイルはPAMによって、特にpam_envモジュールによって読み取られます。これらの変数は、PAMを使用しpam_env/etc/pam.confまたはで参照されるモジュールを持つログインメソッドによって開始されたすべてのセッションで使用できます/etc/pam.d/$method


-2

おそらく100%信頼できる方法ではありませんが、これをに追加するのが最も簡単/etc/bashrcです。

個々のユーザーはを処理しないように設定できるため、信頼性は高くありません/etc/bashrc

より複雑な方法を使いたい場合は、それを設定するラッパーを作成できます。最初にに名前pkg-configを変更してからpkg-config-realpkg-config変数を設定するという名前の新しいスクリプトを作成します。

(ルートとして、またはsudoを使用)

cd /usr/bin
mv pkg-config pkg-config-real

次に、/ usr / bin / pkg-configに次の内容の新しいファイルを作成します。

#!/bin/bash
export PKG_CONFIG_PATH=/usr/lib:/usr/local/lib
pkg-config-real $*

必ず実行可能にしてください。

chmod 755 pkg-config

2
/etc/bashrcは適切な場所ではありません。.bashrcと.bash_profileの違いを参照してください。でファイルを変更することはお勧めしません/usr/bin。そこから作成/usr/local/bin/pkg-configして呼び出す方がよいでしょう/usr/bin/pkg-config。スクリプトでは"$@"、ではなくを使用する必要があります$*。さらなる改善:#!/bin/shおよびexec pkg-config-real
Gilles「SO-邪悪なことをやめよう」
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.