今、仕事が無いので手習いでサーバなど組んで遊んでいるのだけれど、
gccで正常終了するソースがclangだとcore吐いて落ちる状況に遭遇。

環境を変えるのはちょっと嫌な感じなので、
とりあえず仮想環境でclang3.2にして状況が変わるか確認することに。

が、待てど暮らせどportsのmakeが完了しない。
画面の表示は

Compiling ASTMatchFinder.cpp for Release build

のまま止まっており、cc1plusのCPU使用率も1%を切っているような状況。

当初は、make.confのCPUTYPE設定が悪さをしているのかと思ったのだけれど、
make.confの設定を弄っても一向に状況が改善しない。
OSに入ってる方のclang3.1でmakeできないかと思ったけれど、
portsのMakefileの記述がGCCを使うようになっているっぽいので、
無駄な試みに終わる。

小一時間悩んだ挙句
もしかしたら、メモリ確保できなくて空くのをずっと待ってんじゃなかろうか?
と思って、仮想環境に割り当てるメモリを384MBから768MBに変えたら……
どうやらビンゴっぽい。
無事にmakeが通った。
どうせsshでしか接続しないのでメモリケチったのが不味かった。

で、長い長いmakeが完了した後、
makeの為だけに必要だったPythonのパッケージを削除して準備完了。

さっそくclang3.2でも問題が再現するか確認する。
お、core吐かなくなった。

やっぱ、自分のソースが間違ってた訳ではなかったんだな。
とひと安心。
けど、あんまりほめられたコードでは無いのかもしれない。

※追記
 後日clang3.3がリリースされ、メモリ768MBではビルドがまた固まるようになった。
 1.5GBでも固まるので、恐らく3~4GB位ないとビルドは通らないと思われる。

久しぶりにApacheモジュール組んだ延長で、
自前のC++のソースのmakeをgccからclangに変更してみた。

実際の作業は、Makefileで g++ の記述を clang++ に変更するだけ。

で、makeを叩く。

おぉう。
なにこの親切なメッセージ。

warning: がそれなりの数でたものの、指摘として実に真っ当。
gccと比較してバイナリの速度が~みたいな話を聞くけれど、
このメッセージの親切さだけで乗り換える価値が有るなぁ。

デフォルトで置き換わるFreeBSD10系が待ち遠しくなってきた。

年末年始のゴタゴタですっかりリリースしそびれていたAndroid版らいつべバルーン。
で、この週末にようやっと手をつけたのだけれど、
タイトルのエラーが出て、ファイルをアップロードできない……

とりあえず、先人の知恵を借りようとこのページにたどり着いたのだけれど、
らいつべバルーンでは、別にStrings.xmlを別けたりしてないので、
厳密には違う事象のようだ。
メッセージもちょこっと違う。

aapt dump badging livetubeballoon.apk

ERROR getting ‘android:name’ attribute: attribute is not a string value

パッと見た感じは、AndroidManifest.xml みてどうのこうのやってるように見える。
なので、AndroidManifest.xml の一部をコメントアウトしてみたり、
@string使わずに直値で指定してみたりとあれこれ試す。

で、小一時間ほど悩んで得た結論。
@string/hoge で指定する文字列の定義の中に、”.”が入ってるとマズイっぽい。
今回はウィジェットのクリック関連の文字列を以下のように設定していたのだけれど、

“net.konata.android.livetubeballoon.WidgetBackground.ACTION_CLICK”

ここを@stringを使わずに直に書いてやるとaaptがエラーを出さなくなった。
恐る恐るアップロードしてみたけれど、無事にアップロード完了。

しかし、Googleのエラー対応とかユーザーサポートは本当に適当で、最悪だ。
要らない苦労ばかりを背負い込ませられる。
今回の件だって、aaptを使う手順のチュートリアルにでも回してくれれば
こんなに長い時間この問題に頭を悩ませる必要はなかったはずなのだ。

この辺り、MicroSoftの爪の垢煎じて飲ませたいくらいだ。

とりあえず、登録用にスクリーンショットやらとったりする作業は残ってるけど、
まずは、一歩前進。

ぽちぽちと作っているらいつべバルーンのAndroid版の完成がなんとなく見えてきたので、
そろそろ登録してもよかろうという事で、$25払って登録してみた。

けど、本当に登録してみただけ。
Windows版では画面が決まらずに放置しているタグ対応を入れようと思っているので、
10月中にアプリの公開が出来れば良いんじゃないかくらいの気持ちで。

流行りに乗って広告なんぞ入れてみたものの、そこは弱い現代人。
Windows版は広告なんてなかったじゃないかと叩かれそうな不安も多少ある。

けど、Windows版のダウンロードも年間で5000位なので、
コメントが付くほど需要があるかという、それ以前の問題もあるような気がする。

スマートフォンで毎月データ通信を定額制の上限いっぱい使っていて、
かつ、元のらいつべバルーンの利用者という層がターゲットになるはずなのだけれど、
自分ではデータ通信はほとんど使わないせいか、今ひとつピンとこない。

とりあえずは、ある程度高い完成度でリリースしたい。
そのほうがバージョンアップするのに手間がかからないから。

携帯をスマホに変えて、Androidのソフトをポチポチ作っているのだけれど、
デバッグしようとUSBを繋ぐと、ケーブル経由での充電が始まってしまう。

電池の容量が減ってる時ならばよいのだけれど、満充電状態からさらに充電になるのは
たしか、機器によろしくなかったんじゃないのかなぁ。

というわけで、データ通信しかしないUSBのケーブルがほしい。
adb tcpip でつないでください。ということなのだろうけど、
WiFi有効時のみ動く機能とかのテストだと、WiFiを切って誤って機能が動かないことを
確認する必要性があったりして、なかなか面倒くさい。

携帯は一応上限付きの定額ではあるけれど、+3000円強の出費はできれば避けたい。

市場だと、充電専用のケーブルはあるらしいのだけれど、データ通信専用というのは
ざっと探した感じ、見つからなかった。

まぁ、数が出るような需要がなさそうだからなぁ……

満充電後の挙動は取説にも書いていなかったっぽいし、
スマホは電池の交換が気軽にできそうにないので困っている。