
由于官方就没有提供交叉编译工具链
因此走上了不归路
这是官方对于deb包出现依赖问题的解决办法 实测对于ubuntu1410 无效。不排除再debian5上有效,没测试。。。
Howto : クロス開発用ライブラリをインストールする方法
対象製品: Armadillo-500 FXArmadillo-500Armadillo-460Armadillo-440Armadillo-420Armadillo-300Armadillo-9Armadillo-240Armadillo-230Armadillo-220Armadillo-210
掲載: 2009/07/27 最終更新: 2013/09/26
Atmark Distや開発環境(ATDE2, ATDE3)に含まれていないライブラリを使いたいときに役に立つ方法です。
Atmark Distにはいろいろなライブラリが含まれています。また、Armadilloの標準開発環境であるATDE2やATDE3にも、デフォルトイメージを作成するのに必要なクロス開発用ライブラリがインストールされています。しかしながら、オープンソースのライブラリ全てを入れるわけにはいきません1。使いたいライブラリがAtmark Distや開発環境に含まれていなくても、この方法さえ知っていれば、使えるライブラリがグンと増えます。なお、ライブラリではなく、ビルド済みのアプリケーションプログラムを使いたい場合は、「Debianのパッケージに含まれるコンパイル済みのバイナリをArmadilloで動作させる方法」を参照してください。
ソースファイルを取得して自分でコンパイルしても良いのですが、ArmadilloはDebianとバイナリ互換になっているので、DebianのARM用パッケージを使うと簡単です。バイナリパッケージをダウンロードし、開発環境にインストールするまでを紹介します。Debianのパッケージを使うので、開発環境にもDebianを使用しますが、他の環境でも特に難しい事はないと思います。他の環境でDebianパッケージを使用するには、「クロス開発ツールチェーンをdebからrpmパッケージに変換する」を参照してください。
まず、Debianのパッケージサイトで必要なライブラリのバイナリ・パッケージを検索して、目的のパッケージのページへ移動します。
パッケージを検索する際はディストリビューションを開発環境と合わせてください。2011年2月現在のstableはDebian 6.0 squeezeです。開発環境としてATDE3を使用している場合はDebian 5.0 lenny (oldstable) を指定してください。ATDE2(Debian 4.0 etch)を使用している場合は、Debianのパッケージサイトからは検索できませんので、アーカイブからパッケージを探す必要があります。
次に、検索結果のパッケージのページ内に各CPUアーキテクチャが表になっているので、ターゲットのアーキテクチャ用のパッケージをダウンロードします。ARM用のアーキテクチャには、armとarmelの二種類があります。二つのアーキテクチャの違いは、パッケージ内に含まれるバイナリのABIの違いです。armアーキテクチャはABIがOABIに、armelアーキテクチャはEABIになっています。開発環境としてATDE2を使用している場合(Armadillo-500, 500 FX, 300, 9, 210, 220, 230, 240)はarmパッケージを選択してください。開発環境としてATDE3を使用している場合(Armadillo-420, 440, 460)は、armelパッケージを選択してください。
ダウンロードに成功したらdpkg-crossコマンドを使用してパッケージをクロス開発用に変換します。作成されたパッケージのファイル名にはcrossという文字が入るので、容易に判別できると思います。
最後にdpkgコマンドで作成したパッケージをインストールします。
実際の手順をlibssl0.9.7を例に説明します。
●作成したパッケージをインストール(随便翻译版:
该Atmark DIST包含了各种库。另外,即使是犰狳ATDE2和ATDE3一个标准的开发环境,用于创建默认图像所需的库交叉开发已安装完毕。但是,我们不要把开源库所有1。你也想用不包含在Atmark距离和开发环境的图书馆,如果你知道,即使这个方法,你可以使用该库将增加军队。应当指出,是不是一个库,如果要使用“的预建应用程序在犰预编译操作的方法,该方法包括在Debian包请参考“。
获取源文件,我可以在自己编译的,但是,由于犰狳已成为Debian的二进制兼容的,它很容易使用ARM Debian的相关软件包。下载二进制包,它会显示要在开发环境中安装。自从使用了Debian的软件包,也可以在开发环境中,你可以使用Debian的,但我认为这并不是特别困难,即使在其他环境中。要使用Debian软件包在其他环境中,“ 从DEB的交叉开发工具链转换成rpm包,请参阅“。
首先,Debian软件包网站通过搜索库二进制包必要的,可以移动到封装所需的页面。
请搜索包匹配时的分布和发展环境。2011年2月的当前稳定的Debian是6.0挤压。请如果您使用的是ATDE3作为开发环境指定的Debian 5.0莱尼(oldstable的)。ATDE2如果您使用的是(Debian的4.0蚀刻)是,我们无法从Debian软件包网站上搜索,存档,你需要寻找的包。
然后,因为在搜索结果包一个页面每个CPU架构是在表中,将下载的软件包的目标结构。该架构为ARM,有两种类型的手臂和阿梅尔的。在两个结构之间的区别是二进制ABI包含在包装内的差。ARM架构的ABI是OABI,阿梅尔架构已经成为EABI。如果您使用的是ATDE2作为开发环境(犰狳-500,FX 500,300,9,210,220,230,240),请选择手臂包。如果您使用的是ATDE3作为开发环境(犰狳-420,440,460),请选择阿梅尔包。
使用dpkg的交叉命令一旦你已经成功下载转换为交叉开发包。因为已创建成跨过字符的包的文件名,我认为,它可以很容易地识别。
最后,请安装在dpkg命令创建的包。
我们将解释作为一个例子libssl0.9.7的实际过程。
●安装您所创建的包
)
[PC ~]$ wget http://ftp.jp.debian.org/debian/pool/main/o/openssl/libssl0.9.7_0.9.7e-3_arm.deb ... [PC ~]$ ls libssl0.9.7_0.9.7e-3_arm.deb [PC ~]$ dpkg-cross -b -aarm libssl0.9.7_0.9.7e-3_arm.deb Building libssl0.9.7-arm-cross_0.9.7e-3_all.deb [PC ~]$ ls libssl0.9.7-arm-cross_0.9.7e-3_all.deb libssl0.9.7_0.9.7e-3_arm.deb [PC ~]$ su Password: [PC ~]# dpkg -i libssl0.9.7-arm-cross_0.9.7e-3_all.deb Selecting previously deselected package libssl0.9.7-arm-cross. (Reading database ... 13060 files and directories currently installed.) Unpacking libssl0.9.7-arm-cross (from libssl0.9.7-arm-cross_0.9.7e-3_all.deb) ... Setting up libssl0.9.7-arm-cross (0.9.7e-3) ... [PC ~]#通常はこれでインストールでますが、ライブラリの中にはpkg-configパッケージを必要とするものがあり、この場合は依存関係が解決できずにインストールに失敗します。
pkg-config は、ライブラリやアプリケーションをコンパイルするときに必要とされるコンパイルオプションを出力するための補助的なツールです。パッケージと一緒にインストールされる .pc ファイルを参照して、必要なオプションの出力を行っています。
このため開発PC用のpkg-configをインストールして、ARM用クロスパッケージの.pc ファイルが置かれる、/usr/arm-linux/lib/pkgconfigをPKG_CONFIG_PATH環境変数に指定すれば、クロス環境向けにpkg-configが使えるようになり、クロス用をインストール必要はありません。ダミーのクロス用pkg-configパッケージをインストールして、この依存関係さえ解決すれば十分です。以下に、ダミーパッケージをインストールする手順を記載します。
●ダミーパッケージをインストール
(随便翻译版:
你去安装它通常是在这一点,但在库中,可能需要一个pkg配置包,在这种情况下,安装失败到无法解决的依赖关系。
pkg配置是输出编译库或应用程序时所必需的编译选项辅助工具。参照.PC即沿与包安装的文件,它是所需要的选项的输出。
出于这个原因,安装pkg配置为开发PC,ARM的跨包的.PC文件放置,如果你指定的/ usr / ARM-Linux的/ lib中/ pkgconfig到PKG_CONFIG_PATH环境变量,交叉环境PKG -config可供使用,没有所需的交叉安装。安装一个虚拟pkg配置包交叉,这是足以解决甚至这种依赖性。下面,我们将介绍的步骤来安装一个虚拟软件包。
●安装一个傻瓜包
)
[PC ~]# apt-get install equivs [PC ~]# apt-get install pkg-config [PC ~]# exit [PC ~]$ wget http://download.atmark-techno.com/misc/softwaredesign/chapter5/mkXdummy [PC ~]$ chmod 755 mkXdummy [PC ~]$ ./mkXdummy pkg-config ... [PC ~]$ ls pkg-config* pkg-config-arm-cross_1.0_all.deb [PC ~]$ su - Password: [PC ~]# dpkg -i pkg-config-arm-cross_1.0_all.deb


本文地址:https://blog.sxx1314.com/Armadillo-440/314.html
版权声明:若无注明,本文皆为“unix 软硬件 技术宅 ”原创,转载请保留文章出处。百度已收录















