0

FreeBSD/PC-BSD でいくつかの Linux ライブラリを使用しようとしていますが、FreeBSD での Linux バイナリ互換性がどのように機能するかについて疑問があります。

このタスクに必要なカーネル モジュールと、Linux ライブラリを含む追加の linux_base パッケージをインストールしました。

ライブラリ自体は libspotify で、ここからダウンロードできます (FreeBSD で利用できる libspotify ビルドはないため、Linux ビルドを使用する必要があります): https://developer.spotify.com/technologies/libspotify/#download

この抜粋された Python コードを実行すると失敗します。

import ctypes
lib_path = './libspotify.so'
lib = ctypes.cdll.LoadLibrary(lib_path)

次のように述べています。

OSError: Shared object "libpthread.so.0" not found, required by "libspotify.so"

ハンドブックには、Linux バイナリは を使用してタグ付けする必要があると書かれていbrandelfます

しかし、まだ機能しません。

問題は、 Linux バイナリ互換性は Linux 実行可能ファイルのみに対応しているのか、それとも FreeBSD 実行可能ファイル内に Linux ライブラリをロードするのにも適しているのかということです。

編集:この同様の質問への回答に記載されているように、リンカー構成を変更する必要がある場合があることは承知していますが、ライブラリは Python スクリプト内に読み込まれるため、適切なアプローチではないようです。

前もって感謝します。

4

1 に答える 1