binutils-2.18 build problem on MacOS X

I have installed binutils-2.17 for i386-pc-mingw32 on my MacBook and iMac, and now going to try x86_64-pc-mingw32 (MinGW-W64). However, binutils-2.17 doesn’t support x86_64-pc-mingw32.
So I tried to build binutils-2.18. But… failed. While building target “bfd”, make fails because “makeinfo is missing.”
I have makeinfo-4.11 in /opt/local/bin. Why?
The reason was that makeinfo-4.11 is too new to binuitls. MacOS X has makeinfo-4.8 in /usr/bin, so I changed my PATH, and gave priority to /usr/bin/makeinfo. Then I’ve done with:
% ../binutils-2.18/configure –prefix=/Users/yasu/mingw64 –target=x86_64-pc-mingw32 –with-build-time-tools=/opt/local/bin
% make
% make check

Boost その後

Crosscompiling Boost C++ library with MinGW libraries (on MacOS X): updated.
I have:
– MinGW toolkit (gcc and binutils) and libraries in /Users/yasu/mingw/
– GTK and related libraries including ZLIB and BZ2LIB in /Users/yasu/mingw/GTK/
– bjam for MacOS X, installed by MacPorts
I need:
– boost-regex
– boost-iostreams
– boost-filesystem
And here’s how I got them:
% cd boost_1_35_0
% vi tools/build/v2
using gcc : 4.2 : i386-pc-mingw32-g++-4.2.1 : <compileflags>-I/Users/yasu/mingw/GTK/include <linkflags>-L/Users/yasu/mingw/GTK/lib ;
% bjam -sTOOLS=gcc -sGXX=g++ –with-regex –with-filesystem –with-iostreams install –prefix=/Users/yasu/mingw –build-type=complete
Mmm, bjam syntax is something cool, but difficult for me…
And just one more thing, we need to run runlib prior to use the libraries. For example:
% i386-pc-mingw32-ranlib libboost_regex-mgw42.a

吉田先生と Tour de Keio

吉田先生がasahi.comに載ってる
学科は違うし、一度もお話したことはなかったのだけれど、いつもロードレーサーに乗って出勤される姿を拝見して、俺もいつかああいう教授になるんだ、と思っていました。かっこよかったし、何よりもスゲエいい人そうだった。
突然研究室の前に「立入禁止」の紙が貼られたと思ったら、心不全で亡くなられたとのこと。まだ若かったのに、本当に残念です。
吉田先生が企画された、福沢先生の生家から大学まで 1200km を走る Tour de Keio は、今日が中津を出発する日だ。
一日 290km 走る日もある、ということはグランツール並みのスケジュール。すごいね。
Bonne chance!

水泳

自転車ばっかり乗ってると、歩いたり走ったりするのが苦手になる。
これは、単に歩くと遅いからダルい、という話ではなくて、筋肉の構成が変わってしまうかららしく、実際のところ最近の僕は自転車おりたらただの人、という感じ。まあ、自転車乗ってもただの人、だったりするが、それでも世間一般のロード乗りに比べれば、それなりに速いわけで。アマチュアでもレースにガンガン出てるような人には、かないませんが。
で、自転車を極めようとするならば、歩いたり走ったりするのは非常によくない。使わない筋肉は単なる重りにしかならないからだ。したがって、自転車に乗るためのトレーニングは基本的に、自転車に乗るのが一番なのだが、それではなかなかつけるのが難しいのが、上半身の筋肉だ。
そういうわけで、昔はたまに水泳に行ってたのだが、最近はすっかりごぶさたしてた。
今日は、東京体育館のプール行ってきた。25m の往復を 5, 6 本泳いで、50m の往復を 1 本。かなりぐったりです。久しぶりで、若干はしゃぎすぎた、というのもある。
東京体育館は、シャワー室のとなりにお風呂なんかもあって、けっこういい感じ。夜11時までやってるし。でも、こんなの毎日やったら疲れるな・・・

Boost を cross compile

bjam は、build する環境に入っているもので OK.
使う cross g++ なところにはパスを通しておく。
で、boost を展開したディレクトリの下の、tools/build/v2/user-config.jam に
using gcc : 4.2 : i386-pc-mingw32-g++-4.2.1 ;
と書いてみた。んでもって、
% bjam -sTOOLS=”gcc” –prefix=”/Users/yasu/mingw” –sGXX=”i386-pc-mingw32-g++-4.2.1″ install
でとりあえずコンパイルできた。
% file ~/mingw/lib/libboost_graph-mgw42-mt-1_35.dylib
/Users/yasu/mingw/lib/libboost_graph-mgw42-mt-1_35.dylib: MS-DOS executable PE for MS Windows (DLL) (console) Intel 80386 32-bit
とかなっており、Windows の DLL の拡張子が .dylib になっていたりして、なかなか不思議な感じだが、ま、そういうものでしょう。
作ったバイナリが動くかは、まだ試してない。