- - PR -
syslog-ngのインストールについて。(Solaris9)
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2006-05-12 10:15
こんにちは。何時も拝見させて頂いております。
Linuxの会議室なのですがSolaris9についてご質問させてください。 OSはSolaris9(SunFire V120にインストール)です。 syslog-ngのインストールを行っています。 syslog-ngのVerはsyslog-ng-1.9.10、libolは0.3.0です。 各々解凍しsyslog-ngをconfigureを行うと checking pkg-config is at least version 0.9.0... yes checking for GLIB... yes checking for EVTLOG... Package eventlog was not found in the pkg-config search path. Perhaps you should add the directory containing `eventlog.pc' to the PKG_CONFIG_PATH environment variable No package 'eventlog' found configure: error: Package requirements (eventlog) were not met. Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively you may set the EVTLOG_CFLAGS and EVTLOG_LIBS environment variables to avoid the need to call pkg-config. See the pkg-config man page for と表示され止ってしまいます。 eventlog.pcが無いと言う事だと思うのですが。。。 何をインストールすればeventlog.pcが生成されるのでしょうか? ちなみにeventlog-0.1.2をインストールしましたが結果は同じでした。 宜しくお願い致します。 |
|
投稿日時: 2006-05-15 19:10
configure のオプションはどの様に指定していますか?
当方の環境(SunFire V210 + Solaris9)では以下のconfigureでコンパイルしています。 $ ./configure --enable-sun-streams --enable-sun-door |
|
投稿日時: 2006-05-16 09:24
かつさんありがとうございます。
configureのオプションですが何も指定せず行いました。 お教え頂きましたconfigureのオプションを実際に行ってみましたが 結果は同じでした。 Solaris9のインストールの際に問題があるのでしょうか? 確かOEMインストールを行った記憶があります。 |
|
投稿日時: 2006-05-16 11:30
ああ、ごめんなさい。syslog-ng-1.6 と勘違いしていました。
syslog-ng-1.9 の場合、eventlog と言うソフトが必要です。 eventlog は syslog-ng-1.9.10 のサイトにありますので、それをインストールしてください。 http://www.balabit.com/downloads/syslog-ng/1.9/src/eventlog-0.2.4.tar.gz これを入れると、/usr/local/lib/pkgconfig/eventlog.pc が作成され、syslog-ng の configure が通ると思います。 ただ、GLIB の static link ファイルが無いとエラーになりますので、 $ ./configure --enable-dynamic-linking とした方が良いかも。 と、思ったらこのままだと make が通らないですね。 main.o で nanosleep が未定義ってエラーになります。 http://docs.sun.com/app/docs/doc/816-0216/6m6ngupi6?l=ja&a=view を見ると nanosleep は main.c で #include <time.h> して、rt ライブラリが必要との事。 main.c で time.h は include 済みなので、後は LDFLAGS="-lrt" を設定して、上記 configure を実行すれば make が通りました。 |
|
投稿日時: 2006-05-16 13:41
かつさん。再々ありがとうございます。
eventlog-0.2.4をインストールし $ ./configure --enable-dynamic-linking を行うとすんなり通りました。 ただmakeですがご指導頂きましたLDFLAGS="-lrt"をenvしmakeしましたが失敗しました。 G_UNLIKELY libsyslog-ng.a(filter.o) G_LIKELY libsyslog-ng.a(filter.o) nanosleep main.o ld: 重大なエラー: シンボル参照エラー。syslog-ng に書き込まれる出力はありません。 と出ました。それと気になっているのですがmakeの最中に 「キャストによってポインタから異なるサイズの整数となります」と表示されるのですが。。。 何度も申し訳ありません。 |
|
投稿日時: 2006-05-16 15:21
う〜ん、当方では出ないエラーです。
G_LIKELY/G_UNLIKELY は filter.c で利用されていますね。Glibのマクロとの事ですが、Glibのバージョンとどうやってインストールしてますか? 私は SunSITEからパッケージをダウンロードして入れています。 $ pkginfo -l SMCglib PKGINST: SMCglib NAME: glib CATEGORY: application ARCH: sparc VERSION: 2.2.3 その下の nanosleep は私の方で出たエラーと同じ気がしますが、-lrt 付ければ問題無いはず。 それとエラーが日本語だと分かり難いのと、ネットでの検索でもヒットし難いので、出来れば英語でやってみてください。(LANG=C で) |
|
投稿日時: 2006-05-16 16:28
かつさん。度々申し訳ありません。
Glibですが同じくパッケージをインストールしています。 (glib-2.2.3-sol9-sparc-local.gzです) 確認ですが $ export LDFLAGS="-lrt" で間違いないでしょうか? |
|
投稿日時: 2006-05-16 17:16
どんな方法でも良いと思いますが、私は以下でやっています。
$ LDFLAGS="-lrt" ./configure --enable-dynamic-linking 出来上がった Makefile を見て、LDFLAGS が設定されていれば問題無いと思います。 $ grep LDFLAGS Makefile LDFLAGS = -lrt make 時のエラーはどのコマンド実行中に出ていましたか? 私の場合は、最後の syslog-ng ファイルを作成するところです。 gcc -g -O2 -Wall -g -o syslog-ng main.o libsyslog-ng.a -lpthread -lnsl -lsocket -ldoor -lfl -L/usr/local/lib -lglib-2.0 -liconv -lm -L/usr/local/lib -levtlog の実行結果が Undefined symbol エラーになっていました。 これがうまく行った時には以下の様になっていました。(-lrt が付いている) gcc -g -O2 -Wall -g -lrt -o syslog-ng main.o libsyslog-ng.a -lpthread -lnsl -lsocket -ldoor -lfl -L/usr/local/lib -lglib-2.0 -liconv -lm -L/usr/local/lib -levtlog |
