私はFreeBSD 12で静的にcmakeプロジェクトをコンパイルし、それを試したときに同じシステム上で実行可能ファイルを試してみましたが、うまくいきましたldd executable
。not a dynamic executable
その後、FreeBSD 12を使用してvpsに移植し、期待どおりに機能しました。しかし、FreeBSD 8に移植したとき。executable --help
ヘルプの印刷などの一部のコマンドは機能します。しかし、ネットワークに関連するいくつかの機能を試みると(ネットワークが設定されており、カールやPHPなどのさまざまなプログラムを試しました)、プロセスは自動的に分割エラーや何もせずに終了し、実行可能ファイルを実行した後に他のファイル名前がexecutable.core
同じファイルに追加されます。礼拝規則
FreeBSDバージョンをコンパイルするのは今回が初めてなので、何を見逃しているのかわかりません。
答え1
FreeBSD 12 には「ino64」という深刻な ABI 変更があります。 IIRC、libcは動的にリンクするときにそれを処理できるので、まずこれを試してみましょう。これがうまくいかない場合、唯一のオプションはFreeBSD 8でコンパイルすることです。
一般に、XメジャーバージョンでコンパイルされたバイナリはX-1バージョンで実行されると期待してはいけません。ただし、misc/compatXX
パッケージをインストールすると、他の方法で行われます。