日々鍛錬

日本で一番?わかり易い??システムの落書き帳???を目指し????,日々鍛錬中な元SEさん主婦研究者によるデベロッパとユーザと自分のための雑記帳

MacのVersionを変更すると,Xcodeを入れ直す必要があり?

出張先でも,Codeの確認はしたいものだ.
なので,MacBook Pro (Retina, 15-inch, Late 2013)を愛用しています.
ぶっちゃけ,このバージョンが一番好きなデバイス
GraphicsがNVIDIA積まれているので・

能書きはここまでにしておき,久々に更新

MacbookProで El captain での環境上で,Keras, Qt, などのPython環境を整えてまして,しばらくはこの環境でいろいろ操作をしてました.
なにも考えず,ぼーっと,High Sierra をインストールしたところ,急にCommand Line Toolにトラブル...
そう,,,Macは,Versionが変わると,Xcodeをもう一度設定し直す必要ある.
そのため,一度設定した内容が....orz

なので,入れ直す.

まずは,自分の環境をUpdateしておく,
私は,今現在,論文があるので,Mojabeへの変更をためらい,High Sierra (OS 10.13)

その後,xcodeをまずは実行

xcode-select --install

後,xcode-select --updateをしておけば,おっけ
そして,brew のupdate も忘れなく,
Homebrewのアップデート+Homebrewでインストールしたパッケージのアップデートまとめて行う.
これが,upgrade のコマンドらしい!
※こちらを参照!
qiita.com

>>
$brew update

Bluetoothでハマったとこのメモ(LogitechのLBT-UAN04C2BK)

結構ハマったので,メモ

Bluetoothってこんなにハマるもんなのか,と結構ショック受けました.
んで,解決すれば結構さくさくなので,ホッとしてます.

参考したのは価格ドットコムでの口コミよりDBA-E11さんからの貴重なレビュー
価格.com - ロジテック LBT-UAN04C2BK [黒] レビュー評価・評判

この記事のおかげで無駄な出費を控えることが出来ました.
ありがとうございます.


さて,どのような問題があって認識せず,どのように対応したかについて記載します.

[発生事案]
BlutoothアダプタをPCに取り付け,Bluetoothの製品を認識したいけど,,,されない...
認識したい製品:ELECOM TK-FBP052のキーボード

→ペアリングはできるけど,機器を扱うことができない...(なにゆえ...

原因:付属のドライバがきちんとあたらない...(ぉぃ



[対応]
価格ドットコムでの口コミよりDBA-E11さんからの貴重なレビューをそのまま参考
ドライバとして,以下のURLからダウンロードqa.elecom.co.jp

こちらのドライバをサイトの案内に従って,付属ドライバをインストールすると,認識orz
インストールの際には,まず以前インストールした「Bluetooth Stack for Windows by Toshiba」は外しておきます.
そして,アダプタも接続を解除しておくことです!
インストール中に「機器を取り付けてください」と出てくるので,その際にアダプタを取り付けます.

あとは,ペアリングしたい機器を自動で探してくれるので,機器をONにしておく.

これ...本当にすごく悩んだのです!!
しかも,結構口コミで「coreシリーズのアーキテクチャでは動作してない」とかあったので,本当にショックでした.
でも,よくよく考えても今どき,そういうアーキテクチャってないですよね!?
だから,絶対接続出来る方法を色々探しまわっていたら,口コミに出会いました.
接続できた瞬間,ガッツポーズでした!



キーボードはまだ小さいのでなれませんが,,,,慣れるよう,頑張ります!
ただ,打ちやすいキーボードですので,長いお付き合いなりそうです.

Mac Yosemite のアップデートに伴う被害・・・Homebrew編

Yosemiteにアップデートしてみました.
Homebrewが以下のメッセージで使えなくなりました.

/usr/local/bin/brew: /usr/local/Library/brew.rb: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: bad interpreter: No such file or directory
/usr/local/bin/brew: line 21: /usr/local/Library/brew.rb: Undefined error: 0


.....おいおい....状態なりました・・・
泣きながら探ると,同じ悩みの方発見

makers.hatenablog.com


この記事にしたがって,修正

  • brew本体を修正
    • vi /usr/local/Library/brew.rb
  • 1行目を2行目に変更

-- #!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby -W0
-- #!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby -W0

うごきました....
本当にひどい話!

MacでのScilabの導入

やっぱりOpenにCodeや技術を公開したいというのがつよく,MATLABちっくを作成しよう!,と思ったので,しばらくは,互換性があるというScilabを導入
(あとは,お仕事関係で,さすがに有償モノで開発を講座するわけにいかなかったので
((あとは,某ゴニョゴニョから個人的にひどい嫌がらせを受けたので,あ,そう,んじゃ,いっか♪とあっさりそいつをき..(ry

Macでのインストールにおけるメモメモを残しておきます.


Scilabのインストール
公式サイトからダウンロードします.

公式サイトはこちら.www.scilab.org


Downloadから自分の適した環境を選択します.
私は,Mac OS Yosemite x64で動作させたいので,
最新版の5.5.2(2015/05/23時点)のMac x64を選択

www.scilab.org


こちらを選択
Scilab 5.5.2 - Mac OS X 10.10 149.24 MB


上記のWebページからも確認できるように,まず,Java for OS X 2014-001を入れておかないと動作しません.
なので,必ず導入してください.
また,このJava for OS X 2014-001は,先にJava for OS X 2012-006がインストールされてる環境が必要です.
多分指示がでますので,その指示に従うようにしてくれたら.問題ないと思います.


1. 上記の手順に従って,まず,ダウンロードされたJava for Mac OSX 2014-001を展開
JavaForOSX2014-001.dmgをダブルクリックでインストール完了

2. 続いて,Scilab 5.5.2をFinderをもちいてAppricationに入れて,ダブルクリックで展開開始

これで終了です.

ただし,YosemiteScilab 5.5.2のみのインストールで,5.4.1はできません.
きっと,Javaのバージョンが関連してるんでしょうね...

Homebrew によるImageMagickのインストール

いちいち,プレビュー起動で見るのがめんどくさくなったので.
それよりは,displayコマンドで見たほうが楽ちんなことが多いのです.
ということで,設定します.


少しハマったので,むむむ??となりました.
そのメモメモを兼ねて入れます.

Homebrew のインストールだとかセットアップだとかについてはこちらを
Mac にHomebrew をインストールする - 日々鍛錬

また,Homebrewの詳しい説明については,以下のサイトが参考になります

HomeBrewの仕組みについてまとめておく - それマグで!


1. Homebrew のUpgradeとUpdate
まずは,HomebrewのDB内情報を最新版に更新します.
次のコマンドをタイプします.

$ brew update
$ brew upgrade

ここで,

brew update
Homebrew の本体とfomulaの本体をそのまま 全体としてUpdate

brew upgrade
利用可能なUpdate version のformulaが存在するかを確認し,
その内容をupdate する

ところが,こちらのupdateをかけると,'Permision not defined'が出てしまいました...

brew upgrade
Error: Cannot write to /usr/local/Cellar

この場合は,以下のコマンドを実行します.

sudo chown -R "whoami" /usr/local/Celler


他にもこんなエラー群が

error: The following untracked working tree files would be overwritten by merge:
Library/Formula/freeswitch.rb
Library/Formula/nailgun.rb
Library/Formula/storm.rb
Please move or remove them before you can merge.
Aborting
Error: Failure while executing: git pull -q origin refs/heads/master:refs/remotes/origin/master


この場合は,gitの情報を書き換えました.
以下のコマンドを実行します.

$ cd /usr/local
$ git fetch origin
$ git reset --hard origin/master

これで,HomebrewのCellerに最新版をかけることができるわけですので,
この処理の後に,再度brew updateで最新版にしておきます.

その後,Imagemagickのインストール

$ brew install imagemagick --with-x11

エラーが以下の様に吐出された.

Warning: imagemagick dependency libtiff was built with a different C++ standard
library (libstdc++ from clang). This may cause problems at runtime.
/usr/local/Cellar/imagemagick/6.8.9-8: 1433 files, 22M, built in 93 seconds

昔のVersionと強豪しているので,最初にunlinkして,それからSoftwareをインストールします.
Softwareというのは,そうやって成立しているものだと改めて実感した.

$ brew unlink imagemagick

次は,ようやくおまたせなインストールのオプションを切り替えて,以下のコマンドで実行

$ export DISPLAY=:0.0
$ brew install imagemagick --disable-openmp --build-from-source --with-x11

画像系のSetupということを想定すると,おそらく,Exportの問題も絡みます.
以下を.profileに1行記述して,必ずsource読み込みをします.

export DISPLAY=:0.0

$ source .profile


以下のメッセージよりエラー無しで私はOKと判断しました!

brew install imagemagick --disable-openmp --build-from-source --with-x11
==> Downloading http://www.imagemagick.org/download/releases/ImageMagick-6.8.9-8
Already downloaded: /Library/Caches/Homebrew/imagemagick-6.8.9-8.tar.xz
==> ./configure --disable-osx-universal-binary --prefix=/usr/local/Cellar/imagem
==> make install
🍺 /usr/local/Cellar/imagemagick/6.8.9-8: 1437 files, 23M, built in 86 seconds

適当な画像をChoiceして実際にdisplay command で実行してみてください.

$ display hoge.jpg
$ display hoge.pgm

これで,実行できればImageMagickの設定は完了です.

要は,リポジトリはちゃんとupdateを掛けておきましょう!

複素数の共役を求めるコードをCにて記述する

学生さんからのコード記述における質問にて,
C言語複素共役を求めるコードの記述を行いたい.


色々わかったことがあったので,メモ書き
サンプルコードはこちらのサイトを介して勉強しました.

C言語関数辞典 - conj, conjf, conjl

こちらのコードを利用する.

/* header files */
#include <stdio.h>
#include <stdlib.h>
#include <complex.h>

/* main */
int main(void) {
    double complex z = 3.0 + 2.0 * I;
    double complex conjugate;

    /* 共役複素数を取得 */
    conjugate = conj(z);
    printf("共役複素数: %.1f + %.1fi\n", creal(conjugate), cimag(conjugate));

    return EXIT_SUCCESS;

C言語C++ では,標準ライブラリとして

#include <complex.h>   //C言語
#include <complex>      //C++

が用意されている.

早速, Codeを用意して,コンパイル+実行を!・・・・

Visual studioC言語を行なってみる.
...動作しない.・・・

色々キーワードを調べて評価を行うが,どうしても動作しない
動作しない理由を調査する.


教えて!Ziddyちゃん - C言語の複素数についてです。


もしかすると....と思いまして,Visual studioLinux gcc にて
同codeを確認してみる.

なんと,Visual studio 2013では,動作しなかったが,Linuxgccでは動作しました.
しかし,Visual studio 2013 のC++ではきちんと動作しました...

どうやら,Visula studio 2013では,complex.hに定義されたライブラリ,C言語では動作しないぽい.
なんてこった....

class templateでの定義上での利用になっているのだろうか.
#define complexもダメでございました.

visual studio は2013からC99の大半を実装しているらしいのですが,やはりまだ幾つか機能も実装されてないらしい...
ということは,その実装されてないライブラリのひとつとして,complex.hがあるというのだろうかしら.

VTK6.2+Qt5.10+MSVS2012でVTK環境を構築する

たとえ仕事といえど,何度繰り返し入れまくったかわかりません.
これが私です.


今回は,VTK6.2+Qt5.10+MSVS2012でVTK環境を構築します.
環境は
 Windows 7.
 メモリ 6GB (←若干上がった♪
 IDE   Microsoft Visual studio 2012 SP1


ということで,まずはVTKの最新版をインストールします.


1. VTKのダウンロード
2014/07/16の段階でのGit版で私は頂きました.
まず,コンソールでVTKをインストールしたい場所へ移動します.

cd

:GitによるSourceの最新場所の置き場

ここで,以下のコマンドを行う.

git clone git://vtk.org/VTK.git

しばらく,15分ほどダウンロードを待ちますと,/VTKのディレクトリができます.
このディレクトリがGitによるVTKのソースになるわけです.
ここで,(調子にのって)もう一つ以下のコマンドを打ち込みます.

git clone http://vtk.org/VTKData.git

VTKのサンプルを動作させるとき,これらデータセットで動作させることになります.



2.CMakeによるConfig

CMakeの最新版をインストールしているということを条件とします.
先ほどの/VTK内のCMakeLists.txtをCMakeで開き,以下を設定します.

  • BUILD_SHARED_LIBS チェックオン
  • CMAKE_CONFIGURATION_TYPES Debug; Release
  • VTK_QT_VERSION    5 (5.10をインストールするためです.)
  • Module_vtkGUIsupportQt    Qt チェックオン
  • Module_vtkGUIsupportQtOpenGL Qt チェックオン
  • Module_vtkGUIsupportQtWebkit Qt チェックオン
  • Module_vtkGUIRenderingQt
  • VTK_Group_Qt チェックオン

また,CMake上の「Add Entry」をクリックし,以下を入力してOKを押下します.

Name -> CMAKE_PREFIX_PATH
Type -> PATH
Value-> C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64 (←自分の環境に合わせる)

これで,Configします.エラーがなければ,Generateを行います.


3. Visual studio 2012でBuild

Debugモードで,All_buildをBuild+INSTALLでBuildを行います.
その後,ReleaseモードでAll_buildをBuild+INSTALLでBuildを行います.

エラーがなければ,PATHをセットして終了.