タグ付けされた質問 「libraries」

ライブラリは、プログラムが使用できる機能の集まりです。これらはプログラムによって動的にロードすることも、プログラムにコンパイルすることもできます。

1
/lib64/ld-linux-x86-64.so.2とは何ですか。なぜファイルの実行に使用できるのですか?
最近、ファイルに実行権限がない場合、を使用してそのファイルを実行できるというトリックを学びました/lib64/ld-linux-x86-64.so.2。 たとえば、xのアクセス許可を復元するには -rw-r--r-- 1 root root 59K Mar 1 2017 /bin/chmod 私たちは走ることができます /lib64/ld-linux-x86-64.so.2 /bin/chmod +x /bin/chmod 私はそれがどのように行われるのか本当に知りません、それは通常のことではなく、一種のミステリーです。
16 linux  files  libraries 

1
libssl1.0.2がlibssl1.0.0以上であることをdpkgに納得させるには?
以前にDebian 8にインストールしたサードパーティの.debパッケージをインストールしようとしていますが、次のエラーが発生するため、新しいDebian 9セットアップにインストールできません。 dpkg: dependency problems prevent configuration of parity: parity depends on libssl1.0.0 (>= 1.0.0); however: Package libssl1.0.0 is not installed. 私はない libssl1.0.2がインストールされています。しかし、それは「> = libssl1.0.0」として認識されていないため、これを修正する方法を疑問に思います。 libssl1.0.0を手動でインストールしますか?もしそうなら、どのように? 何かシンボリックリンクしますか?もしそうなら、何? 他に何か?

3
共有ライブラリがインストールされているかどうかを確認する方法は?
私の質問は、ffmpegを開始する際の問題から生じています。ffmpegをインストールしましたが、インストール済みと表示されます: whereis ffmpeg ffmpeg: /usr/bin/ffmpeg /usr/bin/X11/ffmpeg /usr/share/ffmpeg /usr/share/man/man1/ffmpeg.1.gz 後で、一部のプログラムはインストール自体に付属していないライブラリに依存していることがわかりました。そのため、lddコマンドで不足しているものをチェックしました。 # ldd /usr/bin/ffmpeg linux-vdso.so.1 => (0x00007fff71fe9000) libavfilter.so.0 => not found libpostproc.so.51 => not found libswscale.so.0 => not found libavdevice.so.52 => not found libavformat.so.52 => not found libavcodec.so.52 => not found libavutil.so.49 => not found libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f5f20bdf000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 …

2
ライブラリ呼び出しのstrace
システムコールを監視するのに非常に便利なstraceを知っています。外部ライブラリへの呼び出しをトレースできる同等のものはありますか? たとえば、コードにアクセスできない(および開発者が応答しない)サードパーティバイナリを使用して、SSLeayの誤動作をデバッグしようとしています。私は問題を突き止めたと思いますが、署名チェックされているデータがSSLeayに送信するためにどのようにフォーマットされているかを正確に確認せずにこれをテストすることはできません。

1
glibcのバイナリビルドをインストールする簡単な方法はありますか?
次のような質問が何度もあります。 Centos 6のGLIBCXX 3.4.15 CentOS 4.8およびglibc 2.5 そして、これらは私たちが通常推進しているタイプのソリューションです: GLIBCを更新せずに新しいソフトウェアを実行する方法は? debian / ubuntuに2つのglibcを一緒にインストールする Centos 6のGLIBCXX 3.4.15 これは本当にできることですか?GLIBCのバイナリビルドがあり、のようなディレクトリに単純に解凍し、何でも/opt/myglibc設定して、$LD_LIBRARY_PATH問題なくアプリケーションを実行できますか? GLIBC 2.14を必要とするChrome(28以降)の新しいビルドなどのアプリケーション 注:「Google Chrome 29リリース-tecmint.comのRHEL / CentOS 6およびFedora 19/15にインストール」というタイトルのスレッドは、最終的にこのことについて考えさせられたものです。 参照資料 GNU Cライブラリ(glibc)
13 libraries  glibc 

7
Linux用のステレオ「トーンジェネレータ」?
Linux用のステレオ(左右の独立したチャンネル)トーンジェネレーターのようなものはありますか?各チャンネルの音量とトーン/ピッチを設定し、できれば波形(正弦波、方形波、のこぎり波など)を設定し、1つのチャンネルを反転できます(他のチャンネルとは対照的に)。 そうでない場合、良い場所を作るためのアイデアはありますか?シンセのような既存のプログラムを適応させるのが最も簡単だと思います...しかし、それがうまく機能しない場合、そのようなプログラムのベースとして使用できるライブラリ(SDLなど)はありますか?
13 audio  libraries 

1
Boostがインストールされている場所をgccはどのように知るのですか
sudo apt-get installUbuntu を使用してboostをインストールしました。後でI、boostを使用するために、boostライブラリへのパスとともにフラグをgccに指定する必要はありませんでした。また、私は何もしませんpkg-config --cflags --libsでした。ここの謎は何ですか?gccはどのようにブーストがどこにあり、どのように自動的にリンクするのかを知ることができますか?
13 gcc  libraries  boost 

2
scipyからAtlasを使用する
Ubuntu 12.04 64ビットをインストールしました。私はpythonとscipyで作業する必要があり、それらをインストールし、テストを実行するときに: python -c "import scipy; scipy.test()" 私はメッセージを受け取ります: ImportError:libatlas.so.3gf:共有オブジェクトファイルを開けません:そのようなファイルまたはディレクトリはありません ただし、ディレクトリの下にlibatlasライブラリがインストールされてい/usr/lib/atlas-baseます。私はファイルを直接コピーできることを知っ/usr/libていますが、ライブラリを使用するためにscipyをどのようにセットアップできますusr/lib/atlas-baseか?



1
別のLinuxマシンへの実行可能ファイルの移植性
Linuxマシン(M1)にモーションプログラムをインストールし、別のマシン(M2)に同じプログラムをインストールします。 このプログラムにはさまざまなビルドがあり、どれを使用したか忘れてしまいました。M1からuser / bin / motionファイルを直接コピーして、M2のuser / bin / motionに配置できますか? 構成ファイルの場所がわかっているので、それを横切って移動しますが、M2で動作バージョンのモーションが使用しているビデオドライバーがどれなのかはわかりません。見つける方法はありますか? 依存関係を見つける方法はありますか?

3
実行可能ファイルをサポートするためにロードする必要があるパッケージまたはライブラリを決定する方法はありますか?
パッケージとしてビルドされていない、再コンパイルできないコンピューターにインストールしたい実行可能ファイルがあり、実行に必要なライブラリーをダウンロードしたい。 以下は、実行中の出力の一部であり、lddそれに libpango-1.0.so.0 => /usr/lib/i386-linux-gnu/libpango-1.0.so.0 (0xb702f000) libcairo.so.2 => /usr/lib/i386-linux-gnu/libcairo.so.2 (0xb6f64000) libatk-1.0.so.0 => /usr/lib/i386-linux-gnu/libatk-1.0.so.0 (0xb6f43000) libsqlite3.so.0 => /usr/lib/i386-linux-gnu/libsqlite3.so.0 (0xb6e9e000) libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb6cf4000) /lib/ld-linux.so.2 (0xb786e000) libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xb6cd3000) libgio-2.0.so.0 => /usr/lib/i386-linux-gnu/libgio-2.0.so.0 (0xb6b7c000) libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb6b4f000) ディスクの使用量を最小限に抑えるために、この情報を使用してダウンロードするパッケージを選択したり、一覧表示されたライブラリとその依存関係のみを抽出したりできるツールはありますか?システムはヘッドレスVMで実行されており、プログラムはVNCを介して表示されます。 本格的なグラフィックデスクトップで必要なライブラリのほとんどが提供されると思いますが、必要なライブラリとその依存関係、およびそれをサポートするのに十分なX Windowsパッケージだけをダウンロードしたいと思います。


2
ELF共有ライブラリ-PLTの動機
自己変更コードを使用して、動的にリンクされたライブラリでの関数呼び出しを高速化できますか? 私が理解している限り、ELF共有ライブラリは、一種の間接ジャンプテーブル(プロシージャリンケージテーブル、またはPLT)を使用して、ライブラリ関数の遅延バインディングを有効にします。目的は、最初の呼び出しで関数位置の遅延解決を有効にしながら、コードセグメントのテーブルを変更する必要を回避することです。 ロード時に、または場合によっては最初の関数呼び出しでさえ、そのテーブルのコードを動的に作成する方が高速ではないでしょうか? プロセス間でコードセグメントをできるだけ共有できるようにしますか(動的テーブルはプロセス専用になります)?セキュリティ上の理由からですか(書き込み可能なコードは実行可能であってはなりません -しかし、JITは常にそうしているので、実際にプログラムを起動する前に、ローダーが書き込み権限を追加および削除できます)。 それともそれらの組み合わせであり、関数呼び出しごとの小さなパフォーマンスの向上は努力の価値がないでしょうか?

1
バイナリファイルとライブラリの違いは何ですか?
Filesystem Hierarchy Standardを理解しようとしています。私はバイナリとライブラリの両方を調べましたが、私は現在それを理解しています: バイナリは、ビットでCPUとプロセッサを直接制御するバイナリ形式のコンピュータ可読コードのファイルです。 ライブラリは、PHPのJavascriptでモジュールが必要な場合など、便宜上、さまざまなプログラムで使用できる関数です。 この理解は正しいですか?もしそうなら、なぜ私たちはまだライブラリとバイナリを分離しているのですか?一部のライブラリはバイナリですよね?そして、いくつかのバイナリ(cat、less、date、rm、cpなど)は、ライブラリであるかのように使用および再利用されます...誰かが違いを説明し、これら2つの単語のより良い定義を見つけるのを助けることができますか?ありがとうございました。
11 files  libraries  binary  fhs 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.