にゃははー

はへらー

複数のobjを束ねる

例えばあるprojectがあって、 project / : source-location ./src ; exe x : [ glob *.cpp ] ;とあるぐらいなら別に問題にならないけど、 project / : source-location ./src ; obj module/a : module/a.cpp ; obj module/b : module/b.cpp ; alias module :…

Spirit.QiのList Parserで嵌ったこと

http://www.boost.org/doc/libs/1_51_0/libs/spirit/doc/html/spirit/qi/reference/operator/list.htmlSpirit.Qiには a % b というList Parserがあるが、これを使ってて嵌った。ドキュメントには The list operator, a % b, is a binary operator that match…

Boost.Contextのnamespace

また変わりました...Boost.Contextの怒涛の変更 - にゃははー でboost::contextsからboost::ctxに変わったことは記憶に新しいですが、boost::ctxというnamespaceは命名規則に則ってないのではという議論が巻き起こりました。 Boost mailing page: [boost] [c…

第2回闇鍋プログラミング勉強会に行ってきた part1

ので、帰ってきた話。 全ては妥協から始まった 懇親会会場を後にして、つくばに戻ろうと神保町駅に入った。さて、このあと東京駅からバスで帰るか、いや、850円の差はでかいぞ...じゃぁつくばからいつもどおり歩くか。そう決めて 神保町-大手町-北千住 と進…

Boost.Build v2の誰てめ

ところで君はだれだい? numbers.log10 名前の通り常用対数を取るruleです。 import numbers ; ECHO [ numbers.log10 1 ] ; # => 0 ECHO [ numbers.log10 100 ] ; # => 2注意なのが、bjamは全て文字列で処理するのでパラメータと戻り値は全て正数です。悲し…

Boost 1.50.0で追加されたライブラリ達

皆さんご存知の通りBoost 1.50.0がリリースされました。 このリリースで皆さん当然user-config.jamに BOOST_THREAD_VERSION=3 を追加したことと思います。まぁ今回は変更ではなくて新しく追加されたライブラリについて。 Boost.Algorithmさんには若干失望し…

Boost.Phoenix V3でのmove

例えば common.hpp を次のように書いたとする。 #include <boost/move/move.hpp> struct S { BOOST_MOVABLE_BUT_NOT_COPYABLE(S) public: S() {} S(BOOST_RV_REF(S)) {} }; void f(S) {} で、このSをfにmoveしてみる。 #include "common.hpp" #include <boost/move/move.hpp> int main() { S s; f(boost</boost/move/move.hpp></boost/move/move.hpp>…

Boost.Contextのこととか話した

Boost.勉強会 #9 つくば - boostjp Boost9 session 並行と並列とスレッド 前半はなんか概念的なことばっかり話したと思う。しかも後半でほとんど関係なくなったし。 とりあえずユーザースレッドってものを導入したかったのだと思う。多分。カーネルスレッド…

Boost.勉強会 #9 つくばを主催した

Boost.勉強会 #9 つくば - boostjp 主催っていうのは存外難しい まず、会場の確保。これは何度も言っているけど新城靖准教授にしていただいたことで実現できた。 実際確保だけはできるけど教室機材は使ってはいけないとか言われる。教員が借りると問題ないら…

Ubuntu 11.04以降で自前でgccをビルドした場合のアーキテクチャ依存ファイルについて

GCC

Ubuntu 11.04以降で幾つかのアーキテクチャ依存ファイルのパスが変更されてしまい、upstream GCCを自前コンパイルするとインクルードやリンクが通らないという問題があります。通常、/etc/environmentに CPATH=/usr/include/x86_64-linux-gnu LIBRARY_PATH=/…

Boost.Contextの怒涛の変更

Boost.Contextがtrunkに入ってだいぶ経ちましたが、ここのところ非常に大きな変更が入っています。 ※今後も更に変更されるかもしれないので、リリース時にはこのエントリも役に立たないかもしれないです。 これまでの流れ 内部実装とかユーザから直接関係な…

libstdc++で_GLIBCXX_USE_NANOSLEEPがないとstd::sleep_for/std::sleep_untilが定義されない件について

結構前から議論が上がってて見てたけどそういえば書いてなかったので今更ですけど...例えばLinux等POSIX系OSで #include <chrono> #include <thread> int main() { std::this_thread::sleep_for(std::chrono::seconds(1)); } としてもGCCは hoge.cpp: In function ‘int main(</thread></chrono>…

Blog移行のお知らせ

相当前から移行してたけどアナウンスしてないこと完全に忘れてたので今更ながら...多分twitterとかで知ってると思いますが、 http://flast.hateblo.jp/ に移ってます。 ネットワーク関係は http://flast-net.hateblo.jp/ こちらにこっちは消さないですが戻っ…

GCC4.8をC++でコンパイルするブランチ

GCCはC++を使用することを決定したわけですが、その実際の動きがありました。 http://gcc.gnu.org/wiki/cxx-conversionconfigureに --enable-build-with-cxx を叩きこむと一部のソースがC++コンパイラでコンパイルするようになるわけですが、このブランチは…

GCC4.8はClangに近づく

GCC4.8からdiagnostic messageを改良する動きが出ています。 http://gcc.gnu.org/wiki/ClangDiagnosticsComparison GCC4.6からdiagnostic messageの改良が始まっていましたが、これまでのは例えば struct S { ... snip ... } int i; というコードで意味不明…

Steven Watanabeの神コミット in Boost.Context

Boost.Contextがtrunk入り - にゃははーでBoost.Contextのビルドオプションが面倒だと言ったが、我らがSteven Watanabeがやってくれた。svnではrev.77196,ftp.tsukubaのgitでは6d06ffddf135088328525bb677c0c0e0687c917dだ。このコミットが何を意味するか端…

CentOS5.7のcpanでMongoDBを入れるときのメモ

人生初perl/cpanでcpanの依存関係が死んでるらしくて嵌ったのでメモ...まずDateTimeは自動的に選択されるけど,死んでるのは総じてDateTimeから先. MongoDB `-> DateTime |-> Math::Round |-> Params::Validate | `-> Attribute::Handlers |-> DateTime::Loca…

Boost.Contextがtrunk入り

タイトルの通りBoost.Contextがsvn trunkに入りました.多分1.50.0でのリリースになるのではないでしょうか. 先日githubから突如としてリポジトリが消え去っていましたが,ようやくtrunkに入るまでになったようで何よりです.svnはrev.76974で,ftp.tsukubaが出…

【解決】Intel Atom環境でBoost.ContextがSEGVる

普段VAIO Z(Intel Atom Z550 + Ubuntu 10.10)で開発してるわけなんだけど、Boost.MMMを作るにあたってBoost.ContextがAtom環境でSEGVってくれる。 具体的にはboost_fcontext_startでboost::contexts::detail::trampolineに行く時にtrampolineの第1引数の値が…

tools/boostbook/setup_boostbook.(sh|py)が加えるuser-config.jamへの変更

$HOMEにuser-config.jamを置いている場合、user-config.jamが変更されるため単なるビルドでもエラーになってしまう場合があります。もちろんuser-config.jamを$HOMEに置いたりbjam Advent Calendar jp 2011を読むぐらいの皆さんですからこんな事書かなくても…

Many-to-Many thread Modelのライブラリを書いてみてる

Boost.Context github現在Boost.Contextのmini reviewが実施されてます。これはコルーチンやファイバーを実装するベースとなるコンテキストスイッチを提供します。Boost.CoroutineやBoost.Fiberが頓挫してる中レビューまでこじつけたライブラリです。既存のB…

libstdc++.7のversioned namespaceに起因する問題

GCC4.6.3/4.7.0のlibstdc++から修正されたversioned namespaceを有効にするとboost/detail/container_fwd.hppのforward declとぶつかって曖昧性が生じるためコンパイルエラーになる部分が発生しています。 Interprocessでも同様の問題があったようですが、こ…

bjam AdC jp 2011 25日目

らすとです。 jamではなくPythonで Python知らんし別にJamで困ってないので問題ないのではということに気づきました。 まとめ 結局私を助けてくれる人は一人もいませんでした。

bjam AdC jp 2011 23日目

はー Boost.Build PythonPortとは ラスト二回はPythonPortについてにします。と言っても使ったこと無いのでドキュメント見ながら書いてます。 Boost.Build PythonPortに関するドキュメントはこちら。※注 Boost.Build PythonPortは現状でexperimental扱いです…

bjam AdC jp 2011 21日目

つらいれす... フラグとか共通化 feature.extend toolset : nvcc ; toolset.inherit-generators nvcc : unix : unix.link unix.link.dll ; toolset.inherit nvcc : unix ; generators.override nvcc.prebuilt : builtin.lib-generator ; generators.override…

bjam AdC jp 2011 19日目

やっべーはてな時間で日付計算してたわー前回大まかな流れを説明したので今回はtype/cuda.jamです。が、これは単純で説明も何も無いのでちょっと掘り進めます。 scanner 前回ものすごくシンプルなcuda-scannerを示しました。というより単純に派生して何もし…

bjam AdC jp 2011 17日目

遅れてしまった...というか忘れてた...今回からは何回かに分けてtoolsetについてやります。といっても私自身あんまりわかってないので昔書いたnvcc.jamを元に適当に説明します。nvcc.jamは http://www.flast.jp/browser/btc/tools にあります。 toolsetとは…

bjam AdC jp 2011 15日目

はてなさんは7時に日付変わるから遅れてない!11日目あたりでruleの引数もsequenceだとか言ってましたけどその説明します。なんとか一日でも潰したいのでこの際ナンデモアリです。 rule 例えば適当なruleを書きます。 rule foo ( bar : baz ? : qux + : quux…

現時点でのftp.tsukubaのオフィシャルリスト

何がオフィシャルかわかりづらくなってしまってるので一旦まとめる。オフィシャルの定義はオフィシャルと明示しているか、ミラーリストに載っていてかつアンオフィシャルと明示されていないものとします。 ソフトウェア GCC mozilla eclipse VM OpenVZ Debia…

bjam AdC jp 2011 13日目

死にそう... select-highest-ranked rule 時間もないしネタもないし前回飛ばしたこいつを見てみます。と言ってみたものの、よくよく考えるとそれほど面倒ではないです、、、シグネチャは rule select-highest-ranked ( elements * : ranks * )です。ここでel…