Armadilloフォーラム

Armadillo-640 gdbインストールエラー

mato_developer

2019年7月8日 17時35分

お世話になっております、上園です。

Armadillo-640でのEclipse環境を構築しておりますが、
gdbのインストールエラーが発生している状況です。

解決方法をご存知の方がいらっしゃれば、ご教示をお願いします。

環境構築は、以下のブログを参考を行っています。

https://users.atmark-techno.com/blog/8700/3922
https://users.atmark-techno.com/comment/5506#comment-5506

gdbインストール時にmaikeまでは正常に実行されましたが、
「sudo make install」でインストールする際に以下のメッセージが表示され、
インストールエラーが発生します。
(メッセージのエラー部分のみ抽出しています)

----------------------------------------------------------------

/home/atmark/gdb-8.3/missing: 81: /home/atmark/gdb-8.3/missing: makeinfo: not found
WARNING: 'makeinfo' is missing on your system.
You should only need it if you modified a '.texi' file, or
any other file indirectly affecting the aspect of the manual.
You might want to install the Texinfo package:

The spurious makeinfo call might also be the consequence of
using a buggy 'make' (AIX, DU, IRIX), in which case you might
want to install GNU make:

Makefile:486: ターゲット 'gdb.info' のレシピで失敗しました
make[5]: *** [gdb.info] エラー 127
make[5]: ディレクトリ '/home/atmark/gdb-8.3/gdb/doc' から出ます
Makefile:1994: ターゲット 'subdir_do' のレシピで失敗しました
make[4]: *** [subdir_do] エラー 1
make[4]: ディレクトリ '/home/atmark/gdb-8.3/gdb' から出ます
Makefile:1752: ターゲット 'install-only' のレシピで失敗しました
make[3]: *** [install-only] エラー 2
make[3]: ディレクトリ '/home/atmark/gdb-8.3/gdb' から出ます
Makefile:1749: ターゲット 'install' のレシピで失敗しました
make[2]: *** [install] エラー 2
make[2]: ディレクトリ '/home/atmark/gdb-8.3/gdb' から出ます
Makefile:9155: ターゲット 'install-gdb' のレシピで失敗しました
make[1]: *** [install-gdb] エラー 2
make[1]: ディレクトリ '/home/atmark/gdb-8.3' から出ます
Makefile:2222: ターゲット 'install' のレシピで失敗しました
make: *** [install] エラー 2

----------------------------------------------------------------

開発環境は以下の通りです。

・ATDE

atmark7-dist-20190527.tar.gz (最新版)

・linuxカーネル(ATDE7)

Linux atde7 4.9.0-9-686-pae #1 SMP Debian 4.9.168-1+deb9u3 (2019-06-16) i686 GNU/Linux

・OpenJDK

openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b03-2~deb9u1-b03)
OpenJDK Server VM (build 25.212-b03, mixed mode)

(ATDE7にインストールされたもの)

・gdb

バージョン8.3(最新版gdbソース)

以上、よろしくお願いいたします。

コメント

佐藤です。

以下の通り、texinfoパッケージのインストールが必要かもしれません。

[atde]$ sudo apt-get install texinfo

mato_developer

2019年7月9日 8時30分

佐藤様

お世話になっております、上園です。
ご連絡いただきまして、ありがとうございます。

texinfoパッケージのインストールを実行し、再度gdbのmakeを実行したのですが、
makeでのエラーが発生しました。

エラー内容は以下の通りです。
なお、texinfoパッケージのインストール前はmakeエラーは発生していませんでした。

--------------------------------------------------------------------------------
configure: loading cache .././config.cache
checking build system type... (cached) i686-pc-linux-gnu
checking host system type... (cached) i686-pc-linux-gnu
checking target system type... (cached) arm-unknown-linux-gnueabihf
configure: creating ./config.status
config.status: creating Makefile
Configuring in ./gdb
configure: loading cache ./config.cache
configure: error: `MAKEINFO' has changed since the previous run:
configure: former value: `/home/atmark/gdb-8.3/missing makeinfo --split-size=5000000'
configure: current value: `makeinfo --split-size=5000000'
configure: error: in `/home/atmark/gdb-8.3/gdb':
configure: error: changes in the environment can compromise the build
configure: error: run `make distclean' and/or `rm ./config.cache' and start over
Makefile:9096: ターゲット 'configure-gdb' のレシピで失敗しました
make[1]: *** [configure-gdb] エラー 1
make[1]: ディレクトリ '/home/atmark/gdb-8.3' から出ます
Makefile:849: ターゲット 'all' のレシピで失敗しました
make: *** [all] エラー 2
--------------------------------------------------------------------------------

上記の内容からみて、サイズが肥大化したからと考えています。
不勉強なところもあるので内容が間違っていたら、ご指摘をお願いします。

ちなみに、make実行前のconfigureでは「--with-expat」の有り無しは両方実行しましたが、
make時のエラーは同じでした。

誠に恐れ入りますが、引き続きご教示をお願いいたします。

at_makoto.sato

2019年7月9日 9時18分

佐藤です。

すいません、最新版のgdbにしなければならない特別な理由ありますでしょうか。
特にないのであれば、apt-get でインストールされたほうが楽かと思います。

[atde]$ sudo apt-get install gdb

gdb-8.3 の make のエラーに関しましては、一度 gdb-8.3 ディレクトリを削除し、gdb-8.3.tar.gz の展開からやり直すとよいかと思います。

佐藤様

お世話になっております、上園です。

gdbですが、apt-getでインストールできました。
ご指摘いただきありがとうございます。

gdbのバージョンを最新にしたのは、ブログで掲載されていたgdbのバージョンが8.3で、
現状はこれが最新だったためです。
特にこのバージョンでなければダメ、ということはありません。

以上、よろしくお願いいたします。

中村です。

ちょっと気になったので、横から失礼します。

佐藤さん:
>> すいません、最新版のgdbにしなければならない特別な理由ありますでしょうか。
>> 特にないのであれば、apt-get でインストールされたほうが楽かと思います。
>> [atde]$ sudo apt-get install gdb

ATDE7には最初からgdbがインストールされていませんか?
https://download.atmark-techno.com/atde/atde7-i386-dpkg-list-20190527.t…

上園さん:
> gdbですが、apt-getでインストールできました。

最初の質問投稿で「Armadillo-640でのEclipse環境を構築」と
ありましたが、ATDE7で実行するEclipseで、Armadillo-640上で
動作しているプログラムのリモートデバッグでしょうか?
もしそうならば、
実行バイナリ名: arm-linux-gnueabihf-gdb
パッケージ名:gdb-arm-linux-gnueabihf
が必要なのでは?

外していたら、余計なことをごめんなさい、です。

--
なかむら

中村様

お世話になっております、上園です。

>最初の質問投稿で「Armadillo-640でのEclipse環境を構築」と
>ありましたが、ATDE7で実行するEclipseで、Armadillo-640上で
>動作しているプログラムのリモートデバッグでしょうか?

 ご指摘の通りです。

 440の他に640でも開発を行うことになったためです。

>ATDE7には最初からgdbがインストールされていませんか?
 
こちらは、当方がgdbがインストールされいることを確認してませんでした。
(確認せずに作業を進めてしまったためです)

ちなみに、インストール後にバージョンを確認したところ、
7.12-6なのでATDE7に入っているバージョンと同じものでした。

> 実行バイナリ名: arm-linux-gnueabihf-gdb
> パッケージ名:gdb-arm-linux-gnueabihf

 Eclipseからは、上記の実行バイナリ名でビルドできることは確認しています。

 なので、あとは640に対してリモートデバッグを行う、という状態になっています。

以上、よろしくお願いいたします。

中村です。

> >最初の質問投稿で「Armadillo-640でのEclipse環境を構築」と
> >ありましたが、ATDE7で実行するEclipseで、Armadillo-640上で
> >動作しているプログラムのリモートデバッグでしょうか?
>
>  ご指摘の通りです。

やはりそうでしたか。。。

> > 実行バイナリ名: arm-linux-gnueabihf-gdb
> > パッケージ名:gdb-arm-linux-gnueabihf
>
>  Eclipseからは、上記の実行バイナリ名でビルドできることは確認しています。

「ビルドできることは確認」というのは、
Eclipseでプロジェクトを作って、cross-GCCの設定をして、
(上のリモートデバッグの設定もして)
Armadillo-640用のプログラムをビルドできた、
ということですよね。
ビルドで使われるコンパイラはarm-linux-gnueabihf-gccで、
これはATDE7に入っているものを使っているはずです。

以前の別件投稿のATDE6のとき同様に、ATDE7用の(Debian/stretch用の)
arm-linux-gnueabihf-gdbのDebianパッケージは存在していないようです。

atmark@atde7:~$ apt-cache search gdb-arm-linux-gnueabihf
atmark@atde7:~$ <==== 何も表示されない

atmark@atde7:~$ apt-cache search arm-linux-gnueabihf | grep gdb
atmark@atde7:~$ <==== 何も表示されない

ATDE6同様に(すでに上園さんが試されて失敗しているようですが)、
ソースからビルドするしかないように思います。

// あとで時間ができたら、自分でも試してみようと思ってます

--
なかむら

中村です。

> ATDE6同様に(すでに上園さんが試されて失敗しているようですが)、
> ソースからビルドするしかないように思います。
>
> // あとで時間ができたら、自分でも試してみようと思ってます

試しました。
使用したATDE7はatde7-i386-20190527です。
// 先日別件(MQSオーディオ)で少し使いましたが、
// 今回の作業に関係する部分は、ほぼ、まっさらな状態です。

configureオプションの"--with-expat"は必要でした。
また、すでに情報が出ていますが、texinfoパッケージも必要です。

$ sudo apt-get install texinfo
$ sudo apt-get install libexpat1-dev
$ wget http://ftp.gnu.org/gnu/gdb/gdb-8.3.tar.gz
$ tar xvzf gdb-8.3.tar.gz
$ cd gdb-8.3
$ ./configure --target=arm-linux-gnueabihf --with-expat
$ make
$ sudo make install

$ ls -l /usr/local/bin
合計 79796
-rwxr-xr-x 1 root staff 75344584  7月  9 18:38 arm-linux-gnueabihf-gdb
-rwxr-xr-x 1 root staff     3270  7月  9 18:38 arm-linux-gnueabihf-gdb-add-index
-rwxr-xr-x 1 root staff  6360296  7月  9 18:38 arm-linux-gnueabihf-run

Eclipseではなくてコマンドラインで、ですが、
このarm-linux-gnueabihf-gdbを使って、
Armadillo-640で走らせたプログラムをATDE7から
リモートデバッグできることを確認できました。

--
なかむら

中村様

お世話になっております、上園です。

>configureオプションの"--with-expat"は必要でした。
>また、すでに情報が出ていますが、texinfoパッケージも必要です。

わざわざご確認いただきまして、誠にありがとうございます。

コマンドラインからの確認ができたので、後はEclipseの設定を行えば
リモートデバッグも可能と思います。

佐藤様、中村様ご教示いただきましてありがとうございました。