問題タブ [ldd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
unix - ldd が LD_LIBRARY_PATH にライブラリを見つけられません
システムを稼働させようとしていますが、OpenMotif 共有ライブラリに問題があります。LD_LIBRARY_PATH にディレクトリがありますが、まだ見つかりません。
次に例を示します。
私はおそらく何かばかげたことをしていますが、他に試すことは考えられません。
編集:以下のいくつかの質問に答えるには:
わかりました、実行可能ファイルの1つを実行しようとしました:
これは 32 ビット/64 ビットのものですか?
gdb - Linuxダイナミックライブラリを監視する
Cで記述されたLinuxダイナミックライブラリを監視(デバッグ)し
たいと思います。いつ、どのパラメータがライブラリに渡されるかを確認したいと思います。
'X'を監視するライブラリは、別のダイナミックライブラリ'Y'によって呼び出されます。
'Xと'Y'の両方が実行可能ファイル'A'の/proc/ pid/mapsに表示されます。
ltraceを使用すると、実行可能ファイルでlibXまたはYが表示されませんでした。
実行可能ファイルは複数のスレッドを使用しています。
また、execでlddコマンドを使用する場合、libs XまたはYについては何も言及されていません
。lddYは、YにXが必要であることを示しています。
すべてのライブラリでlddを使用すると、プロジェクトのexecはYを必要とする人について言及しません。
それでもYはexecの/ proc / pid/mapsにロードされているように見えます。
X libをデバッグするためにどのような手順を実行できるかわかりませんが、アドバイスをいただければ幸いです。
security - ライブラリ/実行可能ファイルの実行可能コードセクションのサイズを取得するにはどうすればよいですか?
さまざまなコードベースの実行可能ファイルのサイズの分析を実行しており、ライブラリまたは実行可能ファイルの実行可能セクションの大きさに関するデータを取得しようとしています。を見てアイデアが浮かぶことはわかっています/proc/xxx/maps
が、はっきりと教えてくれるものはありますか?
linux - ldd と objdump の違いは何ですか?
これら 2 つのコマンドを実行していますが、異なる出力が得られます。
その後
どうしたの?両方ともライブラリの依存関係を与えたと思いましたか?私が気にかけている理由はldd
、それが正しいと思われるからですが、私が知ることができる ldd がない ARM 上の Linux に取り組んでいます...
makefile - インストールせずにlibtoolで構築された実行可能ファイルを正しいライブラリパスに再リンクする方法は?
GNU autotools を使用してプロジェクトをビルドします。今は小さな変更があり、コレクション全体から1 つのライブラリ libmylib.so
と1 つのプログラム(そのライブラリを使用) だけをコピーしたいと考えています。 myprog.x
make install
他のすべてのものを上書きしないように非常に注意する必要があるため、使用したくありません。
私がする時
使用されているライブラリは、予想どおり、新しく構築されたライブラリであり、 のライブラリではありません/usr/lib/
。
に手動でコピーできるようにするには、どうすれば通知またはmake
再リンクできますか? もちろんにコピーした後。libtool
myprog.x
/usr/bin/
libmylib.so
/usr/lib/
shared-libraries - 共有ライブラリの検索パスを実行可能ファイルに追加するには?
librtmp で ffmpeg をビルドします。私の librtmp は /opt/librtmp/lib にあります。ffmpeg を実行すると、次のように表示されました。
ldd コマンドを使用すると、not foundと表示されます。
私はそう知っています:
問題を解決する方法をいくつか見つけました
- /etc/ld.so.conf を変更しますが、super ユーザーが必要です
- LD_LIBRARY_PATH 変数を設定しますが、ユーザーにとって不便です
- このようにrpathをgccに渡します
私のffmpegの引数を設定する
再コンパイルするソース コードがないと仮定しますか? 共有ライブラリの検索パスを実行可能ファイルに追加するにはどうすればよいですか?
ubuntu - ldd 異なる出力。同じバイナリの異なるディストリビューション
ユーティリティを実行してldd
の共有ライブラリを見つけると、httpd
説明できない次のシナリオが見つかりました。
私のUbuntu
箱に:
そしてCentOS
箱に:
libuuidとlibfreebl3が箱に記載されているのに、CentOS
箱には記載されていないのはなぜUbuntu
ですか?
私はhttpd ELF
それらを依存関係としてリストしていないことを知っています:
洞察はありますか?
編集: 両方のテストで使用された httpd バイナリは同じものでした (CentOS RPM から解凍したもの)。
linux - ldd は、実行時に使用するすべての .so ファイルを出力しますか?
Linux でバイナリ (xyz など) を見たことがあります。実行中は .so ファイル (abc.so など) が読み込まれますが、「#ldd xyz」を実行すると abc.so が含まれていません。 ldd の出力で。
誰かがこれを説明するのを助けることができますか?
前もって感謝します!
linux - ldd 括弧内の 16 進数
ファイルで実行するldd
と、見つかったすべてのライブラリを括弧内に 16 進数で返します。
例えば:
16 進数が、実行可能ファイルがリンクされたライブラリの番号でない場合、バージョン情報エラーが発生する可能性があります。
2 つの質問があります。
- この価値はどこから生まれますか?
- 実行可能ファイルが探している 16 進値を調べるにはどうすればよいですか? (つまり、最初にリンクされたもの)
unix - ライブラリ依存のためのツール
およびファイルの依存関係を検出するためのtool
/ command
onUnix
プラットフォームを探しています。library
.so
.o
私はすでに//を使用しましたldd
がnm
、truss
ライブラリの依存関係を検出するための適切なアプローチがわかりません。