Info

Posts from the Mac OS X Category

タイトルがうまくまとまらない
久しぶりに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
成功!

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 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 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 ( 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」を行う。

環境: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. 脱獄成功

以上!

Rails3インストールしたのでscaffoldを使ってみる。

$ rails new blog
      create  
      create  README
      create  Rakefile
      create  config.ru
      create  .gitignore
....
      create  tmp/sockets
      create  tmp/cache
      create  tmp/pids
      create  vendor/plugins
      create  vendor/plugins/.gitkeep
$ 
$ cd blog/

$ rails generate scaffold Post id:integer title:string body:text created:date
      invoke  active_record
      create    db/migrate/20110123154529_create_posts.rb
      create    app/models/post.rb
      invoke    test_unit
      create      test/unit/post_test.rb
....
      create      app/helpers/posts_helper.rb
      invoke      test_unit
      create        test/unit/helpers/posts_helper_test.rb
      invoke  stylesheets
      create    public/stylesheets/scaffold.css
$

$ rake db:migrate
(in /Users/dongrikim/Dropbox/Developer/Rails/blog)
rake aborted!
uninitialized constant Bundler
/Users/dongrikim/Dropbox/Developer/Rails/blog/rakefile:4
(See full trace by running task with --trace)
$

エラーだ。 gem bundler インストールする。

$ sudo gem install bundler
$ bundle install

$ rake db:migrate
(in /Users/dongrikim/Dropbox/Developer/Rails/blog)
rake aborted!
uninitialized constant Bundler
/Users/dongrikim/Dropbox/Developer/Rails/blog/rakefile:4
(See full trace by running task with --trace)
$

それでも駄目だ。しょうがないのでtraceを見てみる。

$ rake db:migrate --trace
(in /Users/dongrikim/Dropbox/Developer/Rails/blog)
rake aborted!
uninitialized constant Bundler
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:2465:in `const_missing'
/Users/dongrikim/Dropbox/Developer/Rails/blog/config/boot.rb:9
......

どうも古いrakeを参照してるみたい。

$ rake --version
rake, version 0.8.3
$

$ sudo mv /usr/bin/rake /usr/bin/rake.old
$ sudo ln -s /opt/local/bin/rake1.9 /usr/bin/rake
$ rake db:migrate
(in /Users/dongrikim/Dropbox/Developer/Rails/blog)
==  CreatePosts: migrating ====================================================
-- create_table(:posts)
   -> 0.0017s
==  CreatePosts: migrated (0.0020s) ===========================================

$ rails server

rake できたっぽい!

http://localhost:3000/posts/

前回 MacにGitをインストールしたので、今回は github を使ってみる。

1. アカウント登録
https://github.com/plans で無料アカウント登録する。
2. リポジトリを作成
https://github.com/repositories/new でリポジトリを新規作成する。
3. リポジトリにコミットしてみる

$ git config --global user.name "******"
$ git config --global user.email ******@gmail.com
$ cd ~/Dropbox/Developer/HTML5/
$ git init
$ git add *
$ git commit -m 'first commit'
$ git remote add origin git@github.com:dongrikim/HTML5.git
$ git push origin master
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
$ 

エラーだ!失敗した。

4. publickey 作成

$ ssh-keygen -t rsa -C "******@gmail.com"
$ less ~/.ssh/id_rsa.pub

コピーする。
https://github.com/account SSH公開鍵を選択して新規作成する。
キーのところにコピーしたやつを貼り付ける。
もう一回pushしてみる。

$ git push origin master

今度は成功!

プラウザから確認。

1. http://kernel.org/pub/software/scm/git/ から最新版をダウンロード。(git-1.7.3.tar.gz)
2. 解凍、インストール。

$ tar xvfz git-1.7.3.tar.gz
$ cd git-1.7.3
$ ./configure
$ sudo make prefix=/usr/local all
$ sudo make prefix=/usr/local install
$ git --version
git version 1.7.3

MacPortsを使ってインストールする場合は以下のようになる。

$ sudo port install git-core +doc +svn