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
その後、インストールできます。