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

2023/12/28

JAGURS on (intel) Mac w/ Homebrew

More recent information on June 4, 2024, we need to prepare ourself proj because proj@7 has been disabled. It's still available if you are using MacPorts.

Error: proj@7 has been disabled because it is a versioned formula! It was disabled on 2024-02-12.

(2024.9.6追記)

LIBS=-L$(PROJ4_DIR)/lib -L$(NETCDF)/lib -lnetcdff -lnetcdf -lsz -lproj $(FFTW3_LIB) -lm

のように,homebrew で他のバージョンのprojが /usr/local 等に入っている場合,自分で入れたPROJ4のディレクトリを先にリンカに指定する必要がある.


2023年12月27日現在の macOS Ventura 13.6.3 + Homebrew でのJAGURSのコンパイルについて再整理しておく。


  • gcc ... gfortran を使うので、gcc と gfortran をbrew で入れて、/usr/local/bin/gcc を使う。
    • FC=/usr/local/bin/gfortran
    • CC=/usr/local/bin/gcc
      • /usr/local/bin/gcc は無さそうなので, /usr/local/bin/gcc-14
  • proj ... メインのproj は、9.3.1 なので、おそらく動かない?ので、7.2.1 なproj@7 パッケージを使う。
    •   PROJ4_DIR=/usr/local/opt/proj@7
  • netcdf ... netcdf-fortran パッケージを入れる
  • fftw3 ... Homebrew のパッケージ名が fftw に変わってた
% brew install gcc gfortran proj@7 netcdf-fortran fftw


Makefile.gfortran をベースにして、以下の修正。

-FC=mpif90

+FC=/usr/local/bin/gfortran


-PROJ4_DIR=$(HOME)/local

-CC=gcc

+PROJ4_DIR=/usr/local/opt/proj@7

+CC=/usr/local/bin/gcc-13


-FFTW3_INCLUDE_DIR=$(HOME)/local/include

+FFTW3_INCLUDE_DIR=/usr/local/include


-NETCDF=$(HOME)/local

+NETCDF=/usr/local


-MPI=ON

+MPI=OFF


特殊な手続きは無しでコンパイル出来るようになったな。。。この記事の役割もほぼ終わったな。


input/ の中でそのままテスト計算(MPI部分はtsun.parから削除) on 1.4GHz dual cores Core i7

../src/jagurs par=tsun.par  4113.94s user 52.32s system 120% cpu 57:42.04 total

 

 



2022/02/06

JAGURS on MacOS Monterey with homebrew


 iMac 24" (M1)と iMac 27" (Intel) で改めてJAGURSで計算できる環境を作ったのでそのまとめ.

【訂正】2022.4.23

homebrew で, proj@7 が入っていることを同僚が教えてくれました.ので,proj-4.9.3は必要なく,Makefileで/opt/homebrew/Cellar/proj@7/7.2.1を/opt/homebrew/lib より前に指定すれば大丈夫なようです.かつ,最新版JAGURS(D0516)で,2020年に書いた mapproject.c の対応が本流に入ってるので,proj@7で無修正で動くようになりました.

ライブラリとして,netcdf, fftw3, proj4 が必要だけど,proj4は新しいのだと動かないので古いのを持ってくる.netcdfとfftw3は homebrew ので問題なし.

% brew install netcdf netcdf-fortran fftw3

proj4は,past-release から proj-4.9.3.tar.gz を持ってきました.

% ./configure --prefix=$HOME/local

% make

% make install


JAGURSのコンパイルは,Makefile.gfortran をベースにしました.

% rm Makefile (Makefile.SC_ICEに向いてるので)

% cp Makefile.gfortran Makefile


MPIはなし,とりあえず /usr/bin/gcc

% rcsdiff -u Makefile

===================================================================

RCS file: Makefile,v

retrieving revision 1.1

diff -u -r1.1 Makefile

--- Makefile    2022/02/04 21:52:49     1.1

+++ Makefile    2022/02/04 22:58:07

@@ -1,18 +1,18 @@

 # FC: Specify Fortran90 compiler command.

-FC=mpif90

+FC=gfortran


 # Added for displacement.

 # PRJ4_DIR: Specify PROJ.4 install directory.

 # CC&CFLAGS: Specify C compiler command and flags.

 PROJ4_DIR=$(HOME)/local

-CC=gcc

+CC=/usr/bin/gcc

 CFLAGS=-g -I$(PROJ4_DIR)/include


 # BASE: Specify basic compiler options.

 BASE=-cpp -fconvert=big-endian


 # FFTW3_INCLUDE_DIR: Specify FFTW3 include directory.

-FFTW3_INCLUDE_DIR=$(HOME)/local/include

+FFTW3_INCLUDE_DIR=/opt/homebrew/include


 # FFTW3_LIB: Specify linker options to link FFTW3.

 FFTW3_LIB=-lfftw3

@@ -21,7 +21,7 @@

 OPT=-O2 -fopenmp -I$(FFTW3_INCLUDE_DIR)


 # NETCDF: Specify the path to NetCDF library.

-NETCDF=$(HOME)/local

+NETCDF=/opt/homebrew


 # LIBS: Specify linker options.

 LIBS=-L$(NETCDF)/lib -lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lsz -L$(PROJ4_DIR)/lib -lproj $(FFTW3_LIB) -lm

@@ -40,7 +40,7 @@


 # MPI=ON: MPI version is made.

 # Else, serial version is made.

-MPI=ON

+MPI=OFF


 # USE_ALLTOALLV=ON: Use MPI_Alltoallv for inter-nest communications.

 # Else, MPI_Allreduce is used.

 

せっかくなので,inputにあるサンプルをベースにして,ベンチマーク.

Intel ... 3.6GHz 10コア第10世代Intel Core i9プロセッサ

M1 ... 4つの高性能コアと4つの高効率コアを搭載した8コアCPU、8コアGPU、16コアNeural Engineを持つApple M1チップ

% cat gridfile.dat

SD01 SD01 1 bathy.SD01.grd disp.SD01.grd

SD02 SD01 0 bathy.SD02.grd disp.SD02.grd

SD03 SD02 0 bathy.SD03.grd disp.SD03.grd


tsun.par:

dt=0.5

tend=21600

itmap=1200


こんな感じの設定で,M1はフルに8コアなので,Intelもそれに合わせて OMP_NUM_THREADS=8 に制限して実行した.

Intel ... All 5187.004 [s](デフォ20coresで 4823.238[s])

M1 ... All 5174.547 [s]


2020/11/25

JAGURS on MacOS Big Sur with homebrew


自分の環境のパッケージ管理を MacPorts から homebrew に乗り換えたりしたので改めてJAGURS を作り直してみる.ソースコードは,github から latest release になってる V0515a を持ってくる.使う環境は以下の通り:

MacBook Air (13-inch, 2017)

2.2GHz dual core Intel Core i7

8GB 1600MHz DDR3 memory

Big Sur

ライブラリのインストール

% brew install gmt fftw

 どうやら,proj_api.h が標準include pathに入ってくれなくなった?ようです.ので,

% find /usr/local -name proj_api.h

で探して,出てきたディレクトリを 

PROJ4_DIR=/usr/local/Cellar/proj@7/7.2.1

のように設定して下さい.以下のMakefileでは設定されていません (汚い).

Makefileの編集(編集後のファイルをリンク先に置いておきます)

Makefile@ -> Makefile.SC_ICE されてるので,とりあえず解除してから編集しています.編集箇所は,コンパイラを gcc-10, gfortran-10 にして,ライブラリ関係を /usr/local に設定. -lfftw が必要.MPI= なしに設定.-openmp は -o penmp として機能してしまうので, -fopenmp に修正.

% rm Makefile

% cp Makefile.SC_ICE Makefile

% rcsdiff Makefile

===================================================================

RCS file: Makefile,v

retrieving revision 1.1

diff -r1.1 Makefile

2c2

< FC=ifort

---

> FC=/usr/local/bin/gfortran-10

7,9c7,9

< PROJ4_DIR=/home/G10004/t-katou/JAGURS/local

< CC=icc

< CFLAGS=-g -traceback -I$(PROJ4_DIR)/include

---

> PROJ4_DIR=/usr/local

> CC=/usr/local/bin/gcc-10

> CFLAGS=-I$(PROJ4_DIR)/include

12c12

< BASE=-fpp -assume byterecl

---

> BASE=-cpp

18c18

< FFTW3_LIB=-mkl=sequential

---

> FFTW3_LIB=-lfftw3

23c23

< OPT=-O2 -openmp -openmp-report2 -I$(FFTW3_INCLUDE_DIR)

---

> OPT=-O2 -fopenmp

27c27

< NETCDF=/opt/atlocal/netcdf/4.1.3

---

> NETCDF=/usr/local

31c31

< LIBS=-i-dynamic -L$(NETCDF)/lib -lnetcdff -lnetcdf -L/opt/atlocal/supplibs/lib -lhdf5_hl -lhdf5 -lcurl -lsz -L$(PROJ4_DIR)/lib -lproj $(FFTW3_LIB) # for NetCDF4!

---

> LIBS=-L$(NETCDF)/lib -lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lcurl -lsz -lproj $(FFTW3_LIB) # for NetCDF4!

47c47

< MPI=ON

---

> MPI=


あと,mapproject.c の修正が必要です.#include <proj_api.h> の前に #define ACCEPT_USE_OF_DEPRECATED_PROJ_API_H を追加します.

% rcsdiff -p mapproject.c

===================================================================

RCS file: mapproject.c,v

retrieving revision 1.1

diff -p -r1.1 mapproject.c

*** mapproject.c        2020/11/25 05:49:41     1.1

--- mapproject.c        2020/11/25 05:50:08

***************

*** 1,6 ****

--- 1,7 ----

  #include <stdio.h>

  #include <string.h>

  #include <stdlib.h>

+ #define ACCEPT_USE_OF_DEPRECATED_PROJ_API_H

  #include <proj_api.h>


  static  projPJ pj_tmerc, pj_latlong;

 

2020/07/24

Postfix on MacOS

なんか試行錯誤してやっとたどり着いたので記録.自宅などで,private net に隠れた Mac から,プロバイダのSMTPサーバ経由で外にメールを送る設定をする手順.

まず,relayhost を main.cf に設定する.
relayhost = smtpserver.example.com:port#

あとは巷にあふれるSMTPの設定."Mac postfix gmail" とかで検索すると情報いっぱいある.
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
smtp_use_tls = yes

で,最後にやっと解決できたのは,メールの from アドレスの書き換え.SMTP認証が通っても,from が正しくないと通してくれない.うちの場合は, "Sender address rejected: not owned by user xxx@xxxx.example.com" と言われました.ので,これを強制的に書き換えてあげる必要があって,sender_canonical_maps に変換テーブルを作ってあげる.
sender_canonical_maps = hash:/etc/postfix/sender_canonical
local_header_rewrite_clients = static:all

中身↓
naotaka@(hostname).local email-address-in-provider

% sudo postmap /etc/postfix/sasl_passwd
% sudo postmap /etc/postfix/sender_canonical

(余談)
From アドレスの書き換えには, main.cf の myhostname を書き換えることでも対応可能なようにも思えるのですが,そこでは,naotaka@$myhostname になってしまいます.この naotaka がプロバイダのアカウントと一致してないといけないので,弾かれてしまいました.かつ,xxx@$myhostname の xxx が Mac に存在しないと不達になるという罠もあるので, myhostname は無視で,sender_canonical が正解でした.

(残課題)
SMTPUTF8 is required, but was not offered by host [provider-smtp-server] というエラーは出ていて,どうやら subject に日本語が入っていると通らなくて,crontab でディレクトリに日本語が入ってるスクリプトを起動してると subject に日本語が入ってしまって送れないという罠が残ってます.これはsmtp server 側の機能不足?か,client でencode してあげれば良いだけ?

(参考) https://tech-lab.sios.jp/archives/12289

2020/06/08

Matplotlib on Mac

http://ekbo.blogspot.com/2020/02/matplotlib-on-mac-homebrew.html

混沌としてきた.Catalina にアップグレードするタイミングで, Python 3.8 が供給されたのか,タイミングは分からないけど,自分にとっては同時になってしまった.

>>> import matplotlib.pyplot as plt
ImportError: numpy.core.multiarray failed to import
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/homebrew/lib/python3.7/site-packages/matplotlib/__init__.py", line 205, in <module>
    _check_versions()
  File "/opt/homebrew/lib/python3.7/site-packages/matplotlib/__init__.py", line 190, in _check_versions
    from . import ft2font
ImportError: numpy.core.multiarray failed to import

発端はこいつ.Pythonでグラフが書けなくなった.何が起きているのか全く分からなかったのだが,

% brew search python3

で判明.python@3.8 が供給されていて,インストールされている!!何かが起きても仕方がない状況が生じてしまったようだ...諦めて,

% /opt/homebrew/opt/python@3.8/bin/pip3 install matplotlib

で入れ直し.動いた.3.7 の削除をすべきか?

ps.
pipにしようかどうしようかと思っていたところもあったが,brewでpython入れると,

# You can install Python packages with
# /opt/homebrew/opt/python@3.8/bin/pip3 install <package>
って言われてる.従え.

2020/02/22

Matplotlib on Mac Homebrew

matplotlibの入れ方更新 -> https://ekbo.blogspot.com/2020/06/Matplotlib-on-Mac.html 2020.6.8

自分がどうするかの宣言も含めて,Mac OS X の Homebrew の Python (Version 3) でどう環境を構築するか.

そもそも Python 自体のインストールが混沌としてしまっている...

  1. QGISのためのパッケージインストール.確か,QGISのインストールで,Python3 をバイナリパッケージで入れろと言われた気がする.
  2. MacPorts がまだ Homebrew への完全移行が終わっていないので残ってる.
  3. Homebrew で入れた

/Library/Frameworks/Python.framework/Versions/3.6/bin/python3
/opt/homebrew/bin/python3
/opt/local/bin/python3
/usr/local/bin/python3
一つ多い....

で,Matplotlib をはぢめましょう.と思ったときに,ふと,,,どうすんだ?

確実に,Homebrew の環境で作業するために,
/opt/homebrew/bin/pip3.7 install matplotlib
にしました.pip3 で十分ですが... pip とすると, Version 2 と Version 3 を見失う場合があるので念の為(自分は,Python2 をインストールしていないので混乱しませんが).

#!/opt/homebrew/bin/python3

import sys
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

t = np.arange(0,2*np.pi, 0.1)
plt.figure(1)
plt.plot(t, np.sin(t))
plt.show()

sys.exit(0)

動いた!


2020/02/21

sshpass on Homebrew

MacPorts から, HomeBrew へ乗り換えを進めています.

% brew install sshpass
Error: No available formula with the name "sshpass"
We won't add sshpass because it makes it too easy for novice SSH users to
ruin SSH's security.

1つ,移行が出来なかったのが sshpass.まぁ,言ってることも分からんでもない.が,今どきログインパスワード(公開鍵を使ってない)な時点で意識低いということで,自分専用端末からだけは使う.

macOS に Homebrew で sshpass をインストールするに書かれているようなHomebrew の中でなんとかする!という方針もありですが,それも面倒なので,ソースから.

どこにあるかは,port に教えてもらう.
% port info sshpass | grep Homepage
Homepage:             http://sourceforge.net/projects/sshpass/

私の趣味的には, ~/local なので,
% ./configure --prefix=$HOME/local
% make
% make install

2020/01/12

autofs & NFS on Catalina (途中経過)

データ共有がNFSでされているので,Macからも autofs 使って NFS にあるデータにアクセスできるようにしていたのですが, Catalina にした瞬間からアクセス不能. autofs は動いているようで,マウント先ディレクトリの作成は出来てる.が,remote の情報が必要になる瞬間から, ls しても, no such file or directory になってしまう.2台とも同じ症状なので, Catalina化が原因なのはほぼ確定.Mojave がなくなってしまったので確定とまではいかないけど...

どうやら,「【解決済】macOS Catalinaで NFS マウントに失敗する。(stale NFS file handle or permission denied)」のように,MacOS を NFS サーバにしていると, /etc/exports の書き方が変わった(相対パス→絶対パス)ようで,そのトラブルが多い模様.

私の場合 autofs / automount から NFS をマウントしているだけど, automount によるマウントポイントのディレクトリは作成されるものの, ls しても無いと言われる・・・ので, NFS クライアントに何らかの不具合がありそう.

と思ったけど, mount_nfs 使って手動でマウントしたところ,アクセスできた!ということは,automount から NFS クライアントへの連携のところか...

(一旦,公開)

2020/01/09

JAGURS on Catalina with HPC Compiler for MacOS X


HPC Compiler for MacOS X を Catalina で使うには,ちょっと面倒なようです.

コマンドラインで gcc を利用すると,「開発元を検証できないため開けません。」というポップアップが表示されてしまいます.よくあるセキュリティ上の警告ですが,なにせ,実行ファイルを1つ1つ対処してあげなければいけないので,JAGURS を make するには,

/usr/local/bin/gcc
/usr/local/bin/gfortran
/usr/local/libexec/gcc/x86_64-apple-darwin19/9.2.0/cc1
/usr/local/libexec/gcc/x86_64-apple-darwin19/9.2.0/collect2

の4つが必要でした.さらに,実行時にダイナミックライブラリのリンクでも必要で, .dylib 毎に聞かれます・・・一気にYesにする方法もありますが,ちまちまやるとしたら,システム環境設定を開いておくと,一つ一つ聞かれました.Ctrl+open よりは楽です.



2019/12/12

JAGURS compilation using Homebrew on MacOS

まだ MacPorts 使ってるの?とか言われてしまったので, Homebrew へ.主に何に使ってたかと言うと, JAGURS なので,まずは JAGURS がコンパイル出来るように整備してみた.

が,Makefile のバージョン管理に RCS 使ってたので,先ずは,
% brew intall rcs

それ以前としては, /usr/local に入っている HPC compiler を上書きさせないために, /opt/homebrew をインストール先にした.参考にした記事はこちら
cd /opt
sudo mkdir homebrew
sudo chown ${USER}:staff homebrew
curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew

依存ライブラリのインストール
 % brew install netcdf
 % brew install proj
 % brew install fftw
(伴って gcc のインストールも始まっていて重い・・・)

Makefile:
PROJ4_DIR=/opt/homebrew
FFTW3_INCLUDE_DIR=/opt/homebrew/include
NETCDF=/opt/homebrew

% make
In file included from mapproject.c:4:
/opt/homebrew/include/proj_api.h:37:2: error: #error 'To use the proj_api.h you must define the macro ACCEPT_USE_OF_DEPRECATED_PROJ_API_H'
 #error 'To use the proj_api.h you must define the macro ACCEPT_USE_OF_DEPRECATED_PROJ_API_H'
  ^~~~~

mapproject.c で,proj_api.h を include する前に, ACCEPT_USE_OF_DEPRECATED_PROJ_API_H を定義してあげると, make が通るようになります.

% cat mapproject.patch
*** mapproject.c        2019/12/11 20:49:39     1.1
--- mapproject.c        2019/12/11 20:51:04
***************
*** 1,6 ****
--- 1,7 ----
  #include <stdio.h>
  #include <string.h>
  #include <stdlib.h>
+ #define ACCEPT_USE_OF_DEPRECATED_PROJ_API_H
  #include <proj_api.h>

  static  projPJ pj_tmerc, pj_latlong;

もしくは,proj をバージョン5にするという解決策もあるようですが,,,悩みどころ.

参考までに,GitHub上のOSGeoのチケット

2019/10/23

Dropboxに写真を同期

iPad(昔はiPhone)で撮った写真と動画の管理って,Macだと意外(?)と面倒なようで,Macに接続してもストレージとしてマウントしてくれないので,何かのツールにお任せする必要があるようです(ホントか?).

最終的に,Dropboxに行き着いていたのだけど,どうも最近,iOS (iPadOS) のWi-Fiで同期済のものが,USBで有線接続したら重複してDropboxに入るようになってしまった.同期済みのものが「カメラアップロード」フォルダに残っていれば, -1.jpg のようなファイル名になって同定が用意なんだけど,既にrenameしていたり,移動していると何のことか良く分からない...

というわけで,Mac側の設定をOFFにしました.設定→インポートの「デバイス」から対象の端末を削除すれば良いようです.

2019/10/07

stdio.h が無いって・・・

久しぶりにコンパイルしようと思う度にひっかかるので自分でも書いておく.

/usr/local/lib/gcc/x86_64-apple-darwin17.5.0/8.1.0/include-fixed/stdio.h:78:10: 致命的エラー: _stdio.h: No such file or directory
 #include <_stdio.h>

よっぽど何かが壊れないとならなさそうな状況にOSをupdateするとなってしまう.まぁ,ともかく,
% open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
で良いそうだ.

Missing /usr/include w/ Xcode 10
macOS Mojave にアップデートしたら stdio.h がないって言われた

2018/11/05

JAGURS on OSX (Brief summary in en)


I succeeded to compile and run JAGURS on Mac OSX in the following steps.

1. Install libraries via MacPorts

$ port install netcdf +dap +netcdf4
$ port install netcdf-fortran +gcc8
$ port install proj
$ port install fftw-3 +gfortran
$ port install szip

2. Install compiler from HPC Mac OS X compiler.

3. Download JAGURS from GitHub

4. Modify Makefile using CC=/usr/local/bin/gcc and FC=/usr/local/bin/gfortran. You should use -cpp option in gfortran command line to use preprocessor and -fopenmp option to use OpenMP directive. OR download Makefile.MacOSX.0500 and save as Makefile in src/ directory (diff patch).

日本語はこちら

2018/10/23

JAGURS on Mac 2


だいぶ時間も経ったし,JAGURSも新しくなったので手順の見直しも兼ねて再整理しておきます.以前の記事はこちら

基本的な環境は以前と同じ.



$ port install netcdf +dap +netcdf4
$ port install netcdf-fortran +gcc8
$ port install proj
$ port install fftw-3 +gfortran
$ port install szip

修正後Makefile
Makefileの差分

というわけで,v0501になっても,手順の変更はなしでした.

せっかくなのでバイナリも配ろうかと思いましたが,どうやらMac OSXではstatic linkが出来ないとのこと...諦めます(手順を教えて頂ける方がいらっしゃいましたらやります).これで出来る??? https://code.i-harness.com/ja/q/ce413

2018/03/24

Keybord settings

Macで新しいキーボードを手に入れてから(Magick Keyboard の雰囲気が随分変わってしまったので古いマシンも書い直した)最初にやるのはこれ↓

Caps Lock を ^Control に割り当てる.

キーボードを英語配列にしたのは,Happy Hacking を使い始めた頃かな…その前が思い出せない...学校や自宅のPC-9801は当然日本語配列だったはずだし,その後, Mac LC 475を中古で買った頃も何も考えてなかったはずだから日本語配列だったと思われる.たぶん,その後のデスクトップはLinux boxで作る世界に入ったから英語にしたのかも.その原因は,研究で使ってた Solaris 端末の影響か?その後,VAIO noteで英語配列が選べる時に英語にしたことで,完全US配列化した.それが,505だったのか,SRだったのか思い出せない.移行,ずっとUS配列で来たので "A" の左に Ctrl が居てくれないと手がついて行けないのよね.

一方で,キーピッチやキーストロークには一切の趣向は持っていません.どんなキーボードでも基本的には指が合わせてくれます.

おまけは余ったMagick keyboardをiPad miniに繋いでみたの図


2018/03/19

VMWare windowsの画面が真っ黒

なかなか困りました.
VMWare fusionでWindowsを動かしていますが,ひょんなことから(いつからか不明)画面が真っ黒なままなかなか操作できない.マウスを持っていくと,ぐるぐるマークが回っているので何かは動いている模様.仮想マシンメニューで再起動しようがシャットダウンしてから起動しようが,Windowsの起動画面っぽいところまでは見えてるけど,すぐに真っ黒.常時真っ黒かというと,一瞬ちらっとログインプロンプトが見えて利する状態.

で,何で解決出来たかというと,設定ウィンドウの中の「ディスプレイ」で,「Retinaディスプレイのフル解像度を使用」のチェックを外した所,無事に表示されました.その後チェックをONにしても動いているようなので,このオプション自体が悪さをしているといういわけでもなさそうです(これまでも使えてたし).何らかのリセットがかかって無事に認識されたのでしょう.


2018/03/17

Mewのマスターパスワード(Google2段階認証)

Mewでマスターパスワードを設定すれば,個々のIMAPやPOPのパスワードを覚えなくても良いというのは知ってはいたのですが,なんとなく使っていませんでした.

が,Googleの認証を2段階認証にしてしまうと,アプリパスワードが必要になって,こいつがとてもじゃないけど覚えられたものじゃない...8桁の不規則パスワードならなんとか覚えてましたが,12桁は無理.「ほとんどの場合、アプリ パスワードはアプリや端末ごとに一度入力するだけなので、覚える必要はありません。」とか手順書に書かれている通り,パスワードはアプリが記憶するものともう世の中(Google)が決めてしまっているんですね.Mewで起動するたびに入力する時代は終わったか.

というわけで,mewでもパスワードを覚えてもらうために,mew-use-master-passwdを設定しました.GnuPGは,MacPortsでgnupg2を入れました.Mew側はGnuPGのバージョンは複数ケアしてくれてるようです.
% port installed gnupg2
The following ports are currently installed:
  gnupg2 @2.2.5_0+pinentry_mac (active)


2017/12/20

JAGURS on Mac (High Sierra)


*** 最近のMacPorts はproj がバージョン5になって,ディレクトリ構造が変わったので Makefile も更新しています.最新の記事を参照して下さい. ***

JAGURSをMacで使う手順は,JAGURS on Mac でまとめましたが,手元がHigh Sierraになったので仕切り直し.

ライブラリ関係は,MacPorts で入れてます.
  • NetCDF
    • netcdf @4.4.1.1_1+dap+netcdf4 (active)
    • sudo port install netcdf +dap +netcdf4
  • netcdf-fortran @4.4.4_1+gcc7 (active)
    • sudo port install netcdf-fortran +gcc7
  • PROJ4
    • proj @4.9.3_0 (active)
    • sudo port install proj
  • FFTW3
    • fftw-3 @3.3.5_1+gfortran (active)

netcdf-fortran の variants を +gcc7 にしました.

HPC for Mac OS X は,High Sierra 版がないので,Sierra 対応な 7.1 を入れました.大事なことを書き忘れていた気がします.JAGURSは,V0407 です.Makefile前回の記事から変更していません.


2017/12/14

Mac OS X の mail コマンドでメールを送る

外向けの 25 番ポートが塞がれているというのはよくある話かと思います.その場合,Postfix の設定ファイルである /private/etc/postfix/main.cfrelayhost を設定してあげれば動くようになります.

relayhost = smtp.example.org

確認は, /var/log/mail.log で出来ます.

あとは,,,認証が入っていることが殆どだと思いますので,その場合は,
relayhost = smtp.gmail.com:587

# GMail SMTP confguration
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
smtp_use_tls = yes
のように設定することが出来ます(GMailの例).

パスワードを設定している /etc/postfix/sasl_passwd は,
smtp.gmail.com:587 username:password
のように記述します.

ほぼ自分用のメモでした...

2017/12/12

Emacs利用のためのiTerm2設定

iTerm2内のEmacsでMewを快適に使うためのキーバインディングを書いてましたが,自分でも新しいマシンに同じ設定をするのが面倒なのでまとめ.

⌘-d ⇒ M-d
⌘-x ⇒ M-x
⌘-< ⇒ M-<
⌘-> ⇒ M->
⌘-u ⇒ M-u
⌘-w ⇒ M-w
⌘-q ⇒ M-q
⌘-% ⇒ M-%

設定時,⌘-%がスクリーンショットに盗られてしまうので設定出来ないので,設定→キーボード→キーボードショートカット→スクリーンショットで設定を解除する必要がある(2024.11.22追記)

(副作用)
⌘-w ・・・ Windowのcloseが出来なくなります.が,ターミナルの場合は,exit (C-d)でclose出来るので弊害はない.
⌘-q ・・・ iTerm2の終了が出来なくなりますが,exitで各windowをcloseしてあれば,⌘-qがiTerm2の終了として動作します.

(禁忌)
⌘-v ・・・ こいつはペーストなのでやらない
⌘-$ ・・・ スクリーンショットの呼び出しと衝突する

具体的な手順は,iTerm2内のEmacsでMewを使うに書いてあります.

(修正履歴)
2018/02/01 ⌘-q を忘れていたので追記