Mavericks, Xcode5, Boxen

タイトルがうまくまとまらない
久しぶりにscript/boxenをうってみたらこんなエラー

Fetching: json-1.8.1.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing json:
    ERROR: Failed to build gem native extension.

    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/include/ruby.h

Gem files will remain installed in /Library/Ruby/Gems/2.0.0/gems/json-1.8.1 for inspection.
Results logged to /Library/Ruby/Gems/2.0.0/gems/json-1.8.1/ext/json/ext/generator/gem_make.out

1. XCodeのdevelopment commandline toolsのインストール&agreementが必要 (らしい)

$ sudo xcodebuild -license
........
By typing 'agree' you are agreeing to the terms of the software license agreements. Type 'print' to print them or anything else to cancel, [agree, print, cancel] agree

2. Rubyのバージョンによる問題らしい。configにパッチを当てる

curl https://gist.githubusercontent.com/Paulche/9713531/raw/1e57fbb440d36ca5607d1739cc6151f373b234b6/gistfile1.txt | sudo patch /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin13/rbconfig.rb

3. script/boxen
成功!

Advertisements

手動で Google Nexus (SC-04D) に Android4.2.2とroot化

https://developers.google.com/android/nexus/images#yakjujdq39 から yakju-jdq39-factory-b2ebb5f3.tgz ダウンロード

$ cd yakju-jdq39
$ adb reboot bootloader
$ ./flash-all.sh

これでAndroid 4.2.2バージョンアップ完了!
LionからMountain LionにアップグレードしたMacは原因わからないが、

ERROR: Unable to create a plug-in (e00002be)
< waiting for device >
ERROR: Unable to create a plug-in (e00002be)

上のようなエラーが発生。Google USB Driverが怪しいみたいけど、解決方法はわからず。

次はrootを取る。
http://clockworkmod.com/rommanager から recovery-clockwork-6.0.2.3-maguro.img ダウンロード
http://download.chainfire.eu/312/ から UPDATE-SuperSU-v1.10.zipをダウンロード

$ adb push UPDATE-SuperSU-v1.10.zip /sdcard/
$ adb reboot bootloader
$ fastboot boot recovery-clockwork-6.0.2.3-maguro.img ← これがないとRecovery Modeにした時壊れたDroid君が出る

UPDATE-SuperSU-v1.10.zipを選択してインストール!
これでroot化完了。

確認してみる。

$ adb shell
shell@android:/ $ su
root@android:/ # 

Screenshot_2013-02-26-21-28-31

追記:4.2.2にしてから adb で error: device offline 
Android SDKを最新にする。

$ adb version
Android Debug Bridge version 1.0.31

OS X (Lion) に Hadoop をインストールしてみる

OS X (Lion) に Hadoop 0.21.0 インストールメモ

$ cd dl

$ wget http://ftp.jaist.ac.jp/pub/apache//hadoop/core/hadoop-0.21.0/hadoop-0.21.0.tar.gz

$ tar zxvf hadoop-0.21.0.tar.gz 

$ sudo mv hadoop-0.21.0 /usr/local/

hadoopユーザ作成

$ sudo dscl . -create /Groups/_hadoop PrimaryGroupID 1000
$ sudo dscl . -append /Groups/_hadoop RecordName hadoop

$ sudo dscl . -create /Users/_hadoop UniqueID 1000
$ sudo dscl . -create /Users/_hadoop RealName "Hadoop Admin"
$ sudo dscl . -create /Users/_hadoop PrimaryGroupID 1000
$ sudo dscl . -create /Users/_hadoop NFSHomeDirectory /var/lib/hadoop
$ sudo dscl . -create /Users/_hadoop Password "*"
$ sudo dscl . -append /Users/_hadoop RecordName hadoop

ssh設定

$ sudo su - hadoop
$ ssh-keygen
$ cd .ssh
$ cat id_rsa.pub >> authorized_keys

Hadoop設定

$ sudo vi conf/hadoop-env.sh 
export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home

confファイル設定 /user/local/hadoop/conf/

core-site.xml 
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

  <property>
    <name>hadoop.tmp.dir</name>
    <value>/var/lib/hadoop</value>
  </property>

  <property>
    <name>fs.default.name</name>
    <value>hdfs://localhost:9000</value>
  </property>

</configuration>

hdfs-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>

</configuration>

mapred-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

  <property>
    <name>mapred.job.tracker</name>
    <value>localhost:9001</value>
  </property>

</configuration>

logsディレクトリ作成

$ sudo mkdir /usr/local/hadoop/logs
$ sudo chown hadoop:hadoop /usr/local/hadoop/logs

NameNodeのフォーマット

$ sudo su - hadoop
$ /usr/local/hadoop/bin/hadoop namenode -format

起動

$ sudo su - hadoop
$ /usr/local/hadoop/bin/start-all.sh

ssh拒否エラーが出た時は、コントロールパネルからリモートログインを許可

http://localhost:50070
アクセスしてみる。

Mac OSX ( Lion ) にRabbitMQをインストールしてみる。

Mac Portでインストール方法:

	
$ sudo port install rabbitmq-server

・・・・
--->  Computing dependencies for rabbitmq-server
--->  Dependencies to be installed: erlang libxslt libxml2
--->  Building erlang
Error: Target org.macports.build returned: shell command failed (see log for details)
Error: Failed to install erlang
Log for erlang is at: 
Error: The following dependencies were not installed: erlang libxslt libxml2
Error: Status 1 encountered during processing.
To report a bug, see <http://guide.macports.org/#project.tickets>

エラーだ〜

erlangでエラーになったみたい。

erlang だけインストールしてみる。

	
$ sudo port install erlang
--->  Computing dependencies for erlang
--->  Building erlang
Error: Target org.macports.build returned: shell command failed (see log for details)
Error: Status 1 encountered during processing.
To report a bug, see <http://guide.macports.org/#project.tickets>
$ 

失敗。ググッてみたらLionのmacportでどうもおかしいみたい。
Portをやめてソースコードからmakeしてインストールしてみる。
http://www.erlang.org/download.html
Source Fileをダウンロードして解凍

	
$ tar zxvf otp_src_R14B04.tar.gz 
$ cd otp_src_R14B04
$ ./configure --enable-hipe
$ make
$ sudo make install
$ erl -version
Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 5.8.5
Dongri-Jin:otp_src_R14B04 jp61077$ 
$ which erl
/usr/local/bin/erl
$ 

sudo port install rabbitmq-server 再挑戦みたけど駄目だった。やっぱり、erlangはmacportでインストールしないと駄目っぽい

	
$ sudo port -f -v install erlang +odbc
....

$ erl -version
Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 5.8.5
$ which erl
/opt/local/bin/erl
$ 

成功したようだ。
再挑戦

	
$ sudo port clean rabbitmq-server
Password:
--->  Cleaning rabbitmq-server
$ sudo port install rabbitmq-server

--->  Creating launchd control script
###########################################################
# A startup item has been generated that will aid in
# starting rabbitmq-server with launchd. It is disabled
# by default. Execute the following command to start it,
# and to cause it to launch at startup:
#
# sudo port load rabbitmq-server
###########################################################
--->  Installing rabbitmq-server @2.6.1_0
--->  Activating rabbitmq-server @2.6.1_0
--->  Cleaning rabbitmq-server
$ 

成功!

サーバーを起動

	
$ sudo rabbitmq-server

Mac OSX ( Lion ) に RubyOnRails3.1 環境構築

Macは Snow Leopard から Lion にアップグレードしたやつ。
Railsは3.0.3インストール済み。(Mac ( Snow Leopard ) に RubyOnRails3 環境構築

今回のそれのバージョンアップである。

環境確認

$ rails -v
Rails 3.0.3
$ which rails
/opt/local/bin/rails
$ 

アップデート

$ sudo gem update rails
$ rails -v
Rails 3.1.1
$ 

Mac ( Snow Leopard ) に RubyOnRails3 環境構築 (MySQL編)

前回の続き 「Mac ( Snow Leopard ) に RubyOnRails3 環境構築」でMySQL編です。

1. MySQLインストール
Mac OS X に MySQL をインストール

2. database.xml

development:
  adapter: mysql2
  database: railsdev
  host: localhost
  username: dongrikim
  password: test
  encoding: utf8

3. Gemfile

gem 'mysql2'

4. bundle install

$ bundle install

5. libmysqlclient.18.dylib

$ sudo install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib /opt/local/lib/ruby1.9/gems/1.9.1/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle

rvm 使ってた場合:

$ sudo install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib /Users/dongri/.rvm/gems/ruby-1.9.3-p374/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle 

以上で、設定完了。

エラー編:
1. エラーその1

Gem files will remain installed in /Users/dongrikim/.bundler/tmp/98945/gems/mysql2-0.2.6 for inspection.
Results logged to /Users/dongrikim/.bundler/tmp/98945/gems/mysql2-0.2.6/ext/mysql2/gem_make.out
	from /opt/local/lib/ruby1.9/1.9.1/rubygems/installer.rb:486:in `block in build_extensions'
	from /opt/local/lib/ruby1.9/1.9.1/rubygems/installer.rb:446:in `each'
	from /opt/local/lib/ruby1.9/1.9.1/rubygems/installer.rb:446:in `build_extensions'
	from /opt/local/lib/ruby1.9/1.9.1/rubygems/installer.rb:198:in `install'
	from /opt/local/lib/ruby1.9/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/source.rb:96:in `install'
	from /opt/local/lib/ruby1.9/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/installer.rb:55:in `block in run'
	from /opt/local/lib/ruby1.9/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/spec_set.rb:12:in `block in each'
	from /opt/local/lib/ruby1.9/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/spec_set.rb:12:in `each'
	from /opt/local/lib/ruby1.9/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/spec_set.rb:12:in `each'
	from /opt/local/lib/ruby1.9/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/installer.rb:44:in `run'
	from /opt/local/lib/ruby1.9/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/installer.rb:8:in `install'
	from /opt/local/lib/ruby1.9/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/cli.rb:225:in `install'
	from /opt/local/lib/ruby1.9/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/vendor/thor/task.rb:22:in `run'
	from /opt/local/lib/ruby1.9/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task'
	from /opt/local/lib/ruby1.9/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/vendor/thor.rb:246:in `dispatch'
	from /opt/local/lib/ruby1.9/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/vendor/thor/base.rb:389:in `start'
	from /opt/local/lib/ruby1.9/gems/1.9.1/gems/bundler-1.0.12/bin/bundle:13:in `'
	from /opt/local/bin/bundle:19:in `load'
	from /opt/local/bin/bundle:19:in `'

解決方法「1. MySQLインストール」 を行う。

2. エラーその2

/opt/local/lib/ruby1.9/gems/1.9.1/gems/mysql2-0.2.6/lib/mysql2.rb:7:in `require': dlopen(/opt/local/lib/ruby1.9/gems/1.9.1/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.18.dylib (LoadError)
  Referenced from: /opt/local/lib/ruby1.9/gems/1.9.1/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle
  Reason: image not found - /opt/local/lib/ruby1.9/gems/1.9.1/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle
	from /opt/local/lib/ruby1.9/gems/1.9.1/gems/mysql2-0.2.6/lib/mysql2.rb:7:in `'
	from /opt/local/lib/ruby1.9/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/runtime.rb:68:in `require'
	from /opt/local/lib/ruby1.9/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/runtime.rb:68:in `block (2 levels) in require'
	from /opt/local/lib/ruby1.9/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/runtime.rb:66:in `each'
	from /opt/local/lib/ruby1.9/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/runtime.rb:66:in `block in require'
	from /opt/local/lib/ruby1.9/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/runtime.rb:55:in `each'
	from /opt/local/lib/ruby1.9/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/runtime.rb:55:in `require'
	from /opt/local/lib/ruby1.9/gems/1.9.1/gems/bundler-1.0.12/lib/bundler.rb:120:in `require'
	from /Users/dongrikim/Dropbox/Developer/Rails/dislike/config/application.rb:7:in `'
	from /opt/local/lib/ruby1.9/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands.rb:28:in `require'
	from /opt/local/lib/ruby1.9/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands.rb:28:in `block in '
	from /opt/local/lib/ruby1.9/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands.rb:27:in `tap'
	from /opt/local/lib/ruby1.9/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands.rb:27:in `'
	from script/rails:6:in `require'
	from script/rails:6:in `'

解決方法「5. libmysqlclient.18.dylib」を行う。

iPadも脱獄(Jailbreak)してみる

環境:Snow Leopard, iPad(4.2.1)

手順:
1. PwnageToolをダウンロード
http://dl.dropbox.com/u/358152/PwnageTool_4.2.dmg

2. PwnageTool.appを起動

3. Expert ModeとiPad AppTV 2Gを選択して次へ

4. Browse for IPSW… ダブルクリックしてipswファイルを探して選択する。
ipswファイル場所:ユーザ/ライブラリ/iTunes/iPad Software Updates/iPad1,1_4.2.1_8C148_Restore.ipsw

5. General 選択して次へ

6. 適当サイズで次へ

7. そのまま次へ

8. Cydia Installer チェックを付けて次へ

9. Buildを選択して次へ、ipswファイルの保存場所を指定。

10. Custom Restore ipsw Build開始

11.  ホームボタンと電源ボタンを同時に押す。(10秒間)

12.  ホームボタンを押したまま、電源ボタンを離す。(10秒間)

13.  DFU モードになる。

14. iTunes で復元処理を行う。optionsキー押しながら復元ボタン押す。
先ほどカスタムリストアipswファイル指定する。復元開始….

15. 脱獄成功

以上!