2015年5月3日日曜日

VirtualBOXにFreeBSD10.0をインストール

Xまわり
VirtualBOXのウィンドウサイズの変更に追随して、FreeBSDonVirtualBOXのXのrootウィンドウサイズも自動的に変更されるようにしたい。でも、まだできていない。。。。
下記のページを参考にすすめました。
http://qiita.com/in_silico_/items/2ab6c37c14e777e6f48f
https://wiki.freebsd.org/VirtualBox

  • ベースとして、「pkg install virtualbox-ose-additions」で大まかにX周りのパッケージがインストールされるので、お任せ
  • 別途追加したのは以下
    • mousedの起動
    • pkg install xinit
    • pkg install xf86-input-keyboard
    • pkg install xf86-input-mouse
    • pkg install dbus
    • pkg install hal

(参考:試行錯誤メモ)
  • xorg.confのInputDeviceセクションが有効になるように、ServerLayout もしくは、 ServerFlags セクションに「Option "AutoAddDevices" "false"」を追加。(引用 https://www.freebsd.org/doc/ja_JP.eucJP/books/handbook/x-config.html)。でもこれをするとXを起動したときにマウスが使えなくなってしまう。
  • HandBookのコメントにあわせて、「/usr/local/etc/hal/fdi/policy/90-vboxguest.fdi」を作成してみたが、関係なさそう。
  • Xの起動ログを見ると/dev/dri/display0が無いとエラーになっているので、/dev/driの作り方をかなり検索しまわった。結果としてvirtualbox-ose-additionsについてくるvboxvideo.koというカーネルモジュールを組み込めばOK。ただし、標準のvirtualbox-ose-additionsではvboxvideo.koが作られない。virtualbox-ose-additionsの構築オプションでOPENGLを有効にしてportsをmakeすればいける。エラーは出なくなるが、特に何かがよくなるわけでは無かった。。。。

2013年12月7日土曜日

ubuntu13へのアップデートがうまくいかず。。。

ubuntu13へのアップデートの途中でストールした。そのせいかOSが起動せず。kernelがうまくインストールされていなかったと思われる。 シングルユーザモード(?)で起動するので、困っていた。
結局以下で復活
% mount -o rw,remount /
% dpkg --configure -a % apt-get -f install

 このあたりが参考になる。 https://forums.ubuntulinux.jp/viewtopic.php?id=8874

2011年9月19日月曜日

rails3.1 on FreeBSD

rails3.1をインストールしてみるが、「Could not find a JavaScript runtime.」と出てしまう。 解決さくとして、Gemfileに「gem 'execjs'; gem 'therubyracer'」を入れて、bundle installすれば良いとあるが、 FreeBSDの場合 TheRubyRacerのインストールに失敗する。
原因は3つ
  • libv8のインストールに失敗している
    gem install therubyracerでlibv8が一緒にインストールされる。libv8は特にエラー無くインストールが終了するので、正常かと思ってしまうのだが、どうもインストールに失敗しているようす。以下のエラーが出る。
    c++ -shared -o v8.so v8_v8.o v8_callbacks.o v8_weakref.o v8_date.o v8_context.o v8_handle.o v8_external.o rr.o v8_function.o v8_exception.o v8_try_catch.o v8_string.o v8.o v8_value.o v8_message.o v8_array.o v8_debug.o v8_locker.o v8_template.o v8_script.o v8_object.o -L/usr/home/seike/rails/r3.1.test/vendor/bundle/gems/libv8-3.3.10.2/lib/libv8/build/v8 -Wl,-R/usr/home/seike/rails/r3.1.test/vendor/bundle/gems/libv8-3.3.10.2/lib/libv8/build/v8 -L. -L/usr/local/lib -Wl,-R/usr/local/lib -L.  -rpath=/usr/lib:/usr/local/lib -pthread -rdynamic -Wl,-soname,v8.so   -Wl,-R -Wl,/usr/local/lib -L/usr/local/lib -lruby18 -lpthread  -lcrypt -lm -L/usr/lib  -rpath=/usr/lib:/usr/local/lib -pthread  -lv8
    /usr/bin/ld: cannot find -lv8
    *** Error code 1
    
    makeとgmakeの使い分けが出来ていないので、発生していると思われる。 libv8のディレクトリに移動して、gmakeと打ちましょう。
    % cd  vendor/bundle/gems/libv8-3.3.10.2/lib/libv8
    % gmake
    
    libv8のコンパイルが始まります。
  • execinfo.hが無いというエラーがでて、FreeBSDでは「libexecinfo」をインストールしろというtipsもある。
    しかしながら、単純にインストールしても結局エラーになる。なので、bundle installを実行するときに「--with-opt-dir=/usr/local」が付与されるように、 以下の設定をしましょう。
    % vi ~/.bundle/config
    BUNDLE_BUILD__THERUBYRACER: --with-opt-include=/usr/local/include
    
  • 実は上の「--with-opt-dir」をしても、作成されるv8.soが不十分。それはlibexecinfoがリンクされていないから。 そのためrake等を実行した場合エラーになる。libexecinfoをリンクされるように、無理矢理Makefileを修正して、v8.soを再作成する。
    % cd vendor/bundle/ruby/1.8/gems/therubyracer-0.9.4/ext/v8 
    % vi Makefile
        LIBSの最後に「-lexeinfo」を追加。
        LIBS = $(LIBRUBYARG_SHARED) -lpthread  -lcrypt -lm -L/usr/lib  -rpath=/usr/lib:/usr/local/lib -pthread  -lv8 -lexecinfo
    %  rm v8.so
    % make <- v8.soが再作成される。
    % cp v8.so ../../lib/
    
とっても疲れましたー。libv8はエラーも何も出ないんだから、原因わからんつーの。 そもそもextconf.rbの書き方が十分じゃないんだと思うんだよね。どう直せば良いのか分らないんだけど。
bundlerにて、gemインストール時に設定するオプションの付けかた。

mysqlのビルド時に--with-mysql-configを自動的に設定するやりかたです。
% bundle config build.mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config


マニュアル(http://gembundler.com/rationale.html)に書いてありました。

2011年5月24日火曜日

benchmark

なんかよさげなベンチマークソフト。

SysBench 

2011年3月17日木曜日

gemでバージョンエラー

gem update で全てのgemをバージョンアップ & gem cleanupで古い物を全削除した。その際に、依存関係のエラーが出たような気がしたが、新しいものをインストールするので問題無しと無視しました。結果エラーになってしまいました。

% rails new --help
/usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:861:in `report_activate_error': RubyGem version error: builder(3.0.0 not ~> 2.1.2) (Gem::LoadError)

ありゃ。
「~>2.1.2」は「2.1.xで、xが2以上の物」という意味らしい。 なんで、3.0.0でもNG
errorになった指定の通りバージョンを指定してgem installで良いらしい。

% gem install builder --version '~> 2.1.2'

2011年2月23日水曜日

Androidを購入

Androidからアップしてみる

2010年5月4日火曜日

VirtualBoxをコマンドラインで操作する

存在するVMの表示。
VBoxManage list vms
起動しているVMの表示
VBoxManage list runningvms

VMの起動
VBoxManage startvm

GUI無しの場合のVMの起動
VBoxManage startvm --type headless

VMを起動してHostサーバからSSHをしようとした所、接続出来ないことが判った。というか知らなんだ。
ゲストOSからはloopbackネットで接続するみたい。ゲストからホストにSSH接続したら、そうなっていた。
それでは困るので、マニュアルを見ていたら、以下でポートフォワードが出来るとそのまま載っていた。

VBoxManage setextradata "Linux Guest"
"VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol" TCP
VBoxManage setextradata "Linux Guest"
"VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort" 22
VBoxManage setextradata "Linux Guest"
"VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort" 2222