(toppers-users 1300) Re: GNU開発環境の構築について

にしむら@にふてぃ KHF10445 @ nifty.ne.jp
2003年 12月 3日 (水) 15:03:03 JST


みなさんこんにちは
クロスコンパイラ作成のメモです。
この番号順に構築しましたのでソース変更したら
それ以降はその変更が有効になっています。
TOPPERS/JSPはまだコンパイルしていません。
参考になれば幸いです。

# ET2003 TOPPERSブースでは有意義なお話を伺えました。
# ありがとうございました。
にしむら@にふてぃ

windows2000
cygwin-1.5.5
binutils-2.14
gcc-core-3.3.2
newlib-1.11.0
insight-6.0(gdb-6.0を含んでいます)

(1)target=h8300-coff
binutils ok
gcc   ok
newlib  ok
insight  make error->ok

makeでエラー発生

gcc -c -g -O2 -Wall -Wconversion  -I"../../../insight-6.0/tcl/win/../generic
" -
"../../../insight-6.0/tcl/win" -mwin32  -DHAVE_NO_SEH=1 -DEXCEPTION_DISPOSIT
IO
=int   -DBUILD_tcl "../../../insight-6.0/tcl/win/../generic/tclCmdAH.c" -o
tclC
dAH.o
In file included from ../../../insight-6.0/tcl/win/tclWinPort.h:72,
     from ../../../insight-6.0/tcl/generic/tclPort.h:22,
     from ../../../insight-6.0/tcl/generic/tclCmdAH.c:18:
/usr/include/w32api/winsock2.h:95:2: warning: #warning "fd_set and
associated m
cros have been defined in sys/types.   This may cause runtime problems with
32 sockets"
../../../insight-6.0/tcl/generic/tclCmdAH.c: In function `Tcl_FileObjCmd':
../../../insight-6.0/tcl/generic/tclCmdAH.c:806: error: parse error before
nume
ic constant
../../../insight-6.0/tcl/generic/tclCmdAH.c:901: error: duplicate case value
../../../insight-6.0/tcl/generic/tclCmdAH.c:878: error: previously used here
../../../insight-6.0/tcl/generic/tclCmdAH.c:1374: warning: case value `0'
not i
 enumerated type `options'
../../../insight-6.0/tcl/generic/tclCmdAH.c:1374: warning: case value `1'
not i
 enumerated type `options'
../../../insight-6.0/tcl/generic/tclCmdAH.c:1374: warning: case value `2'
not i
 enumerated type `options'
../../../insight-6.0/tcl/generic/tclCmdAH.c:1374: warning: case value `3'
not i
 enumerated type `options'

途中略

../../../insight-6.0/tcl/generic/tclCmdAH.c:1374: warning: case value `29'
not
n enumerated type `options'
../../../insight-6.0/tcl/generic/tclCmdAH.c:1374: warning: case value `30'
not
n enumerated type `options'
../../../insight-6.0/tcl/generic/tclCmdAH.c:1374: warning: case value `31'
not
n enumerated type `options'
make[2]: *** [tclCmdAH.o] Error 1
make[2]: Leaving directory `/usr/local/cross/build-gdb/tcl/win'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/usr/local/cross/build-gdb/tcl'
make: *** [all-tcl] Error 2

ここを参考に
http://sources.redhat.com/ml/insight/2003-q4/msg00034.html
insight-6.0/tcl/generic/tclCmdAH.cの23行目あたりに下記を追加する。

#ifdef WIN32
#undef FILE_EXISTS
#endif

(2)target=h8300-elf
binutils ok
gcc   ok
newlib  ok
insight  ok

(3)target=arm-elf
binutils ok
gcc   ok
newlib  ok
insight  ok

(4)target=sh-elf
binutils ok
gcc   make install error->ok

make installでエラー発生

途中略

if [ -d /usr/local/sh-elf/lib/gcc-lib/sh-elf/3.3.2/ml/m2 ]; then true;
else mkdir /usr/local/sh-elf/lib/gcc-lib/sh-elf/3.3.2/ml/m2;
chmod a+rx /usr/local/sh-elf/lib/gcc-lib/sh-elf/3.3.2/ml/m2;
fi;
mkdir: cannot create directory
`/usr/local/sh-elf/lib/gcc-lib/sh-elf/3.3.2/ml/m2': No such file or
directory
chmod: getting attributes of
`/usr/local/sh-elf/lib/gcc-lib/sh-elf/3.3.2/ml/m2': No such file or
directory
make[2]: *** [install] Error 1
make[2]: Leaving directory `/usr/local/cross/build-gcc/gcc'
make[1]: *** [install-multilib] Error 2
make[1]: Leaving directory `/usr/local/cross/build-gcc/gcc'
make: *** [install-gcc] Error 2

ここを参考に
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13068
gcc-3.3.2/gcc/mklibgcc.inの463行目を変更する。

#    echo " if [ -d $ldir ]; then true; else mkdir $ldir; chmod a+rx $ldir;
fi;"
     echo " if [ -d $ldir ]; then true; else $mkinstalldirs $ldir; chmod
a+rx $ldir; fi;"

newlib  ok
insight  未

(5)target=sh-coff
binutils ok
gcc   ok
newlib  ok
insight  未