なんだこれは

はてなダイアリーから移転しました。

Solved: VirtualBox on macOS big sur does not work well

Solved: VirtualBox on macOS big sur does not work well

macOS Big SurでVirtualBoxが動かないので対応した話を読んでそのとおりにした。

sudo kmutil load -b org.virtualbox.kext.VBoxDrv

これを実行したあとシステム環境設定→ セキュリティとプライバシー→一般 を開くと再起動を求められた。

再起動の後、VirtualBox を起動して Linux イメージを起動すると、アクセス許可を設定するよう指示がでた。

アクセス許可は二種類あったかもしれない。

Big Sur でも Qt Linguist がつかいたい

Big Sur でも Qt Linguist がつかいたい

TLDR; Qt 公式のインストーラ

私は、CppCheck のGUI部分の日本語翻訳を担当している。そのGUI部分は Qtなので、Qt Linguist が使いたいのである。さてどうしよう。macOS を Big Surにアップグレードしてしまったぞ。

  1. macport を使う
  2. homebrew を使う
  3. 誰かの野良ビルドを使う
  4. Qt 公式のを使う

1. macport を使う

brew じゃなくて port なのに特に意味はなかった。強いていえば、以前から macport を使っていたから。

たぶんできるだろうとたかをくくってトライしてみたものの macport では qtlinguist はなんというport なのかがわからない。適当にqt5-qtbase かと インストールにチャレンジすると、インストールできなかった。Big Sur は 11.0 なのに 10.16 って検出されてエラー吐いて死 ぬみたい。もうすでに検討中の もよう。5.15.2 ならできそうという情報だけがわかった。

2. homebrew を使う

はいはい、最初っから brew/cask 一択じゃん?と思うだろ。違うよ、 Qt-Creator ならこれで正解だよ。みんな好きなんかな。

brew install --cask qt-creator

でも、これじゃあ qt-creator ははいるけど、qt-linguist はいらないよね、 たぶん。でもダメ元でインストールしてみるか。やっぱりはいらないじゃん。 そうだよね。はは、cask に qt-linguist ないのか。ないのか。

3. 誰かの野良ビルドを使う

えー、じゃあ、 lelegard/qtlinguist-installer いっとく?うん、とりあえずインストールして使うならそれでいいのかな?ま、 インストールしてみたら動作はするね。うん。でも野良ビルドいれたくない なぁ。

公式に macOS 用にビルドしてくれないかなぁ。チラっ

4. Qt 公式のを使う

というわけで、公式いっておきますか。Supported Platform に 11.0 ないけど、これは更新が遅れているだけだよね。そうであってください。

さて、Open Source Qt Use のページにいくと、一番下にDownload the Qt Online Installer ってあるね。ははーこれかな。

4.1 Qt Online Installer

Qt Online Installer を起動すると、おしゃれなインストーラーがでてくる。ぽちぽちとすすめればいいんかなと思っていたら、Qt アカウント作成してよといわれる。

4.2 Qt アカウント

よしよしと Qt アカウントを作成して、オープンソースとして利用とか個人として開発とかにポチポチするだけだったよしよし。

4.3 Qt Online Installer

あとはダウンロードが終るのを待つだけだった。最初から Qt Online Installer を選べばよかった。

4.4 更新

$QtInstallDir/5.15.2/clang_64/bin に Linuguist がインストールできていた。これだよね。起動確認と。 あとは、$QtInstallDir/5.15.2/clang_64/bin に Linuguist がインストールできていた。これだよね。起動確認OK。

更新は $QtInstallDir/MaintananceTool.app からできるもよう。よかったよかった。

消毒用アルコール

消毒用アルコール

新型コロナ禍のさなか、手指の消毒用のアルコールはさまざまなところにある。ちょっと店に入ればそこに、アルコール消毒が置いてあるのだ。

その手指消毒用のアルコールは何の変哲もない普通の容器にはいっていた。プッシュしたら透明のアルコールがしゅっとでる。そこになんの疑いもせずに、私は押した。

にゅるにゅるっと粘度の高いアルコールがでてきた。アレナニカオカシイゾ。しかし次の人も後ろに控えているので一歩前、一歩前とすすんでしまう。アルコールなのか?どろどろとした透明の液体がべっとりと手についたままだった。アルコールだよね。アルコールだよね。そういいきかせてもう一歩前へ。どろりとしたままの手ですたすたと前にすすむしかなかった。アルコールってジョウハツするんじゃなかったけ。あれおかしいな。どろどろのままだった。

アルコール消毒したはずが、べっとりとした粘性アルコールのなにかまみれだ。

しかたがないのでティッシュでぬぐいとったが、取れたきがしない。なんだこれ。 最終的にトイレにかけこんで石鹸でしっかりと手を洗った。結局アルコールいらなかったな。

Big Surに macports の emacs-app-devel をインストールすると依存関係で rust がはいる。

BigSur に macportsemacs-app-devel をインストールすると依存関係で rust がはいる。

macOS を BigSur にアップグレードしたら、次にすることは homebrew ? いいえ、homebrew は正式対応していないから、macport だよね。

emacs-app-devel は昨日インストールしようとしたら、llvm-9.0 がダウンロードできない問題があったけれども、今日llvm-9.0 をインストールしようとしたら成功した。ありがとう macports チーム。

さて、llvm-9.0 がインストールできたので emacs-app-devel がインストールできるだろうと、sudo port install emacs-app-devel を実行した。実行したら、依存関係で rust をダウンロードしている。そういうものなのか。

macOS を BigSur にアップグレードした。

macOS を BigSur にアップグレードした。

macOS を BigSur にアップグレードしたら、次にすることは homebrew ? いいえ、homebrew は正式対応していないから、macport だよね。

ってことで移植していたらあちこちでひっかかる xz と libiconv を先にいれておくのが吉。なぜか依存関係が壊れていた。

それから lv は https://trac.macports.org/ticket/61512 なぜか、header がなかった。build で失敗する。失敗したら エラーみて、ソースコードのフォルダに移動して直してもう一回 sudo port install lv で OK。ただし、diff をローカルに保存しておくのは忘れないように。

しかしまだ、emacs-app-devel がインストールできていない。これは問題だな。

emacs-28 と emacs-27 に更新

emacs-28 と emacs-27 に更新

mac port の emacs-devel-app を更新すると emacs 28 が、homebrew のemacs を更新すると emacs 27 がインストールできた。

emacs-27 のフォルダを、emacs-28 にコピーしてemacs-version で読み込ませるinit.el を分岐させて終了。

;;; emacs init files
;;;
 (cond
   ((string-match "GNU Emacs 28\\." (emacs-version))
    (load "~/.emacs.d/emacs-28/init.el"))
   ((string-match "GNU Emacs 27\\." (emacs-version))
    (load "~/.emacs.d/emacs-27/init.el"))
  ((string-match "GNU Emacs 26\\." (emacs-version))
    (load "~/.emacs.d/emacs-26/init.el"))
   ((string-match "GNU Emacs 25\\." (emacs-version))
    (load "~/.emacs.d/emacs-25/init.el"))
   ((string-match "GNU Emacs 24\\." (emacs-version))
    (load "~/.emacs.d/emacs-24/init.el"))
   ((string-match "GNU Emacs 23\\." (emacs-version))
    (load "~/.emacs.d/emacs-23/.emacs"))
   ((string-match "GNU Emacs 22\\." (emacs-version))
    (load "~/.emacs.d/emacs-22/.emacs"))
   )

cppcheck を Xcode でビルド

cppcheck を Xcode でビルド

cppcheck を Xcode でビルドする方法があるかもしれないといろいろいじっていた。なぜってgithubリポジトリに、Xcodeのプロジェクトがおいてあるからである。そもそもXcodeを使ったことがないのに何はじめちゃったんだろう。

しばらくして、cmake で Xcode Project を生成できることがわかった。

git clone git@github.com:danmar/cppcheck.git
cd cppcheck
cmake . -G Xcode

これで Xcode プロジェクトが生成できる。生成したXcodeプロジェクトをXcodeで開くといい。たぶん。ビルドはできた。