HTTP 経由の操作にて、svn コマンドが失敗する

ソースコードからビルドしてみたけれど、svn コマンドだけ失敗する。 mod や svnadmin は、すべては試してないけれど、こちらは動作する。 失敗したときのコマンドは以下 $ svn co http://localhost:5555/svn-repos/abc svn: E170000: 'http://localhost:5555/svn-repos/abc' 用の URL スキームを認識できません 調べてみると、以下のようなことらしい Subversionでhttp(s)のURLスキームを認識しない問題を解決する。 - Lazy TechnologyのURLスキームを認識しない問題を解決する。 - Lazy Technology”) 今回初めて知ったのだけれど、neon は http や WebDAV 用のライブラリで、SSL や GSSAPI に対応しているみたい。 neon HTTP and WebDAV client library neon のパッケージをインストールする # yum install neon-devel 再度、configure からやり直してみる configure の出力内容をみていると、以下のようなメッセージが。 neon library が認識されるようになった。認識されなくても、configure が失敗するわけではないので、きちんと認識されたかどうかは確認しておいた方がいいかも。 $ ./configure --with-apxs ... configure: checking neon library checking for neon-config... /usr/bin/neon-config checking neon library version.

Read More

Mono ソースコードをビルドする

Linux 上で .NET を動かしてみたいということで、mono をインストールしてみた。 他にもいろいろとライブラリをインストールするようだけれど、既に導入済みなのか、単体でも動作した。 ただ、ビルドに時間がかかる。make だけで約20分かかる。 ソースコードをビルドする $ tar jxf mono-2.11.1.tar.bz2 $ cd mono-2.11.1 $ ./configure --prefix=$HOME/opt/mono-2.11.1 $ make $ make install mono の環境設定を行う ~/.bashrc export MONO_PREFIX=$HOME/opt/mono-2.11.1 export DYLD_LIBRARY_FALLBACK_PATH=$MONO_PREFIX/lib:$DYLD_LIBRARY_FALLBACK_PATH export LD_LIBRARY_PATH=$MONO_PREFIX/lib:$LD_LIBRARY_PATH PATH=$MONO_PREFIX/bin:$PATH $ . ~/.bashrc mono のバージョンを確認する $ mono --version Mono JIT compiler version 2.11.1 (tarball 2012年 6月 2日 土曜日 18:31:54 JST) Copyright (C) 2002-2012 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com TLS: __thread SIGSEGV: altstack Notifications: epoll Architecture: amd64 Disabled: none Misc: softdebug LLVM: supported, not enabled.

Read More

Apache モジュールを作る

テンプレートで生成したものを使うのみ。特に動作を変えたりはしない。 モジュール作りを始めるのなら、今回の場合なら mod_foo.c を編集すればいい。 前提 すべて自前ビルド * apr-1.4.6.tar.gz * apr-util-1.4.1.tar.gz * httpd-2.4.2.tar.gz 初期ファイルを生成する モジュール名は foo $ apxs -g -n foo Creating [DIR] foo Creating [FILE] foo/Makefile Creating [FILE] foo/modules.mk Creating [FILE] foo/mod_foo.c Creating [FILE] foo/.deps foo というディレクトリが作成されている。 $ ls foo モジュールをコンパイルする apxs コマンドを使用しているけれど、make コマンドでも大丈夫。 $ cd foo $ apxs -c mod_foo.c もしくは $ make モジュールをインストールする 作成したモジュールを Apache にインストールする。 コマンドの実行には、権限に注意する。 $ apxs -i mod_foo.c モジュールの設定を行う $ vi httpd.

Read More

ぼたん苑と根津神社

上野東照宮のぼたん苑と根津神社のつつじ祭りに行ってきました。OM-D EM-5 の初撮りをかねて。 その他の写真はこちら。 2012/04/28 ぼたん苑(上野東照宮)・文京つつじ祭り(根津神社) - a set on Flickr・文京つつじ祭り(根津神社) - a set on Flickr”)

Read More

C から Lua の関数をコールする

luaL_dofile() を実行すると、toplevel の処理は実行されます。 その後、foo に引数つきで呼び出すようにしています。実行後は、戻り値を取得しています。 sample.lua #include <stdio.h> #include <stdlib.h> #include "lua.h" #include "lualib.h" #include "lauxlib.h" int call_lua_function(lua_State *L); int main(int argc, char **argv) { lua_State *L; if (argc < 2) { fprintf(stderr, "usage: %s filename\n", argv[0]); return -1; } L = luaL_newstate(); luaL_openlibs(L); if (luaL_dofile(L, argv[1])) { fprintf(stderr, "Error: %s\n", lua_tostring(L, -1)); lua_close(L); return -1; } call_lua_function(L); lua_close(L); return 0; } int call_lua_function(lua_State *L) { lua_Integer retvalue; lua_getglobal(L, "foo"); lua_pushnumber(L, 11); // argv #1 lua_pushstring(L, "bar"); // argv #2 // arg = 2, return = 1 if (lua_pcall(L, 2, 1, 0) !

Read More