Agentのクロスコンパイルについて

お世話になります。菅原と申します。

プラグコンピューターに、Zabbix-agentを入れて、監視をしたいと考えています。

しかしながら、ディスク容量が小さく、コンパイル等は別のマシンで行うクロスコンパイルを必須としています。

その際、指定したオプションは、
./configure --enable-agent --build=arm --host=i686 CC=コンパイラまでのパス
です。

上記を実行したのですが、
configure: error: cannot run test program while cross compiling
このようなエラーがでて止まってしまいます。

config.logを見たのですが、はき出されるログが多すぎてよく分かりませんでした。

参考になるところが見つからなかったので、
ほかに指定するべき項目や間違っている箇所を教えていただけないでしょうか?

---------------------------------
コンパイル環境
Windows上のVMにLubuntuをインストール

http://www.plugcomputer.org/downloads/plug-basic/
こちらの、Compilerの
Host SW Support Package For Linuxを解凍して、CCは**/gcc/bin/arm-none-linux-gnueabi-gccを指定

Zabbix version 1.8.10
----------------------------------

皆様、どうぞよろしくお願いいたします。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー kodai の写真

クロスコンパイルについては経験が乏しいためすぐにアドバイスできそうなことがありません。。。
エラーメッセージをGoogleで検索するといくつか参考になりそうな結果が出てきますが、
これらはすでに試されているのでしょうか?

http://www.google.com/search?client=safari&rls=en&q=cannot+run+test+prog...

ユーザー naoki_s の写真

ご返信ありがとうございます。

configureの中身の解析もしてみたのですが、いかんせん長く・・・
(シェルの知識も乏しく(汗))

太刀打ちできたら、方法のひとつとしてまとめたいですね。

ユーザー TNK の写真

クロスコンパイルで他のプラットフォームでの確認をしたことがあ
りませんが、コンパイルだけはできましたので、方法を書かせて頂
きます。

Zabbix 1.8.10の場合、configureの6835行目の

if test "$cross_compiling" = yes; then :



if test "$cross_compiling" = no; then :

に変更すれば、コンパイルはできるようになります。
ただし、このままではクロスコンパイルではない環境でエラーとな
りますので、正しい修正方法では無いと思います。

あくまでもクロスコンパイルをするためだけの対処方法として参考
にして頂ければと思います。

実際に動くかは物がないので確認できていません。
もしかしたら、configure時に「--enable-static」もつけた方が良
いかもしれません。

ご確認ください。

ユーザー naoki_s の写真

ご回答ありがとうございました。
実機にて動作が確認できました。

教えていただいたように、configureを変更し、
./configure --enable-agent --build=arm -host=i686 CC=~/LinuxHost/gcc/bin/arm-none-linux-gnueabi-gcc --enable-static
このように指定しました。

makeも無事通り、zabbix_agentdを生成できました。

メモ:その後の手順
scpでターゲットデバイスに転送し、/usr/local/sbin/ディレクトリに配置。
misc/conf/zabbix_agentd.conf をターゲットデバイスに転送し、/etc/zabbix/ディレクトリに配置後、諸設定を変更。
misc/init.d/debian/zabbix-agent をターゲットデバイスに転送し、/etc/init.d/ディレクトリに配置後、諸設定を変更。
ウェブ側の設定を行い、ターゲットデバイスのAgentを実行。

※zabbixのユーザー作成やPid、Logファイルの設定等は、ウェブページ等を参考にしました。

今後の参考になれば、幸いです。