MIRACLE
メールサービス申込 ユーザー登録 パートナー情報
お問い合わせ FAQ サイトマップ
MIRACLE LINUXの特長 製品紹介 サービス案内 購入 サポート 技術フォーラム

プロフィール

日本発のリナックス企業、ミラクル・リナックスで奮闘する社員のブログです。

ミラクル関連リンク

採用情報

サイト検索

最近のトラックバック

2008年9月

  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        

« なんでも自作#3:毛毛虫再現計画 | メイン | 北京で花見 »

awk walking St.6 - xgawk -

Sakura_7bu 増上寺の桜前線を日々チェックしている tmorimoto です。今朝、境内をまわってみると7分咲でした。週末、暖かければ、一気に満開になるかもしれません。明日、通るのが楽しみです。

(写真と本文は一切、関係ありません)
リファレンス:
XMLgawk Home Page
日本 GNU AWK ユーザー会 (JGAUC)
OSC2008 Tokyo/Spring produced by JGAUC

Sakura_tower_3gawk の拡張を目的として、先行開発を行っているのが xgawk です。元々は XML 対応のための拡張を行っていたので xmlgawk という名称だったようです。おそらく、現在は eXtended の意味合いで xgawk に改名されたのだと思います。以下に詳細な説明があります。

gawk とは/What's gawk?

XML 対応の他にも、以下のような機能をサポートしています。

・MPFR(Multiple Precision
Floating-Point Reliable Library) による演算
・libpq による Postgresql へのアクセス
・GD ライブラリによるグラフィック処理

サンプルプログラムが上述リファレンスの JGAUC のページにあるので参考にしてください。


インストールについて、本家のホームページからソースをダウンロードしてきてコンパイルするのも容易ですが、RPM パッケージを作成してみましたので興味のある方はお試しください。(AXS3 用)
※ 本パッケージはサポート対象外ですのでご了承ください。

AX20 用のパッケージ作成にも挑戦して、一応作成はできたのですが、サンプルプログラムを実行してみると、うまく動作しませんでした。ビルド環境の他ライブラリのバージョン等に依存しているのかもしれません。

XML をパースすると、以下のエラーが出ました。(AXS3 用のバイナリは正常に動作します)

# xgawk -l xml -f sample.awk
xgawk: sample.awk:50: fatal: cannot create XML puller

2008/03/30:追記

hi_saito さんのアドバイスのおかげで、エラー原因が別の要因だと分かりました。せっかくなので ML40(AX20) 用もアップします(GD 機能は使えません)。どうぞ、お試しください。

Sakura_temple 桜景色もついでにアップ(^ ^;;

トラックバック

このページのトラックバックURL:
http://www.typepad.jp/t/trackback/4447/12189654

このページへのトラックバック一覧 awk walking St.6 - xgawk -:

コメント

日本 GNU AWK ユーザー会の斉藤です。
確かにライブラリのバージョンに依存しているところはあるのですが (MPFR まわり)、XML 関連では今のところ報告されていません。

まず、ビルド後の 'make check' が通るかどうかを試していただけないでしょうか?

あと、一部の OS (または環境) では configure で '--enable-static-extensions' を付けないとビルドできないこともあるようです。

斎藤さん、コメントありがとうございます。

昨日は make check がエラーになったので spec ファイルの記述から外していたのですが、ちゃんと見ると GD のテストでエラーになっていたようです。

======== Starting XML extension tests ========
These tests only work if the XML extension was successfully built.
These tests will use the dynamically loaded XML extension.
Notice that your system must have an XML parser (Expat) installed.
xmatch
xdocbook
xdeep2
xattr
xfujutf8
xotlsjis
xfujeucj
xload without BUILD_STATIC_EXTENSIONS
xincl
xuintmax
your environment supports only 32 bit integers
======== Done with XML extension tests ========
======== Starting GD extension tests ========
These tests only work if the GD extension was successfully built.
Notice that your system must have the GD graphics library installed.
xgdrect
gcc -o xgdfont.ok.exe xgdfont.ok.c -lgd `gdlib-config --libs`
/usr/bin/ld: cannot find -lXpm
collect2: ld returned 1 exit status
make[1]: *** [xgdfont.ok.exe] Error 1
make[1]: Leaving directory `/var/tmp/axbld.22226/rpm/BUILD/xgawk-3.1.6-20080101/test'
make: *** [check-recursive] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.37991 (%build)

そこで、以下のように spec ファイルを修正したところ、サンプルプログラムの実行に成功しましたo(^ ^)o

# diff -uNr xgawk-ax2.0.spec.orig xgawk-ax2.0.spec
--- xgawk-ax2.0.spec.orig 2008-03-30 10:10:10.000000000 +0900
+++ xgawk-ax2.0.spec 2008-03-30 10:13:49.000000000 +0900
@@ -25,11 +25,13 @@
%setup -q -n %{Builddir}

%build
-%configure
+%configure \
+ --enable-static-extensions \
+ --disable-gd
make
#make -C doc xmlgawk.ps
#(cd doc && gzip --best *.ps)
-#make check
+make check

%install
rm -rf %{buildroot}
@@ -66,8 +68,8 @@
%{_bindir}/*
%{_mandir}/man1/*
%{_infodir}/*.info*
-%{_libdir}/%{name}
-%{_libexecdir}/%{name}
+#%{_libdir}/%{name}
+#%{_libexecdir}/%{name}
%{_datadir}/%{name}

%changelog

しかしながら、今日、実行してみると、昨日、エラーになっていたバイナリでも正常に動作しました。サンプルのプログラムの中で、 "weather.xml" がダウンロードできていなかったようです、お手数をかけました(^ ^;;

コメントを投稿

会社情報 採用情報 個人情報保護方針 商標等取り扱い事項 English
Copyright(c)2000-2006 MIRACLE LINUX CORPORATION. All Rights Reserved.