ラベル Mac の投稿を表示しています。 すべての投稿を表示
ラベル Mac の投稿を表示しています。 すべての投稿を表示

2019年7月13日土曜日

[mac] El Capitanへのアップグレード関連作業まとめ

YosemiteからEl Capitan(10.11.2)へアップグレードしました。旧環境で起動できていたアプリケーションが起動できなくなったり、コマンドが見つからなくなる、といった問題が発生しましたが一通り解決できたので、その内容をまとめておきます。

#ポストし忘れてた・・・。今更な情報ですが自分の備忘録の意味もあるので公開。

El Capitanの新機能に伴う問題・設定の修正

  • OS X El Capitan:日本語入力のライブ変換モードをオフにする
    1. [システム環境設定] - [キーボード]を開く
    2. [入力ソース]タブを選択
    3. 「ライブ変換」のチェックを外す

MacPortsのアップデート

  • Yosemite環境でインストールしたMacPortsはそのままでは利用できない。以下のようなエラーメッセージが表示される。
  • % port qv installed
    Error: Current platform "darwin 15" does not match expected platform "darwin 14"
    Error: If you upgraded your OS, please follow the migration instructions: https://trac.macports.org/wiki/Migration
    OS platform mismatch
        while executing
    "mportinit ui_options global_options global_variations"
    Error: /opt/local/bin/port: Failed to initialize MacPorts, OS platform mismatch
    
  • 解決手順:Migration手順に沿って、以下の手順を実行する。
    • XcodeとXcode command line toolをインストールする。以前にインストールしたことがある環境では以下のコマンドを実行して表示されるダイアログで[インストール]ボタンを押下するだけでよい。
      • % xcode-select --install
        
    • プロジェクトサイトからEl Capitan版のインストーラをダウンロードして、インストールする。
    • インストール済みのportsパッケージを再インストールする
      1. インストール済みportsリストをテキストファイルに保存する
      2. % port -qv installed > myports.txt
        
      3. (オプショナル)必要portsリストを保存する
      4. % port echo requested | cut -d ' ' -f 1 > requested.txt
        
      5. 全てのインストール済みportsパッケージをアンインストールする
      6. % sudo port -f uninstall installed
        
      7. buildディレクトリ以下をクリーンアップする
      8. % sudo rm -rf /opt/local/var/macports/build/*
        
      9. restore_ports.tclスクリプトをダウンロードして実行する
      10. % curl -O https://svn.macports.org/repository/macports/contrib/restore_ports/restore_ports.tcl
        % chmod +x restore_ports.tcl
        % sudo ./restore_ports.tcl myports.txt
        
      11. (オプショナル:2の手順を実行した場合のみ)必要portsリストをリストアする
      12. % port echo requested | cut -d ' ' -f 1 > requested.txt
        


アプリケーション関連の問題の修正

  • wiresharkを起動しようとすると「Initialization Error / Error loading MenuBar.nib」というエラーメッセージが表示される
  • ghcコマンドが見つからなくなった
    • ターミナルでghcコマンドを実行すると、以下のようなエラーになる。
    • % ghc
      ghc: Command not found.
      
    • 原因
      • アップグレード時に/usr以下のghc関連コマンドのシンボリックリンクが削除されてしまった模様。
    • 対応

参考:

2014年11月21日金曜日

[mac] Yosemiteへのアップグレード関連作業まとめ

しばらく様子を見ていたのですが、大きな問題はなさそうなのでMac Book AirをYosemiteへアップグレードしました。以下、環境設定、遭遇した問題とその対応など、作業ログ的なものを残しておきます。

準備

  • アップグレード失敗に備えてMarvericks環境でTime Machineをセットアップし、バックアップをとった。手順はこちらを参考に。

アップグレード後の作業

  • Marvericks環境で利用していた設定・ソフトのセットアップ
    • キーボートショートカットの設定
      • [設定] - [キーボード] - [ショートカット]に以下の設定を復活
        • この設定がないとGoogle Chrome上でMeta-Wキーが「タブを閉じる」動作になってしまい、Krabinerのemacs keybindの威力が半減してしまいます。その他、以下の設定を追加しています。
          • CTRL-U: 「ソースを表示」
          • ALT-N: 「次を検索」
          • ALT-P: 「前を検索」
          • ALT-W: 「コピー」
    • XQartz
      • Marvericksアップグレード後、XQuarzを最新版にアップデート。一晩待ってもファイル抽出中のダイアログが出たまま終了しない、という症状が出た(PC再起動で強制終了)が、その後特に問題は出ていない模様。
    • Karabiner
      • アップグレード後、自動起動されない状態になったが、一度手動で起動すると、以前の設定が引き継がれ有効になった。
        • emacs keybind設定
        • Use KANA as KANA/EISUU (toggle)で「かな」キーでことえりのon/offがトグルするようになる
  • haskell環境の問題(cabal installでコンパイルエラーが発生)の復旧
    • Mountain LionからMarvericksへのアップグレードでも発生した、cabal installでエラーが発生する問題が今回も再現。前回と同じ手順で復旧。
    • 
      % xcode-select --install
      
      
  • emacsでCTRL-Nが効かなくなった問題に対応
    • ここの情報を参考に対応(助かりました・・・)。[システム環境設定] -> [キーボード] -> 入[力ソース]で[日本語]を選択し、[Windows風キー操作] のチェックを外すとOK!
  • wiresharkが起動できなくなった問題に対応
    • ここの情報を参考に、/opt/X11へのシンボリックリンンクを/usr/X11に作ったところ、正常に起動するようになりました。
    • 
      % cd /usr; sudo ln -s /opt/X11 .
      
      

参考:

2014年8月23日土曜日

[emacs][cygwin][mac] cygwin及びmac環境へのcmigemoのインストール

cmigemoという便利なツールあることを知って、Windows(cygwin)とmacにインストールしました。cmigemoを利用することで、emacsのI-searchでひらがな・カタカナ・漢字を検索できるようになり非常に便利です!
例えば、C-sもしくはC-rに続き"kara"を入力すると、メインバッファ中の「から」「殻」「烏(からす)」「カラオケ」「karaoke」「小柄」がインクリメンタルサーチにかかります。

cygwinでのインストール手順

  • Cygwin SetupからC/Migemoのビルドに必要なパッケージをインストール
    • cygwinディレクトリのsetup_x64_64.exe(setup_x64.exe)を起動し、以下のパッケージを選択、インストールします。
      • Devel
        • gcc
        • make
      • Libs
        • libiconv
      • Web
        • wget
  • qkcのインストール
    • QKC Home Pageから"For UNIX"版のzipアーカイブをダウンロードしてインストールします。
    • 
      % unzip qkcc100.zip
      % make
      % cp qkc.exe /usr/local/bin
      
      
  • cmigemoのインストール
    • 以下のコマンドを実行することでインストールできます。オフィシャルな手順はcmigemo/doc/README_j.txtに記載されています。
    • 
      % git clone https://github.com/koron/cmigemo.git
      % cd cmigemo
      % ./configure
      % make cyg
      % make cyg-dict
      % make cyg-install
      
      
    • ./configureで"$'\r': コマンドが見つかりません"というエラーが出る場合はこちらを参考にしてエラーを回避してください。
    • 最後のmake cyg-installの実行で/usr/local以下に関連ファイルがコピーされます。アンインストールしたい場合にはmake cyg-uninstallを実行してください。
      • <要確認>インストールには管理者権限が必要(管理者権限を付与したターミナル上で実行)?
  • migemo.elのインストール
    • emacsを起動し以下のコマンドを実行
    • 
      M-x package-refresh-contents
      M-x package-install migemo
      
      
    • .emacsに以下のコードを追加
    • 
      (require 'migemo)
      (setq migemo-command "cmigemo")
      (setq migemo-options '("-q" "--emacs"))
      ;; Set your installed path
      (setq migemo-dictionary "/usr/local/share/migemo/utf-8/migemo-dict")
      (setq migemo-user-dictionary nil)
      (setq migemo-regex-dictionary nil)
      (setq migemo-coding-system 'utf-8-unix)
      (load-library "migemo")
      (migemo-init)
      
      

macでのインストール手順

  • cmigemoのインストール
    • 以下のコマンドを実行することでcmigemoをインストールできます。デフォルトでインストールされているnkf, iconvが利用されるため、cygwinで行ったセットアップは不要です。
    • 
      % git clone https://github.com/koron/cmigemo.git
      % cd cmigemo
      % ./configure
      % make osx
      % make osx-dict
      % sudo make osx-install
      
      
    • デフォルトのインストール先は/usr/localになります。/usr/local/bin, /usr/local/libがPATH, LD_LIBRARY_PATHに設定されていない場合にはこれらを追加する必要があります。
  • migemo.elのインストール
    • emacsを起動し以下のコマンドを実行
    • 
      M-x package-refresh-contents
      M-x package-install migemo
      
      
    • .emacsに以下のコードを追加。utf8を利用する設定が紹介されておりcygwin環境ではそれを用いましたが、自分のmac環境ではutf8では後述の問題が出たためeuc-jpを設定しています。
    • 
      (require 'migemo)
      (setq migemo-command "cmigemo")
      (setq migemo-options '("-q" "--emacs"))
      ;; Set your installed path
      (setq migemo-dictionary "/usr/local/share/migemo/euc-jp/migemo-dict") ; macではutf8はNG?
      (setq migemo-user-dictionary nil)
      (setq migemo-regex-dictionary nil)
      (setq migemo-coding-system 'euc-jp) ; macではutf8はNG?
      (load-library "migemo")
      (migemo-init)
      
      
  • (補足)macではutf8の設定では正しくI-searchできない?
    • cygwinと同じ手順で「mac環境でも幸せ〜」になる予定だったのですが、アルファベットのI-searchができず不幸せな状態になってしまいました。問題の状況は"compile"を検索しようとして"co"をI-searchで入力しても検索に失敗してしまう、という状態でした。ミニバッファには以下のような情報が出力されています。"compi"まで入力すれば検索できる状態になります。
      • [MIGEMO] I-search: co [incomplete input]
    • この情報を見つけて以下のコマンドを実行してみましたが状況は改善せず。
      • M-x migemo-pattern-alist-clear
    • 試行錯誤した結果、エンコードをutf8からeuc-jpに変更すると正しく動作するようになったため、現状はこの設定で利用しています。

参考

2014年6月7日土曜日

[mac] macにインストールしているソフトウェア

自分のmac環境にインストールしているアプリ・ツールをリストアップしておきます。
  • Google Chrome
    • 言わずと知れたgoogle製ブラウザ
  • MacPorts
    • mac版のパッケージ管理システム(yum,rpmの代わり)
    • インストールしているパッケージ:
      • autoconf
      • automake
      • curl
      • emacs-mac-app
      • emacs (for emacsclient)
      • enscript
      • fish
      • gcc*
      • gdb
      • global (gtags for emacs)
      • gnupg
      • gperf
      • lv
      • man
      • openssh
      • postgresql
      • python
      • ruby*
      • sqlite3
      • subversion
      • wget
    • *: 複数バージョンが存在するパッケージの切り換え方法はこちらを参照
  • Haskell Platform
  • Carbon Emacs
    • emacs21で古い…
    • MacPortsのemacs-mac-appがemacs24なので乗り換えた
  • XQuartz
    • mac版のX Window System
  • DiffMerge
    • GUI版ファイル比較アプリケーション
  • VirtualBox / Genymotion
    • mac上で日本語のkindle版書籍を読める。
    • 最新バージョンでは削除されているが、旧バージョンのGenymotionではgoogle application入りのパッケージが配布されていた…。
  • SourceTree
    • GUI版git/Mercurialクライアントアプリケーション
  • DropBox
  • Karabiner(旧 KeyRemap4MacBook)
    • キーアサインを自由に変更
    • Emacs Mode
      • Control+PBF to Up/Down/Left/Light (+ many more)
      • Control+V to PageDown
      • Command+V to PageUp
      • Control+Y to Command+V
      • Control+W to Command+X
      • Control+/ to Command_Z
      • Control+S to Command+F
    • For Japanese
      • Change EISUU Key -> EISUU to Command_L
      • Change KANA Key -> Use KANA/EISUU (toggle)
      • Change Yen(¥) Key -> JIS Yen(¥) to Backslash (\)
  • TinkerTool
    • 各種隠し設定
  • AppCleaner
  • ClipMenu
    • クリップボード履歴
  • AppStore経由
    • Evernote
    • Xcode
    • Skitch(画面キャプチャ、簡易編集)
    • Dash(Instant search & offline access to any API documentation) 
2015/02/07現在、上記のような感じです。
今後もメンテナンス予定。

ソフトウェア開発に関するおすすめツール・アプリ、お知らせいただけるとうれしいです。

2014年3月30日日曜日

[mac][haskell] Marvericksにアップグレードするとsys/cdefs.hが見つからなくなる問題の対処

Mac OS Xを10.8(Mountain Lion)から10.9(Marverhicks)にアップグレードしたところ、cabal installでパッケージをインストールしようとすると、以下のようなエラーが出る状態になってしまいました。

     fatal error: sys/cdefs.h: No such file or directory
     #include <sys cdefs.h>
                           ^
compilation terminated.


これはアップグレードにより、xcodeのコマンドラインツールによってインストールされていた/user/include以下のファイルが削除されていたために、sys/cdefs.hが見つからず、エラーになっていたようです。
ここの情報を参考にして、以下のコマンドでxcode5のコマンドラインツールをインストールすることで、sys/cdefs.hが配置されエラーは発生しなくなりました。

% xcode-select --install


なお、Haskell Platformのインストール手順に記載されているghc-clang-wrapperなるものも必要なのでお忘れなく。

2014年1月30日木曜日

[mac] XQuarzでリモートクライアントからの接続を許可するには

このサイトを参照し、XQuartz(X Window System)をmacにインストールしたものの、X clientからmac上のX serverに接続してウィンドウを開こうとすると、以下のようなエラーが表示され困っていました。

 xterm Xt error: Can't open display: 192.x.x.x:0.0 

クライアント側のDISPLAY環境変数は正しい、サーバー側でxhostによりクライアントが登録されていることも確認、にもかかわらずエラーになる状態です。今日ふとメニューバーから[X11] - [環境設定]を開くと「セキュリティ」タブの中に「ネットワーク・クライアントからの接続を許可」というチェックボックスが存在していることに気がつきました。このチェックボックスをONにして再起動したところバッチリつながるようになりました!

2014年1月4日土曜日

[mac] MacPortsでパッケージインストール時にバージョンを表すサフィックスを外す方法

MacPortsでは複数のバージョンが存在するパッケージをインストールすると、バージョンのサフィックスがついたファイルが/opt/local/bin/以下に配置されうれしくありません。例えばruby19パッケージをインストールすると、以下のファイルが存在する状態になります。

-rwxr-xr-x  1 root  admin   4402  8 22 21:59 erb1.9*
-rwxr-xr-x  1 root  admin    551  8 22 21:59 gem1.9*
-rwxr-xr-x  1 root  admin    323  8 22 21:59 irb1.9*
-rwxr-xr-x  1 root  admin   1236  8 22 21:59 rake1.9*
-rwxr-xr-x  1 root  admin    793  8 22 21:59 rdoc1.9*
-rwxr-xr-x  1 root  admin    193  8 22 21:59 ri1.9*
-rwxr-xr-x  1 root  admin  13056  8 22 21:57 ruby1.9*
-rwxr-xr-x  1 root  admin    303  8 22 21:59 testrb1.9*

この状態でrubyやirbコマンドを実行しても、以下のように Command not foundというエラーになってしまいます。

$ ruby
ruby: Command not found.

意図したコマンドを実行するためにシンボリックリンクを張りたくなりますがわざわざ手動で設定するのは面倒ですよね。こんなときにはportコマンドで以下の手順を実行すれば、該当のパッケージでインストールされたファイルに対してもれなく自動でシンボリックリンクを設定してくれます。

$ port select --set ruby ruby19
Selecting 'ruby19' for 'ruby' succeeded. 'ruby19' is now active.

上記のコマンド一発で、以下のシンボリックリンクファイルが生成されます。

lrwxr-xr-x  1 root  admin      21  1  4 23:45 erb@ -> /opt/local/bin/erb1.9
lrwxr-xr-x  1 root  admin      21  1  4 23:45 gem@ -> /opt/local/bin/gem1.9
lrwxr-xr-x  1 root  admin      21  1  4 23:45 irb@ -> /opt/local/bin/irb1.9
lrwxr-xr-x  1 root  admin      22  1  4 23:45 rake@ -> /opt/local/bin/rake1.9
lrwxr-xr-x  1 root  admin      22  1  4 23:45 rdoc@ -> /opt/local/bin/rdoc1.9
lrwxr-xr-x  1 root  admin      20  1  4 23:45 ri@ -> /opt/local/bin/ri1.9
lrwxr-xr-x  1 root  admin      22  1  4 23:45 ruby@ -> /opt/local/bin/ruby1.9
lrwxr-xr-x  1 root  admin      24  1  4 23:45 testrb@ -> /opt/local/bin/testrb1.9


この仕組みを利用するとruby20, ruby186といった複数バージョンのrubyのパッケージを全てインストールしておき、サフィックスなしのコマンドで起動するバージョンを選択できるようになります。

$ port select --list ruby
Available versions for ruby:
 none
 ruby19 (active)
 ruby20

で選択可能なバージョン一覧を表示できます。

$ port select --show ruby
The currently selected version for 'ruby' is 'ruby19'.

で、現在選択されているバージョンが表示されます。

ruby19からruby20への切り替えの様子。すばらしい!

$ ruby --version
ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-darwin12]
$ port select --set ruby ruby20
Selecting 'ruby20' for 'ruby' succeeded. 'ruby20' is now active.
$ port select --show ruby 
The currently selected version for 'ruby' is 'ruby20'.
$ ruby --version
ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-darwin12]


2009年8月21日金曜日

iPhoneアプリ開発(その3:mac os環境整備)

その1での疑問が少し解決したので、メモしておきます。

Q: emacs がターミナルの中でしか起動しない。"-nw"オプションをつけている訳でもないのに。
  • A: プレインストールされているemacsはターミナルの中でしか起動しないものだそうです。独立したアプリケーションとして別ウィンドウで起動したい場合にはCarbon Emacsをインストールすればよいです(インストールは簡単!)

Q: chshでshellをtcshに変えたがそれが反映されない。
  • ターミナルの設定で変更しないとダメみたいです。メニューからFile=>Preferencesで表示されるダイアログで、以下のように設定すればOKです。
terminal-setting-window
  • ちなみに上記の画像はPreviewというアプリケーションでキャプチャしました。File=>Grab=>Windowでキャプチャ対象ウィンドウを選択できます。あとはFile=>SaveAs..で保存するだけ。


Q: Xcodeのキーバインドは変更できるのかな(ググればすぐにでてきそうだけど)。
  • A: やはりできるみたい。
  • Xcodeではなくmacそのもののキーバインドですが、[ALT]をCommand Keyに割り当てておくとWindowsの操作感を引き継げて快適です。[ALT]+[TAB]でウィンドウ切り替えができたり、emacs上で[ALT]+[X]でm-xを入力できたり・・・。
modifier-keys
自分にとってはこれがベストです。macキーボードでない、普通のPCキーボードは、[ALT]がオプションキー、[Windows]がコマンドキーに割り当てられています。

Q: [fn]キーのロックを解除する。
  • デフォルトでは、[fn]キーがロックされた状態でファンクションキーを入力しようとすると、ディスプレイの輝度が変更されたりします。
  • ロックを解除するには[システム環境設定]-[キーボード]で「F1,F2などのすべてのキーを標準のファンクションキーとして使用」にチェックを入れます。
  • ここの情報を参考にしました。

Q: "¥"と"\"の入力方法

  • デフォルトでは"¥"が入力されます。
  • "\"を入力するには[Command]キーを押しながら[¥]キーを入力します。
  • デフォルトを変更するには「日本語の入力設定」で「"¥"キーで入力する文字」を変更します。こちらの情報を参考にさせていただきました。


私と同じようなWindows/Linuxに慣れきった方がmac osに移行した場合のTIPSになれば幸いです。


2009年8月8日土曜日

iPhoneアプリ開発(その1:素朴な疑問)

iPhoneアプリ開発を始めました。
ちなみに私はObjective-Cは初心者です。CとC++についての知識はありますが。
先日購入したmac miniにiPhone SDkをインストールし、まずはサンプルプログラムをさわってみようかなということで、AppleのDevelovper ConnectionからTochesというサンプルプログラムをダウンロードしてみました。
このサイトを参考に環境構築。

そして下記のURLをからサンプルを入手して、ビルド実行してみたものの、根本的なところでつまずいてしまいました。

以下がそのつまずき一覧です。
  • MyViewクラスでイベントに応じた実装がされているのですが、このViewがどこから登録されているのかが分からない。
  • ReadMeを読むとマルチイベントを有効にするにはInterface BuilderかsetMultipleTouchEnabledの呼び出しでフラグを立てる必要がある、とあるがどちらのやり方もまだ分からない。
  • mac上で動作するiPhone Emulatorでピンチ(拡大・縮小の操作)の操作ができない。アイコン操作では無理な気がするのだが可能なのだろうか・・・?
学習が進めばこれらの疑問も解決すると思っているのですが、まだまだいろいろつまずきポイントがありそうです。

初めてのmacなのでmac OS X そのものにつまずいている点もあります。ついでにそれらも列挙しておきます。
  • emacs がターミナルの中でしか起動しない。"-nw"オプションをつけている訳でもないのに。
  • chshでshellをtcshに変えたがそれが反映されない。
  • Xcodeのキーバインドは変更できるのかな(ググればすぐにでてきそうだけど)。
このあたりも解決したものからエントリにしていきたいです。