@n_chicken6

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

GCC環境導入時のコンパイルエラーについて undefined reference to `java_keyword'

自作OS開発環境構築に向けてUSB Linuxでのクロスコンパイル環境の導入をしています。
binutilsとgccのビルドインストール時にエラーが発生したため、その要因と解決策を教えていただきたいです。
本手順は書籍「12ステップで作る 組込みOS自作入門」坂井弘亮氏著を参考にしています。

環境
 OS: USBブートUbuntu20.04
 
インストール対象
 ・binutils-2.19.1tar.gz
 ・gcc-3.4.6.tar.gz

状況
 binutilsのインストールが完了
 端末にてgccビルド作業中にエラー発生
 $ cd gcc-3.4.6
 $ ./configure --target=h8300-elf --disable-nls --disable-threads --disable-shared --enable-language=c
 $ make
  〈実行中にエラー発生停止>

エラー表示
gcc -g -O2 -DIN_GCC -DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -DHAVE_CONFIG_H -o jc1
java/parse.o java/class.o java/decl.o java/expr.o java/constants.o java/lang.o java/typeck.o java/except.o java/verify.o java/zextract.o java/jcf-io.o java/win32-host.o java/jcf-parse.o java/mangle.o java/mangle_name.o java/builtins.o java/resource.o java/jcf-write.o java/buffer.o java/check-init.o java/jcf-depend.o java/jcf-path.o java/xref.o java/boehm.o java/java-tree-inline.o mkdeps.o main.o libbackend.a -L../zlib -lz ../libiberty/libiberty.a
/usr/bin/ld: java/parse.o: in function do_java_lex': /home/naoto/cross_compiler/gcc-3.4.6/gcc/java/lex.c:1612: undefined reference to java_keyword'
collect2: error: ld returned 1 exit status
make[1]: *** [java/Make-lang.in:128: jc1] エラー 1
make[1]: ディレクトリ '/home/naoto/cross_compiler/gcc-3.4.6/gcc' から出ます
make: *** [Makefile:23373: all-gcc] エラー 2

0 likes

1Answer

gcc 3.4.6 は2006年のリリースです。また、参考にされている書籍も古いものなので書かれている通りに操作してもUbuntu20.04では同じ結果は得られないかもしれませんね。

出ているエラーはjava関連の関数が見つからないようですから

A. configureのヘルプを見てjava関連のビルドを止めるオプションを探す
B. 逆に --enable-language=c,java としてjava関連を明示的にビルドする

のどちらかなという感じがします。

1Like

Your answer might help someone💌