質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Perl

Perlは多目的に使用される実用性が高い動的プログラミング言語のひとつです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

ARMv6

ARMv6は、 ARM命令セットアーキテクチャーVersion 6のことです。

Q&A

2回答

1702閲覧

perlをarm用にコンパイルしたい

os37412

総合スコア6

Perl

Perlは多目的に使用される実用性が高い動的プログラミング言語のひとつです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

ARMv6

ARMv6は、 ARM命令セットアーキテクチャーVersion 6のことです。

0グッド

0クリップ

投稿2018/08/24 02:15

前提・実現したいこと

arm用にperlをコンパイルして実装したい

参考URL
https://github.com/arsv/perl-cross

手順
0. perlのソース取得(5.24.1) … http://www.cpan.org/src/5.0/perl-5.24.1.tar.gz
0. パッチの取得(perl-cross-1.1.3.tar.gz) … https://github.com/arsv/perl-cross/tree/releases
0. 作業ディレクトリ(perl)に上記2ファイルをコピー
0. ファイルの展開
tar xvzf perl-5.24.1.tar.gz
cd perl-5.24.1
tar --strip-components=1 -zxf ../perl-cross-1.1.3.tar.gz
0. makeファイルの作成
./configure --target=arm-poky-linux-gnueabi --prefix=/usr -Duseshrplib

※エラーとなってmakefileが作成できません
以下のエラーメッセージが表示されます

発生している問題・エラーメッセージ

Configuring primary perl executable for arm-poky-linux-gnueabi (arm-poky-linux-gnueabi) Checking perl version ... perl5-5.24.1 Checking for cc ... ERROR: Supplied arm-poky-linux-gnueabi-gcc -march=armv7-a -marm -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a9 --sysroot=/opt/poky.zynq/2.1+snapshot/sysroots/cortexa9hf-neon-poky-linux-gnueabi is not usable ERROR: configure --mode=target failed

試したこと

  • クロスコンパイル用の環境変数の設定を実行してから./configureを実行

. /opt/poky.zynq/2.1+snapshot/environment-setup-cortexa9hf-neon-poky-linux-gnueabi

  • ./configure --target=arm-linux で実行

ドライバ・ミドルウェア等は上記のクロスコンパイル用の環境設定を実施してからコンパイルしています。
※ちなみにlighttpdは、このクロスコンパイル用の環境変数設定を実施してからコンパイルは出来ています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

また、debian 9なら複数のarmアーキテクチャをサポートしています。ディストリビューションが合う場合は公式パッケージを使用してはいかがでしょうか?

  • amd64
  • arm64
  • armel
  • armhf

投稿2018/08/25 02:29

fu7mu4

総合スコア1088

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

os37412

2018/08/27 04:09

お返事ありがとうございます。 組み込み初心者なので具体的にどうすればよいのかご教授頂けると助かります。
guest

0

configureスクリプトの--target-tools-prefixは試しましたか?
例えばクロスコンパイラが arm-linux-gnueabi-gccなら prefixはarm-linux-gnueabi-です。

--target-tools-prefix=prefix
Use prefix-gcc, prefix-ld without overriding archname.

投稿2018/08/25 02:25

fu7mu4

総合スコア1088

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

os37412

2018/08/27 04:10

お返事ありがとうございます。 ./configure --target=arm-poky-linux-gnueabi --target-tools-prefix=arm-linux-gnueabi- 他にもいろいろ試しましたが、結果は同じでした。 あまり詳しくないので、何か他にも思い当たる節がありましたら、よろしくお願いいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問