なんだこれは

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

darkmatter on macOS で libev がみつからないとき

TL;DR

darkmatter といえば、Common Lisp のノートブック形式の環境。macOSで darkm を実行するとlibevがみつからないときがある。

LD_LIBRARY_PATH=/opt/local/lib darkm 

としてやるとうまくいく。 ここで /opt/local/lib は libevのあるパス

続きを読む

日本人の人口が減るなら

  • 日本人の人口が減る
  • 日本人のプログラマーの人口が減る
  • 日本の大規模開発で、(例えばJavaの)プログラマーの人数が集められなくなる
  • 日本の大規模開発は廃れる、または海外へ発注となる
  • 小数精鋭で開発できる言語が優位になる
  • ここに lispとか、Haskellが入ったらいいなぁ

ChezSchemeはmacOSの標準のlibiconvではビルドとおらない?

ChezSchemeを macOSでビルドした。

./configure --threads
make

すると、

gcc -m64 -Wpointer-arith -Wall -Wextra -Werror -O2 -I/opt/X11/include/ -o ../bin/ta6osx/scheme ../boot/ta6osx/kernel.o ../boot/ta6osx/main.o -liconv -lm -lncurses -L/usr/lib
Undefined symbols for architecture x86_64:
"_libiconv", referenced from:
_s_iconv_to_string in kernel.o
_s_iconv_from_string in kernel.o
"_libiconv_close", referenced from:
_s_iconv_close in kernel.o
"_libiconv_open", referenced from:
_s_iconv_open in kernel.o
ld: symbol(s) not found for architecture x86_64

というエラーが返る。/usr/lib/libiconv.2.4.0.dylib ではだめなもよう。
そこでふと、macport版のlibiconvではどうかと

LDFLAGS="-L/opt/local/lib" ./configure --threads
LDFLAGS="-L/opt/local/lib" make

とするとうまくいった。

あとで調べると、Error linking libiconv on OSX によると、macOS標準のlibiconvが古すぎるからだめ、とのこと。なるほど。