[Armadillo:03608] Re: thttpdにおけるCGIの使用について

Yukihiro Yokotani email@hidden
2008年 10月 29日 (水) 18:07:05 JST


横谷です

> 実際におこなった手順を、なるべく端折らないで書いていただけると、
> 情報が得やすいと思います。

了解いたしました。

<環境>
開発環境:ATDE2 v20071018
対象:Armadillo-240
Linux カーネル:v2.6.12.3-a9-15
atmark-dist:v20080617 (Armadillo-240.Baseのデフォルトのままのイメージを使用しています。)

<手順>
1. CGIのソースファイルの作成
以下のファイルを、「index.c」というファイル名で作成しました。
#include <stdio.h>

int main(void)
{
	printf("Content-type:text/html\n\n");	
	printf("<html><head></head><body>");
	printf("Hello!<br>");
	printf("</body></html>");

	return 0;
}

2. 開発PC上での動作確認
ATDE2上で下記のように実行すると、意図した通りに動作することを確認できました。
$ gcc -Wall -o index.cgi index.c
$ ./index.c
Content-type:text/html\n\n
<html><head></head><body>
Hello!<br>
</body></html>
$ rm index.cgi

3. クロスコンパイル
下記のコマンドでクロスコンパイルしました。
$ arm-linux-gnu-gcc -Wall -o index.cgi index.c

4. HTTPサーバの設定
HTTPサーバにはthttpdを使用し、設定ファイルはデフォルトのままです。

5. Armadillo上への配置
Armadillo-240の
/home/www-data/cgi-bin/index.cgiという場所にファイルを配置しました。

そのとき、下記コマンドにより、ファイルに実行権限をあたえました。
# chmod +x /home/www-data/cgi-bin/index.cgi
> 
6. ローカルでの動作確認
下記のコマンドのように、ローカルで実行すると、下記エラーが発生します。
/home/www-data/cgi-bin/index.cgi: /lib/libc.so.6: version 'GLIBC_2.0' not found
(required by /home/www-data/cgi-bin/index.cgi)
/home/www-data/cgi-bin/index.cgi: /lib/libgcc.so.1: version 'GLIBC_2.0' not found
(required by /home/www-data/cgi-bin/index.cgi)

7. httpd経由での動作
しかし、Webブラウザ(IE7)で表示すると、空白ページが表示されます。
指定したURLは「http://<armadillo-240のIPアドレス>/cgi-bin/index.cgi」です。

ページのソースを表示すると、以下のようになっています。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=shift_jis"></HEAD>
<BODY></BODY></HTML>
 
<期待した動作>
Webブラウザで「Hello!」と表示されることを期待していました。

<参考にした情報(過去ログ)>
http://lists.atmark-techno.com/pipermail/armadillo/2005-August/000422.html

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





armadillo メーリングリストの案内