タグ付けされた質問 「dynamic-library」

8
tmuxをインストールするが、「dyld:Library not loaded Referenced from:/ usr /」を取得する
しようとする brew install tmux それはインストールされますが、おそらく、以前に失敗し、完全に削除されていないため、tmuxを使用しようとすると、それとlibeventの両方をインストールする非醸造の試みがあります $ tmux dyld: Library not loaded: /usr/local/lib/libevent-2.0.5.dylib Referenced from: /usr/local/bin/tmux Reason: image not found Trace/BPT trap: 5 libeventをインストールしようとしましたが、次のようになりました: $ brew install libevent Warning: libevent-2.0.21 already installed, it's just not linked だから私は試した $ brew link libevent しかし、私は得た Linking /usr/local/Cellar/libevent/2.0.21... Warning: Could not link libevent. Unlinking... Error: …

1
OSX 10.11.1のシェルでDYLD_FALLBACK_LIBRARY_PATHを設定できない
典型的な@rpath以外のディレクトリで動的ライブラリを使用した単体テストに使用されるシェルスクリプトでは、以前にDYLD_FALLBACK_LIBRARY_PATHを設定して、ライブラリを含むディレクトリを設定できました。10.11.1では、bashはこの環境変数を設定する試みを無視するようです。 $ sh -x testscript.sh + DYLD_FALLBACK_LIBRARY_PATH=/Users/something/testinglibs + export DYLD_FALLBACK_LIBRARY_PATH + exec printenv そして、DYLD_FALLBACK_LIBRARY_PATHはprintenvの出力に存在しません。 これは10.11のシェルのセキュリティ関連のハックですか?manページやオンラインに記載されているこの変更を見つけることができませんでした。

1
El Capitan、確認してください、DYLD_LIBRARY_PATH
私は通常のUnixツールセットを使用してアプリケーションを開発makeします。コンパイラ、、および共有ライブラリです。手順は伝統的に次のようなものです ./configureを実行するマシンの機能のソースを調整します。 make、実際には共有ライブラリ、実行可能ファイルなどをコンパイルします。 make check、パッケージをインストールする前にテストを実行し、 make install、パッケージが適切に動作する場合、最後にオプションで、 make installcheck、インストールが機能することを確認します。 の間make、共有ライブラリと実行可能ファイルは、最終的な形式でコンパイルされます。実行可能ファイルは、最終的な宛先で共有ライブラリへの依存関係でコンパイルされます(つまり、ライブラリには依存し/usr/local/libていませんが、まだビルドされています。木)。次にmake install、大まかにcp言って、ビルドツリーから最終的な場所にlibsと実行可能ファイルをインストールするためだけに使用します。 このmake checkフェーズでは、アンインストールされたプログラムを実行しています。共有ライブラリ、実行可能ファイル、補助ファイルは、ビルドツリーに残っています。テストを実行するには、いくつかのカスタム環境変数(たとえば、補助データファイルが/usr/local/shareソースツリーではなくソースツリーにあることをプログラムに通知する)といくつかのシステム環境変数を設定して、共有ライブラリローダーに表示するように通知する必要があります。共有ライブラリ用。従来のUnicesの環境変数はLD_LIBRARY_PATHOS XではそれですDYLD_LIBRARY_PATH。これは(何十年も)働いてきました。 しかし今、エルキャピタンはこれを破った。 $ (export FOO=foo; env) | grep foo FOO=foo $ (export DYLDFOO=foo; env) | grep foo DYLDFOO=foo $ (export DYLD_FOO=foo; env) | grep foo $ 現在、SIPが有効になっている場合DYLD_*、プロセスからその子には何もエクスポートされません。 だから私の質問です:インストールされていないプログラムをどのように実行できますか?従来のUnixシーケンスを実行できるようにするための手順は何./configure && make && make checkですか? してください、何の答えは次のような「実行しないmake install第一」。それはポイントではありません。私は開発者であり、「make check」の実行(より一般的には、インストールされていないバージョンのプログラムの実行)は非常に頻繁に行います。ダミーの場所に設置するだけでも時間がかかります。私は何か効果的な、必要と効率的。また、SIPを無効にしても、実行したい私のパッケージのユーザーの問題は修正されませんmake check。

2
醸造医は醸造されていない2つのdylib(Samsung Sidesyncの残骸の可能性がある)について不満を述べています
私は醸造医が私に次のエラーを与えることを発見しました: Please note that these warnings are just used to help the Homebrew maintainers with debugging if you file an issue. If everything you use Homebrew for is working fine: please don't worry and just ignore them. Thanks! Warning: Unbrewed dylibs were found in /usr/local/lib. If you didn't put them …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.