amazon

8.5.14

バイナリファイルの呼び出し元を変更

ここここで書いたが、ターミナルでバイナリ名を叩いた時に呼び出されるファイルは、

$ type [バイナリ名]

$ which [バイナリ名]

で表示できる。

例えば、

$ which python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python

$ type python
python is /Library/Frameworks/Python.framework/Versions/2.7/bin/python

また、-aオプションを付けるとインストールされている一覧が表示される

$ which -a python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
/Library/Frameworks/Python.framework/Versions/2.6/bin/python
/usr/local/bin/python
/usr/bin/python
/opt/local/bin/python

$ type -a python
python is /Library/Frameworks/Python.framework/Versions/2.7/bin/python
python is /Library/Frameworks/Python.framework/Versions/2.6/bin/python
python is /usr/local/bin/python
python is /usr/bin/python
python is /opt/local/bin/python

バイナリ名を叩いた時に呼び出されるファイルはこの一覧の一番上にくるファイルである。

この順序を変更すればひも付けを変更できる。


ところで、-aオプションで表示される順序はパスの順序であるので、パスの順序を変更すればひも付けも変更する

パスの一覧を表示するには、

$ echo $PATH
/Library/Frameworks/Python.framework/Versions/2.7/bin/python:/Library/Frameworks/Python.framework/Versions/2.6/bin/python/usr/local/bin:/usr/bin:/opt/local/bin

例えば、pythonと叩いてpython2.6を呼び出したいのならば、

$ export PATH= /Library/Frameworks/Python.framework/Versions/2.6/bin/python:/Library/Frameworks/Python.framework/Versions/2.7/bin/python/usr/local/bin:/usr/bin:/opt/local/bin

とすればよい。

パスの設定方法はググってをみてください。


上記の例ではpythonですが他のバイナリでも同じです。perlなんかも複数インストールしていて呼び出し元を変更したい人がいるのではないでしょうか。

5.5.14

AVD(Android Virtual Device) マネージャーで開始を押してもエミュレーターが起動しない

最近のADTはSDKが同梱されいていてすぐに開発ができ便利である。
最新のものをダウンロードしてAndroid Virutal Device Mangerでエミュレーターを起動しようとした。
ところが開始を押してシークバーが完了しても反応がない。
どうやら内部で呼ばるemulatorというバイナリが正しく選ばれていないようである。

/sdk/toolsにある"emulator"を"emulator.notused"等と適当にリネームして、"emulator64-(avdのCPU/ABI)"を"emulator"に変えたら動作した。

Not starting emulator in AVD (Android Virtual Device) Manager

After created an avd with Android Virutal Device Manger recently downloaded I couldn't start and launch an emulator. Nothing would be happened.
I figured out an solution as did it with a command line.
It said Bus error.

Here is a solution.
Rename a binary "emulator64-(avd's CPU/ABI)" found in /sdk/tools to "emulator", where old "emulator" may be renamed like "emulator.notused".