ハイパーニートプログラマーへの道

頑張ったり頑張らなかったり

Crystalをインストールした際のトラブル - dyld: Library not loaded:~ & ld: library not found for -levent

  • Mac OS X(El Capitan) 10.11.5
  • Homebrew 0.9.9

そろそろCrystalの環境構築しなくてはと思い、

anyenvも入れた、crenvも入れた、そしてcrystal 0.17.3も入れたぞ・・・と思ったら

$ crystal --version
dyld: Library not loaded: @@HOMEBREW_PREFIX@@/opt/bdw-gc/lib/libgc.1.dylib
  Referenced from: /Users/noriyo_tcp/.anyenv/envs/crenv/versions/0.17.3/bin/crystal
  Reason: image not found
Trace/BPT trap: 5

なんだこれは・・・

dyld: Library not loaded: の解決方法 - 観照げぇむ Vol.3

ここを参考にしました。

gcでサーチしてみます。

$ brew search gc
bdw-gc                         homebrew/versions/gcc43        libgcrypt                    
gcab                           homebrew/versions/gcc44        libsigc++                    
gcal                           homebrew/versions/gcc45        logcheck                     
gcc                            homebrew/versions/gcc46        pcb2gcode                    
gconf                          homebrew/versions/gcc47        pgcli                        
gcore                          homebrew/versions/gcc48        pkgconfig ✔                  
gcovr                          homebrew/versions/gcc49        pngcheck                     
gcutil                         homebrew/versions/gcc5         pngcrush                     
gcviewer                       homebrew/versions/gcc6       
homebrew/dupes/apple-gcc42     homebrew/versions/llvm-gcc28 
homebrew/fuse/gcsfuse                         Caskroom/cask/pngcommentator                
homebrew/games/uggconv                        Caskroom/cask/ringcentral                   
Caskroom/cask/gcc-arm-embedded                Caskroom/cask/simplefloatingclock           
Caskroom/cask/openpilot-gcs                   Caskroom/cask/svgcleaner

なんだかいっぱい出てきたけど、bdw-gcがある。多分こいつが必要なんだろう。

$ brew install bdw-gc
==> Downloading https://homebrew.bintray.com/bottles/bdw-gc-7.4.2.el_capitan.bottle.2.tar.g
######################################################################## 100.0%
==> Pouring bdw-gc-7.4.2.el_capitan.bottle.2.tar.gz
🍺  /usr/local/Cellar/bdw-gc/7.4.2: 69 files, 1.4M
$ crystal --version
Crystal 0.17.3 (Fri May 20 17:45:41 UTC 2016)

やったー。だがしかし

Playgroundが起動しない

正確に言うと、起動はするのだけど、すぐに下記のようなエラーが出ました。

$ crystal play
Listening on http://localhost:8080
ld: library not found for -levent
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Error: execution of command failed with code: 1: `cc -o "/Users/noriyo_tcp/.cache/crystal/crystal-run-play-1-1.tmp" "${@}"  -rdynamic  -lssl -lcrypto -lz /Users/noriyo_tcp/.anyenv/envs/crenv/versions/0.17.3/src/ext/libcrystal.a -levent -lpcre -lgc -lpthread -liconv -ldl`

http://crystal-lang.org/docs/installation/on_mac_osx_using_homebrew.html

ここのTroubleshootingを参考にコマンドラインツールを入れ直しました。

$ xcode-select --install
$ xcode-select --switch /Library/Developer/CommandLineTools

TechDRILL - Rspec入門編ーテストコードを書いてみよう!ーをやってみたんだが

やってみました。いろいろケチつけていきますと・・・。

http://tech-drill.in/questions/12

「ファイル構成」の部分で

spec/hello/spec.rbとなっていますが正しくはspec/hello_spec.rbなのでは。

「準備が出来たか確認する」の部分で

spec_helper.rbの完成形が記載されていますが、シンタックスハイライトが効いてないのでわかりづらいです。

config.disable_monkey_patching!コメントアウトしてモンキーパッチを有効化するのを忘れていたので、テストファイルにてRSpec.describeというふうに、RSpecをつけないと怒られました。

Qiitaのこのコメントを見て分かりました。 http://qiita.com/yusabana/items/db44b81bdddf6ed0e9f5#comment-cd2694c0e3e37940651d

「問題」の部分で

lib/mentor_test.rbを作成し

とありますが、実際のファイル名はlib/mentor_exam.rbなのでは。

なんか口うるさい姑みたいになりましたがw、まあこのくらいですね。

自分の解答と模範解答の相違点

  • 生成された.rspec--require spec_helperと記載されていたので、解答のようにテストファイルの頭でrequire 'spec_helper'とする必要がなかった。

  • 解答者(solver)の名前が一緒というのも気になるので、それぞれのcontextの中でlet(:solver) { 'hoge' }, let(:solver) { 'fuga' }というふうに別々にした。

そのくらいですかねー。はじめは「環境設定すんのマンドクセー」とか「CodeSchoolなどのようにインタラクティブな形式じゃないんだ?マンドクセー」とか思っておりましたが、そもそも全くのプログラミング初心者を対象にしているのでもないでしょうし、これはこれでいいのかと。解説も丁寧ですし。

毎週新しい問題が追加されるそうなので、ゆるゆるやっていこうかと。

願わくばgithubのアカウントでサインインできるのがいいかなあ。パスワードや画像を新規で設定するのがマンドクセーと思っちゃたので・・・。

( ゚д゚)ハッ!  今回の問題はRails環境下でのRSpecではないので、「Ruby on Rails」カテゴリではないのでは(細かい)。

【Mac OS X】El Capitanでログイン画面から自分のアカウントが消えてしまった時は

MacBookのメモリを何回も交換しているうち、突然ログイン画面から自分のアカウントが消えて「他のユーザー」しか表示されないという現象に見舞われました。
はっきりと再現できない(というかしたくないw)ので原因が不明ですが*1、ログインできないのは非常に困ります。
Mac OS Xのバージョンは10.11.4です。

OS X Utilities」を立ち上げる

「じゃーん」という起動音がしている間に、command + Rを押して「OS X Utilities」を立ち上げます。

残念ながらスクショは撮ってないので、こちらの記事から転載させていただくと

f:id:noriyo_tcp:20160415003110j:plain

https://coolestguidesontheplanet.com/wp-content/uploads/2012/09/osx-boot-recovery-partition2.jpg

上部メニューの「ユーティリティ」から「ターミナル」を選択します。そしてresetpasswordと打ち込み、リターンを押します。

するとパスワードリセット用のウィンドウが現れます。

f:id:noriyo_tcp:20160415003211p:plain

https://coolestguidesontheplanet.com/wp-content/uploads/2012/09/reset-password-osx.png

ユーザーは「root」を選択、そしてパスワードを設定して保存します。

記事本文には

you get a confirmation screen and details about the keychain account.

とあるのですが、キーチェーンの詳細が出てきたかどうかは覚えていません。すみません。

そしてメニューのアップルアイコンから「再起動」を選択します。

rootとしてログイン、そしてユーザーを作成

再起動させ「その他のユーザー」の「名前」にroot、「パスワード」には先ほど作成したパスワードを入れ、ルートユーザーとしてログインします。

OS X El Capitan: Mac にユーザを設定する

詳しくはアップルのサポートページを参照すれば良いのですが、

「システム環境設定」>「ユーザーとグループ」に移動します。そしてカギのアイコンをクリックしてロックを解除します。

右画面のタブは「パスワード」そして左画面に「ユーザー」が見えますが、その下部の「+」ボタンを押して新しいユーザーを作成します。

ユーザーのタイプは「標準」にしたような記憶があるのですが、今確認したら「管理者」になっていました。これはちょっとわかりません(他にユーザーがいないから?)

元のアカウントと同じ名前のユーザーを作成する

新しいユーザーのフルネームを消滅してしまった元のアカウントのそれと同じにします。 パスワードも同じにしました。
すると「もうすでに同じ名前のディレクトリがあるみたいだけど、どうする?」というようなダイアログが出ます*2

そこで左側の「Exacting directoryなんちゃら」*3というボタンを押します。要は既存のディレクトリをそのまま使用する、ということにするのです。

新しいユーザーの作成には多少時間がかかるので待ちます。無事作成されたのを確認したらもう一度再起動します。
するとログイン画面には無事アカウントが表示されていました。いやー、ホント焦った。


参考記事

[ttps://www.reddit.com/r/applehelp/comments/3nl4ju/just_upgraded_to_el_capitan_user_accounts_gone/cy0brnx]

どうしたものかとググりまくっていたところredditのこのスレを見つけました。*4私と同じくEl Capitanでユーザアカウントが吹っ飛んじまったよ、というものですが、他のユーザーの発言がヒントになりました。

その発言の中で紹介されていた記事がこちら

Reset Forgotten Admin & Standard User Password OSX 10.11 El Capitan

*1:メモリ交換後にPRAMリセットはしました

*2:つまりディレクトリやファイルは無事だったみたいです

*3:はっきり覚えていません、すみません・・・

*4:redditのリンクを埋め込んでいるとBad requestが出るのでh抜きです

MacBook Pro(13-inch, 2012 Mid)のHDDをSSHDに交換してみた

最近やたらめったらMac OS Xが落ちる悲劇が繰り返されるので、HDDを交換してみようかと。

OSはまだYosemiteです(でした)


参考記事はこちら

MacBook Proの内蔵HDDを最新SSDに交換する・リターンズ(2014年春版) (1) ちょっと古いMacBook ProでMavericksを快適に使う | マイナビニュース

こうちかずおのブログ: MacBook Pro 13-inch Mid 2012のメモリと内蔵HDDを交換


まず、備品の用意です。

f:id:noriyo_tcp:20160403115231j:plain

T6ドライバー(星形になってるもの)

アネックス(ANEX) スーパーフィット精密ヘクスローブドライバー T6×30 No.3543

それからMacの底面のパネルを開けるためのプラスドライバー

アネックス(ANEX) 精密ドライバー プラス00×50 No.3450

それからハードドライブはSSHDにすることにしました。1TB

TOSHIBA MQ02ABD100H 2.5インチ 5400rpm 64MB 1TB SSHD 8GB 並行輸入

そして2.5インチHDDケース

Inateck 2.5インチ HDDケース USB 3.0接続 9.5mm 7mm 2.5" SATA HDD SSDに対応、着脱は工具不要

ではいきますぞー。

続きを読む