tig.rb と言うtwitter とircのgatewayを使っているのだけれど、バージョンアップしたらしいので svn up してみても何も起きない。
作者さんのページtig.rb (twitter irc gareway) - 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。 - subtechを見ても、しばらく意味が理解できなかったのだけれど、どうもlowreal.netからcodereposに移動して、その後githubに移動したらしい。私はcodereposを見ていたので古いままだったようだ。
さっそくgithubから git clone して、tig.rbとwig.rb(wassr と irc の gateway)を起動してみるが、tig.rbの方がopensslのエラーでうまく動かない。
otsuneさんのつぶやきを見ていたので、早速 ports の security/ca_root_nss を更新してみたが、エラーは止まらない。
apache の SNIのためにportsから openssl を入れていたのが悪いのかと思って、portsのopensslを削除してみた(FreeBSD8になったときに、openssl 0.9.8kになったのでSNI対応になったため、portsの0.9.8lは削除しても良くなった)がやはり変わらず。 ports/security/ca_root_nss の Makefile を読んで見ると、/etc/ssl/cert.pem にリンクをはるなんてオプションがあるのを発見したので、手動で/usr/local/share/certs/ca-root-nss.crt からリンクを張ってみたら無事にtig.rbが起動した。
本来の手順としては、ports/security/ca_root_nss で make config して、ETCSYMLINK にチェックを入れてやれば良いんだと思う。
しかし、/etc/ssl には元々のcert.pem は存在していなかったんだけど、ここにない場合(OSの標準の状態)はどこのファイルを見るんだろう?ひょっとしてOSの方をmake world すれば良かったんだろうか?
portsのopensslを削除した関係で、依存関係があったものをすべてコンパイルし直したので、ついでにportauditに警告されていたpostgresqlもバージョンアップすることに。
今まで入っていたのが8.4.0で、最新が8.4.2。3番目の数字が変わる分には、DBの再構築(dump/restore)は必要ないはずなので、そのままportupgradeした。
で、postgresqlを起動しようとしたら、かなり待たされた後に起動に失敗したと言われる。
logを見ると、
変えた覚えないんだけどな~と思いながら、ports/databases/postgresql84-server で make config すると、果たして INTDATE - Builds with 64-bit date/time type と言うオプションがあったので有効にしてやったら無事に起動するようになった。
このオプションが有効じゃない場合、timestampは何が使われるんだろうか?
作者さんのページtig.rb (twitter irc gareway) - 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。 - subtechを見ても、しばらく意味が理解できなかったのだけれど、どうもlowreal.netからcodereposに移動して、その後githubに移動したらしい。私はcodereposを見ていたので古いままだったようだ。
さっそくgithubから git clone して、tig.rbとwig.rb(wassr と irc の gateway)を起動してみるが、tig.rbの方がopensslのエラーでうまく動かない。
otsuneさんのつぶやきを見ていたので、早速 ports の security/ca_root_nss を更新してみたが、エラーは止まらない。
apache の SNIのためにportsから openssl を入れていたのが悪いのかと思って、portsのopensslを削除してみた(FreeBSD8になったときに、openssl 0.9.8kになったのでSNI対応になったため、portsの0.9.8lは削除しても良くなった)がやはり変わらず。 ports/security/ca_root_nss の Makefile を読んで見ると、/etc/ssl/cert.pem にリンクをはるなんてオプションがあるのを発見したので、手動で/usr/local/share/certs/ca-root-nss.crt からリンクを張ってみたら無事にtig.rbが起動した。
本来の手順としては、ports/security/ca_root_nss で make config して、ETCSYMLINK にチェックを入れてやれば良いんだと思う。
しかし、/etc/ssl には元々のcert.pem は存在していなかったんだけど、ここにない場合(OSの標準の状態)はどこのファイルを見るんだろう?ひょっとしてOSの方をmake world すれば良かったんだろうか?
portsのopensslを削除した関係で、依存関係があったものをすべてコンパイルし直したので、ついでにportauditに警告されていたpostgresqlもバージョンアップすることに。
今まで入っていたのが8.4.0で、最新が8.4.2。3番目の数字が変わる分には、DBの再構築(dump/restore)は必要ないはずなので、そのままportupgradeした。
で、postgresqlを起動しようとしたら、かなり待たされた後に起動に失敗したと言われる。
logを見ると、
FATAL: database files are incompatible with server DETAIL: The database cluster was initialized with HAVE_INT64_TIMESTAMP but the server was compiled without HAVE_INT64_TIMESTAMP. HINT: It looks like you need to recompile or initdb.なんて出てる。どうも、DBはINT64のTIMESTAMPが使えるようになってるけど、serverはそう言うオプションでコンパイルされていないらしい。
変えた覚えないんだけどな~と思いながら、ports/databases/postgresql84-server で make config すると、果たして INTDATE - Builds with 64-bit date/time type と言うオプションがあったので有効にしてやったら無事に起動するようになった。
このオプションが有効じゃない場合、timestampは何が使われるんだろうか?
カテゴリ
FreeBSDトラックバック(0)
このブログ記事を参照しているブログ一覧: 今日のはまった
このブログ記事に対するトラックバックURL: https://www.wizard-limit.net/cgi-bin/mt/mt-tb.cgi/2271
コメントする