mol2psをMacOS Catalinaで使えるようにする


mol2ps実行時の「bad CPU type in executable」への対応

背景

mol形式のファイルを、pngに変換する時に、mol2psを使用していた。
以前は、下記のページからダウンロードして、実行件をchmodで付与すれば使用できた。
https://homepage.univie.ac.at/norbert.haider/cheminf/mol2ps.html
(ここで「Mac OS X (x86) executable: mol2ps-latest-macosx-x86.gz 」をダウンロード)

MacOSをCatalinaに変更した後、同様の手順を行うと下記のエラーが表示された。

~ $ mol2ps 
zsh: bad CPU type in executable: mol2ps

「Apple dropped support for 32bit executables with Catalina 10.15.」が原因?
「Mac OS X (x86) executable」をダウンロードしたのだから、こう言われれるのですね......
もう32ビットにはサポートしてくれないんだ ぐすん...

対応策

ソースから

1. Free Pascalをインストールする

~ $ brew install fpc
==> Pouring fpc-3.0.4_1.catalina.bottle.tar.gz
/usr/local/Cellar/fpc/3.0.4_1: 3,309 files, 190.1MB

2. ソースをダウンロードして、コンパイルする
mol2psのページにはソースコードもあるのでまずこれをダウンロード source code: mol2ps.pas
コンパイルは1.で用意したFree pascalを使用する

$ fpc mol2ps.pas -S2
Free Pascal Compiler version 3.0.4 [2019/10/11] for x86_64
Copyright (c) 1993-2017 by Florian Klaempfl and others
Target OS: Darwin for x86_64
Compiling mol2ps.pas
Assembling (pipe) mol2ps.s
Linking mol2ps
ld: warning: building for macOS 10.5 is deprecated
8870 lines compiled, 13.1 sec
$ ls -lth |head -n2
total 36240
-rwxr-xr-x   1 hoge  staff   1.4M  5 18 15:41 mol2ps

 pascalは初心者以下のレベル、初めて使った.....
 fpc -hコマンドでオプションを調べて、「-S2 Same as -Mobjfpc」だけ付けてみた。
 ※ 詳しい方がいらしたら教えてください(モヤモヤしています、追記したいです)

3. コンパイルされたmol2psを使ってmol→psの変換を実行

$ ./mol2ps  --bgcolor=white --scaling=1.0 sample.mol > sample.ps