[Armadillo:03421] Re: Armadillo-500 カーネルをeabiでコンパイルする方法について
橋本 佳己
email@hidden
2008年 9月 24日 (水) 11:18:23 JST
To:竹之下様
SFTの橋本です。
いつもお世話になっております。
回答、ありがとうございました。
教えて頂いた内容で確認したところ
「user/openssh」のエラーは無くなりましたが、
「user/pcmciautils」同じようなエラが発生しましたので
下記の様に対応致しましたが
問題ないでしょうか?
【修正前makefileの内容】
build:
make -C $(SRC_DIR) all \
OPTIMIZATION="$(CFLAGS) $(EXTRA_CFLAGS)" \
LDFLAGS="$(LDFLAGS) $(EXTRA_LDFLAGS)" \
CC=$(CC) LD=$(CC) STRIP=$(STRIP)
mkdir -p $(INSTALL_DIR)
make -C $(SRC_DIR) DESTDIR=$(UDEV_DIR)/$(INSTALL_DIR) install
【修正後makefileの内容】
build:
make -C $(SRC_DIR) all \
OPTIMIZATION="$(CFLAGS) $(EXTRA_CFLAGS)" \
LDFLAGS="$(LDFLAGS) $(EXTRA_LDFLAGS)" \
CC="$(CC)" LD="$(CC)" STRIP=$(STRIP)
mkdir -p $(INSTALL_DIR)
make -C $(SRC_DIR) DESTDIR=$(UDEV_DIR)/$(INSTALL_DIR) install
以上、宜しくお願いいたします。
> -----Original Message-----
> From: email@hidden
> [mailto:email@hidden] On Behalf
> Of Takenoshita Koyo
> Sent: Tuesday, September 23, 2008 6:03 PM
> To: email@hidden
> Subject: [Armadillo:03416] Re:Armadillo-500 カーネルをeabiでコンパイルする方法について
>
> 竹之下です。
>
> まずは、どんなエラーが出ているのか調べてみました。
>
> > 【make menuconfig設定内容】
> > KernelFeatures--->
> > [*] Use the ARM EABI to compile the kernel [*] Allow old ABI
> > binaries to run with this kernel(EXPERIMENTAL)
> >
> > 【config.archの修正内容】
> > 過去のメーリングリストに、下記の対応が必要とありましたので
> > ・atmark-dist/config.arch
> > 先頭に
> > CPUCFLAGS := -mabi=aapcs-linux
> > という行を追加。
> > を追加しました。
> をおこなったあと、
> $ cd atmark-dist
> $ make user/openssh_only 2>&1 | tee make.log [*1]
>
> make.logを見てみると、一番始めで下記のようなエラーになっています。
> gccのための「-mabi=aapcs-linux」オプションが、makeに渡ってしまっているよ
> うです。
>
> [ ! -d "user/openssh" ] || make ARCH=arm
> CROSS_COMPILE=arm-linux- -C user/openssh
> make[1]: ディレクトリ `/home/takenoshita/atmark-dist/user/openssh' に入
> ります
> make -C openssh-4.3p2 LD=arm-linux-gcc -mabi=aapcs-linux
> make: オプションが違います -- a
> make: オプションが違います -- =
> make: オプションが違います -- a
> make: オプションが違います -- a
> make: オプションが違います -- c
>
>
> 一応、対策として
> user/openssh/Makefileで下記のように$(CC)を""で囲んであげたところ、
> コンパイルは通りました。
>
> diff --git a/user/openssh/Makefile b/user/openssh/Makefile
> index 2c7b852..c6753f7 100644
> --- a/user/openssh/Makefile
> +++ b/user/openssh/Makefile
> @@ -27,7 +27,7 @@ $(SRC_DIR)/Makefile:
> $(CONF_OPT) $(CONF_OPT_MISC));\
>
> build: $(SRC_DIR)/Makefile
> - make -C $(SRC_DIR) LD=$(CC)
> + make -C $(SRC_DIR) LD="$(CC)"
>
> romfs: build
> [ "$(CONFIG_USER_OPENSSH_SSHD)" != "y" ] || \
>
>
> ところで、メールタイトルは「カーネル」となっていますが、
> エラーが出ているのはユーザランドの方ですね。
>
> また、以前のメールで古賀さんが指摘されているように、
> ツールチェーンもEABIのものを使う必要があるのでは無いかと思います。
> http://lists.atmark-techno.com/pipermail/armadillo/2008-Januar
> y/002640.html
>
> [*1] make ***_onlyで、対象のディレクトリだけmakeすることができます。
> 他には、make linuxでカーネルだけmakeとか。
>
> 2008-09-22 (月) の 21:41 +0900 に 橋本 佳己 さんは書きました:
> > SFTの橋本です。
> >
> > [make menuconfig]でEABIを有効にして
> > makeを実行したところ下記のようなエラーが発生しました。
> > 対処方法がわかりませんので、何方かご教示願います。
> >
> > 【make menuconfig設定内容】
> > KernelFeatures--->
> > [*] Use the ARM EABI to compile the kernel [*] Allow old ABI
> > binaries to run with this kernel(EXPERIMENTAL)
> >
> > 【config.archの修正内容】
> > 過去のメーリングリストに、下記の対応が必要とありましたので
> > ・atmark-dist/config.arch
> > 先頭に
> > CPUCFLAGS := -mabi=aapcs-linux
> > という行を追加。
> > を追加しました。
> >
> > 【エラー内容】
> > # 変数セットのハッシュテーブルの状態:
> > # Load=897/1024=88%, Rehash=0, Collisions=1242/907=137%
> >
> > # Pattern-specific Variable Values
> >
> > # パターン指定変数の値なし.
> >
> > # ディレクトリ
> >
> >
> > # 0 個のファイル, 0 個の適用不能ファイル名 (0 個のディレクトリ内).
> >
> > # 暗黙ルール
> >
> > # 暗黙ルールなし.
> >
> > # ファイル
> >
> > # ファイルハッシュテーブルの状態:
> > # Load=0/1024=0%, Rehash=0, Collisions=0/0=0% # VPATH 探索パス
> >
> > # `vpath' 探索パスはありません
> >
> > # 一般の (`VPATH' 変数) 探索パスなし.
> >
> > # # of strings in strcache: 0
> > # # of strcache buffers: 0
> > # strcache size: total = 0 / max = 0 / min = 4096 / avg = 0
> # strcache
> > free: total = 0 / max = 0 / min = 4096 / avg = 0
> >
> > # Make データベース終了 Mon Sep 22 21:23:52 2008
> >
> > make[2]: *** [build] エラー 2
> > make[2]: ディレクトリ
> >
> `/home/atmark/Desktop/source/dist/atmark-dist-20080617/user/openssh'
> > から出ます
> > make[1]: *** [all] エラー 2
> > make[1]: ディレクトリ
> > `/home/atmark/Desktop/source/dist/atmark-dist-20080617/user' から出ます
> > make: *** [subdirs] エラー 1
> >
> > 以上、よろしくお願い致します。
> >
> >
> > _______________________________________________
> > armadillo mailing list
> > email@hidden
> > http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
> --
> Takenoshita Koyo
>
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>
armadillo メーリングリストの案内