[Uclinux-h8-devel] uClibc-0.9.20のコンパイルエラー

Back to archive index

Akira TAKAMISAWA akira****@takam*****
2003年 8月 28日 (木) 16:53:15 JST


たかみさわと申します。
初めて投稿します。
長文になってしまい、大変申し訳ございませんが宜しくお願いします。

現在 AKI-H8/3069F にて uClinux を動作させてみようと思い
ソースより開発環境を構築している最中です。
しかし、uClibc の make で躓いておりまして、
ご指南いただきたくメール致しました。

まず以下を取得してきて、それぞれ必要なパッチを当てました。
-----------
binutils-2.14.tar.gz
gcc-3.3-core.tar.gz + gcc-3.3.diff
elf2flt-h8300.tar.gz(wikiより。パッチ適用済アーカイブ。)
newlib-1.11.0.tar.gz
uClinux-dist-20030522.tar.gz
  + uClinux-2.4.x
  + uClinux-dist-h8300h.diff.gz
  + blkdev-fix.diff
uClibc-0.9.20.tar.gz
-----------

次にbinutilsを下記のように入れました。
-----------
$ export UCPREFIX=/usr/local/uC
$ tar zxpvf binutils-2.14.tar.gz
$ cd binutils-2.14
$ mkdir objdir
$ cd objdir
$ ../configure --prefix=${UCPREFIX} --target=h8300-elf
$ make
# make install

次にGCCを下記のように入れました。
-----------
$ export PATH=${PATH}:${UCPREFIX}/bin
$ tar zxpvf gcc-3.3.tar.gz
$ tar zxpvf newlib-1.11.0.tar.gz
$ cd gcc-3.3
$ ln -s ../newlib-1.11.0/newlib .
$ patch -p1 < ../gcc-3.3.diff
$ mkdir objdir
$ cd objdir
$ ../configure --prefix=${UCPREFIX} --target=h8300-elf \
--with-newlib --enable-languages=c
$ make
# make install

gcc-3.3/ 以下に newlib-1.11.0/newlib の
シンボリックリンクを張っておくと
--with-headers オプションは必要ないと思い、
ここではこのオプションは付けていません。

ちなみにこの際、--enable-languages='c,c++'とすると
C++はサポートしていない旨のエラーでmakeできないので、
--enable-languages=c としてmakeしています。
これもおかしいとは思ったんですが。

次に elf2flt & flthdr を入れました。
-----------
$ BINUTILS_SRCDIR=(binutilsを展開したディレクトリ)

$ ./configure --prefix=${UCPREFIX} \
--target=h8300-elf \
--with-libbfd=${UCPREFIX}/lib \
--with-bfd-include-dir=${UCPREFIX}/include \
--with-binutils-include-dir=${BINUTILS_SRCDIR}/include
$ make
# make install

次に uClinux-dist のソースにパッチを当てました。
-----------
$ cvs -d:pserver:anony****@cvs*****:/var/cvs login
Logging in to :pserver:anony****@cvs*****:2401/var/cvs
CVS password:
$ cvs -z3 -d:pserver:anony****@cvs*****:/var/cvs co -P uClinux-2.4.x
$ mv uClinux-dist/linux-2.4.x uClinux-dist/linux-2.4.x-
$ mv uClinux-2.4.x uClinux-dist/linux-2.4
$ cd uClinux-dist
$ zcat ../uClinux-dist-h8300h.diff.gz | patch -p0
$ cd linux-2.4.x
$ patch -p0 < ../../blkdev-fix.diff

最後に uClibc-0.9.20 をコンパイルしようとして
途中でエラーを吐いて終了します。
-----------
$ vi Rules.mak
CROSS=h8300-elf-
$ make menuconfig
$ make
(中略)
make[2]: Entering directory `${TMPDIR}/uClibc-0.9.20/libc/inet'
h8300-elf-gcc  -Wall -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing  -Os    -mh -mint32 -fsigned-char 
-fno-builtin -nostdinc -D_LIBC -I../../include -I. -I/usr/local/uC/lib/gcc-lib/h8300-elf/3.3/include -DNDEBUG  
-DL_encodeh resolv.c -c -o encodeh.o
In file included from ../../include/asm/param.h:4,
                 from ../../include/linux/param.h:4,
                 from ../../include/sys/param.h:24,
                 from ../../include/resolv.h:55,
                 from resolv.c:73:
../../include/linux/config.h:4:28: linux/autoconf.h: No such file or directory
make[2]: *** [encodeh.o] Error 1
make[2]: Leaving directory `${TMPDIR}/uClibc-0.9.20/libc/inet'
make[1]: *** [_dir_inet] Error 2
make[1]: Leaving directory `${TMPDIR}/uClibc-0.9.20/libc'
make: *** [_dir_libc] エラー 2

config.h の内容は
-----------
#ifndef _LINUX_CONFIG_H
#define _LINUX_CONFIG_H

#include <linux/autoconf.h>

#endif
-----------
となっており、この autoconf.h が無いと怒られます。
どのような対処を取ったらよろしいのか
ご教授頂けますでしょうか。宜しくお願いいたいます。

なお、以下の構成でも同様のエラーが発生する事を
確認しております。
-----------
gcc-3.3.1-core.tar.gz + gcc-3.3.diff
uClibc-0.9.19.tar.gz

---
Akira TAKAMISAWA
akira****@takam*****



Uclinux-h8-devel メーリングリストの案内
Back to archive index