4

.so必要なファイルが見つからない場合、OpenBSD で XS perl モジュールをビルドするにはどうすればよいですか?

背景: バニラの OpenBSD 5.3 vm インストールで、リンクが必要な perl モジュールをビルドできません-lpthread。pthread.a と pthread.so.Maj.Minシステムに存在します。

ただし、Makefile.PL は、存在しない を探してpthread.soいます。これは OpenBSD では普通のことですか? (Makefile を pthread.a にリンクするように強制することができ、問題なく動作します。)

Redhat のような Linux 環境では、適切な-develRPM をインストールしてやり直します。しかし、OpenBSD では、開発環境に関する非常に基本的なことが欠けています。

更新主な問題は、Dynaloader が Makefile.PL 内のライブラリを誤検出することでした。

4

2 に答える 2

0

Makefile が間違っています。バグをアップストリームに報告してください。特定のファイルを探すべきではありません。この例を見てください:

$ cat test.c              
int main(){
    return 0;
}
$ gcc -lpthread -o test test.c
$ ldd test
test:
    Start            End              Type Open Ref GrpRef Name
    00000c4321600000 00000c4321a02000 exe  1    0   0      test
    00000c4521f63000 00000c4522374000 rlib 0    2   0      /usr/lib/libpthread.so.17.1
    00000c4524c1c000 00000c4525103000 rlib 0    1   0      /usr/lib/libc.so.68.2
    00000c452a100000 00000c452a100000 rtld 0    1   0      /usr/libexec/ld.so

-develまた、OpenBSD ではパッケージをインストールする必要はありません。OpenBSD にはバッテリーが含まれています。

于 2013-05-22T18:12:03.307 に答える