Poco v1.4.1

2011年1月29日に、Poco の v1.4.1 がリリースされました。

今回のリリースによって、このサイトにある今までのコードに不具合が起こることはありませんでした。

Poco::SharedMemory のバグ修正済

以前(Poco v1.4.0 の記事の時)触れた Poco::SharedMemory のバグですが、再度修正をお願いしていたものが反映されました。

CHANGELOGの:
– fixed SF# 3146326: SharedMemory issue
がそれに相当します。

# そのCHANGELOGを見ると、既に v1.4.1p1 の記述があるので、すぐにリリースされるかもしれません。

しばらくしたら、このバグのために保留にしていたサンプルコードを Poco::SharedMemory の例に追加しようと思います。
(2011.02.14 追記:更新しました)

Poco v1.4.1 for PowerPC Mac

Poco v1.4.1 も PowerPC Mac 対応のコンフィグファイルがありません。
前回の Poco v1.4.0 for PowerPC Mac と同様に対応してください。

IPv6 について

IPv4 アドレスの枯渇が新聞記事になったりするご時世なので、Poco の IPv6 について書いておきます。

Mac の場合はデフォルトで有効になっているのですが、Linux の場合はデフォルトでは IPv6 が無効になっています。

つまり、Mac 用のコンフィグファイル(の一部)poco-1.4.1/build/config/Darwin には

SYSFLAGS = -DPOCO_HAVE_IPv6

があるのですが、Linux 用のコンフィグファイル poco-1.4.1/build/config/Linux では

SYSFLAGS = -D_XOPEN_SOURCE=500 -D_REENTRANT -D_THREAD_SAFE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -DPOCO_HAVE_FD_EPOLL

となっていて -DPOCO_HAVE_IPv6 がありません。
従って、IPv6 対応にしたい場合はこれを追加します。

SYSFLAGS = -DPOCO_HAVE_IPv6 -D_XOPEN_SOURCE=500 -D_REENTRANT -D_THREAD_SAFE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -DPOCO_HAVE_FD_EPOLL

追加修正した poco-1.4.1/build/config/Linux を保存したら、poco-1.4.1 ディレクトリに移動して

./configure
make
sudo make install

とすれば、IPv6 対応の Poco が出来上がります。

旧ライブラリの削除

今回のように v1.4.0 → v1.4.1 と新しくなってライブラリのバージョンが変わった場合、古いバージョンのファイルが(使われることの無いまま)残ってしまうので、それらを削除します。

やることは簡単で、「v1.4.1 のライブラリの番号 11 の物だけ残し、それ以外を削除」します。

Linux と Mac ではライブラリの拡張子が違うので、一応両者を並べて書いておきます。

Linux の場合:

cd /usr/local/lib/
sudo rm -i *Poco*.so.10

Mac の場合:

cd /usr/local/lib/
sudo rm -i *Poco*.10.dylib

rm -i としているため、1ファイルずつ削除するかどうか尋ねられますが、y と答えてください。
(タイプミスしないという自信があれば -i は不要です)

10 以前のもっと古い物が残っている場合も、同様にして削除します。

# 本当は Makefile に uninstall があれば良いだけなんですけどね…

Windows での IPv6 について

(2011.02.23 追記)
Windows でもデフォルトでは IPv6 に対応していないので、対応方法を書いておきます。

Poco の Net ディレクトリに移動し、Net_vs*.sln の中から、自分が使っている Visual Studio のバージョンに該当するものをダブルクリック。
ちなみに * の部分は、Visual Studio 2003 が 71, 2005 が 80, 2008 が 90, 2010 が 100 になります。

ソリューションエクスプローラーの中の Net を右クリックしてプロパティを選択。

構成プロパティ→C/C++→プリプロセッサ を選び、プロセッサの定義に POCO_HAVE_IPv6 を追加。
(希望する全ての構成について)

そして、プロパティを閉じたらコンパイルします。

Powered by POCO Copyright © 2011 Round Square Inc. All rights reserved.


Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>