問題タブ [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.

0 投票する
1 に答える
443 参照

c - NetBSD: cwm をコンパイルした後の動的 lib エラー

元のcwm tgzパッケージ(netbsdパッケージではない)をコンパイルしました

エラーなしで動作します。でcwmを開始した後

エラー

が表示されます。ldd の出力は次のとおりです。

ここで、「not founds」は cwm バイナリを直接参照しています。コマンドとリンクされています

そのため、リンカは libX11 と libXext を見つける必要があります。

ローダーが文句を言うのはなぜですか?

0 投票する
1 に答える
44 参照

python - ファイル名の「++」で壊れたファイル名を抽出する正規表現

私は、他の人が依存関係の地獄を解決するのを支援するユーティリティに取り組んでいます。ldd で UNIX パス出力を抽出できますが、ある場合、私の正規表現はファイル名に含まれる 2 つの + を処理できません。私の正規表現は以下の通りです:

+を処理するためにこれを変更する方法はありますか?

テストデータは次のとおりです。

誰かが入力した場合は、事前に感謝します。

0 投票する
1 に答える
3115 参照

solaris - シンボルが見つかりません(ldd)が、そこにあります(nm)

私のアプリケーションは、シンボルが見つからないと文句を言います:

そしてlddは同じことを言います:

ただし、シンボルはそこにあります-それが nm の言うことです:

しかし、ご覧のとおり、Shndx=UNDEF です。どういう意味ですか?何かが定義されていない場合、それはまったく存在しないと思いました。しかし、私のアプリケーションはそれを見つけることができませんが、どういうわけかそこにあります。

システム: Solaris 10 / UltraSPARC 私のアプリケーションとすべてのライブラリは 64 ビットで、/foo は LD_LIBRARY_PATH_64 にあります (/bar はありません)。

編集:一方、UNDEFは「別のライブラリで解決する必要がある」ようなものであることを知っています。また、シンボル _ 1cDstdEcerrを実際に持つライブラリも見つけました。これは /usr/lib にある libCstd.so です。または、より正確に言うと (64 ビット版が必要なので) /usr/lib/64. そのため、crle によって表示されるシステムのデフォルトのライブラリ検索パスの 1 つにあります。ここでの問題は、それを含むライブラリがシステムの検索パスにある場合、どのようにしてシンボルを解決できないのでしょうか?

0 投票する
1 に答える
2035 参照

linux - CentOS - プログラムは不足しているライブラリを見つけることができませんが、ld.conf はそれを指しています

/opt/Qt5.1.0/5.1.0/gcc_64/plugins/sqldrivers/libqsqlmysql.soで ldd を実行すると、 libmysqlclient_r.so.16が見つからないことがわかります

そのため、libmysqlclient_r.so.16が欠落しています...だから、「find / -name libmysqlclient_r.so*」を実行し、次を見つけました:

/usr/lib64/mysql/libmysqlclient_r.so

私のプログラムがsoファイルを見つけられないようです。そこで、/etc/ld.so.conf.d/ を調べたところ、以下を含む Maria conf ファイルが見つかりました。

/usr/lib64/mysql

それは、Linux ローダーが不足しているライブラリ ファイルを見つけなければならないということではありませんか? 上記のプログラムには libmysqlclient_r.so.16 が必要であり、 libmysqlclient_r.so は /etc/ld.so.conf.d/mariadb-x86_64.conf によって提供される LD パスにあります。

ここでミッシングリンクは何ですか?


更新: .so.16 から .so へのシンボリック リンクを追加しましたが、まだ解決されていません:

および「ldconfig -v | more」が表示されます(一部のみ):

libmysqlclient.so.18 -> libmysqlclient_r.so.16という行がわかりません- _r.so.16 がリストされていないのはなぜですか? 私は近づいています...最後のビットを理解することはできません!

0 投票する
1 に答える
84 参照

perl - 奇妙な rpm 要件: perl(a)

会社のicingaインストールのいくつかの部分をRPMとしてパッケージ化して、中央監視ソリューションから分散ソリューションへのトランザクションで使用します。

途中で、nagios プラグイン フォルダーを簡単にパッケージ化し、rpmbuild の新しいバージョンが ldd を使用して要件を自動的に計算することを発見しました。

現在、私のパッケージには満たされていない依存関係の膨大なリストがあり、ほとんどが perl モジュールです。これらの要件のいくつかは不可解またはあいまいです: Google またはリポジトリでそれらについて何も見つけることができません:

私はそれらのほとんどを見つけることができると思いますが、perl(a).

どんな助けでも大歓迎です。

0 投票する
1 に答える
2253 参照

linux - Linux: 共有ライブラリのバージョン依存を削除する方法

libxxxx.so次のような他のいくつかの共有ライブラリに依存するファイルがあるとします。

ここで、Samba RPM によって直接インストールされたこれらの正確なライブラリーを含むlibxxxx.soのボックスに入れました。しかし、まだそれらが利用できないと不平を言っています (これは実際のエラー出力です)。これを修正するにはどうすればよいですか?ldd

0 投票する
1 に答える
4651 参照

linux - Linux のライブラリで使用されるスレッド ローカル ストレージ モデルを特定する方法はありますか

Linux で共有ライブラリの TLS モデルを照会する方法はありますか? (例: ldd やその他のツールを使用)。

「initial-exec」モデルであまりにも多くのライブラリをロードすることに問題があり、このモデルを使用しているサードパーティのライブラリを確実に特定したいと考えています (静的にリンクするなどして、いくつかのスロットを解放できるようにします)。

これにより、エラーが発生します。

この質問を参照してください。