aarch64 - クロスコンパイル時にlpoptが見つかりません

aarch64 - クロスコンパイル時にlpoptが見つかりません

ubuntu 12.04デスクトップ64ビット(x86_64)で「aarch64」アーキテクチャのクロスコンパイルを試みています。

そのため、「Synaptic Package Manager」を使用して「aarch64」用のクロスコンパイラツールチェーンをインストールしました。

ソースからLinuxパッケージをビルドしようとしていますが、このパッケージのビルド中に発生するエラーは次のとおりです。

can not find -lpopt ..

それでは、arch64アーキテクチャの名前を付けた "libpopt.a/.so"をどのように取得できますか? aarch64用にクロスコンパイルし、このライブラリを使用してパッケージをビルドする必要がある "libpopt"ソースコードはありますか?

どんな意見でも高く評価いたします。

答え1

私が知る限り、aarch64用のlibpoptパッケージはありません。したがって、クロスコンパイラツールチェーンを使用して簡単にコンパイルし、結果ライブラリをすでに導入されているリンカパスに追加することができます(またはその逆)。

ソース:

http://www.linuxfromscratch.org/blfs/view/svn/general/popt.html

答え2

popt-1.16(最新バージョンのAFAICT)には、Arch64とターゲット間の互換性がないビルドシステムがあります。しかし、非互換性は、プラットフォーム三重項を任意の標準形式に変更しようとするステップに過ぎず、簡単に修正できます。クロスコンパイルした方法は次のとおりです(CLFSに似ており、tarballを抽出してcdディレクトリに「編集」したとします)。

sed -i 's@^\(.* | armv\[.*\) \\@\1 | aarch64 \\@' config.sub
./configure --build=i686-cross-linux-gnu \
            --host=aarch64-linux-gnu \
            --prefix=/usr
make

make DESTDIR=/your/destination/dir installその後、インストールできます。

関連情報