[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 メーリングリストの案内