私はみましょうと言うの下で、建設され、私の任意のディレクトリの下にアプリケーションをインストールした/home/jim/usr
ファイルはすべてこの下、三から四のフォルダに入れているので、$HOME/usr
フォルダ(例えば、bin
、include
、lib
、share
、など)。
環境変数PATH
とLD_LIBRARY_PATH
に適切なパスを追加したので、コマンドラインからこのアプリケーションを正常に起動できます~/.bashrc
。
同じパスを~/.profile
ファイルに追加しました。これは、間違いがなければ、Ubuntuによって解析されるはずです。
動作しません。何もありません。そこからどこへ行けますか?
編集:ログアウト/ログインしてコンピューターを再起動しました。どちらも何も変わりませんでした。問題は、私が何をしても、LD_LIBRARY_PATH環境変数がUbuntuに適切に渡されないという事実に起因しているようです。
ログファイルを使用して、この例で実行しようとしているアプリケーションが、依存関係にあるアプリケーションを見つけられないことがわかりました~/usr/lib
。
解決策の1つ/home/jim/usr/lib
は/etc/ld.so.conf.d/
、にあるファイル内にフォルダーを追加することですが、このマシンの管理者権限がありません。
このようなラッパースクリプトを作成すると、次のように機能します。
#!/bin/bash
export LD_LIBRARY_PATH=$HLOC/usr/lib
application &> $HOME/application_messages.log
しかし、それでは、ホームでコンパイルされたすべてのアプリケーションをこのスクリプトでラップする必要があります。何か案は?
Ubuntu / Gnomeが設定変数からLD_LIBRARY_PATH環境変数を削除するのはなぜですか?これをやろうとするのは悪い習慣だからですか?
更新(および解決策):クリストファーによって発見されたように、ランチパッドにこれに関するバグレポートがあります。LD_LIBRARY_PATHは、ファイルの解析後に設定解除され~/.profile
ます。バグレポートを参照してください。今のところ唯一の解決策はラッパースクリプトを作成することだと思われます。
そのためのファイルを作成します。
sudo vim /etc/ld.so.conf.d/my_application.conf
そしてそのファイルの内容:
/home/jim/usr/lib
セーブ。キャッシュを再構築します。
sudo ldconfig -v
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加