Ubuntu 12.04にはまる(ーー;)
先日、職場のUbuntuマシンのバージョンを11.10から12.04に上げました。今日、かめ吉製のアプリを動かしてみると、動作が変です(ーー;)
そのアプリはネットワーク経由でWindowsマシンを制御するためのものなのですが、どうも変な文字列が渡っているようです。並びが一部おかしくなっているようです。
ライブラリのバージョンが合わなくなったのだと思って、再コンパイルしてもやはり変です。
そこで、誤動作している場所を特定するために、ソースを追っかけると、”strcat”がおかしいみたいです。ちょっとトリーッキーな使い方ではあるのですが。
かめ吉が仕様外の使い方をしているのかも知れませんが、とにかく今までは動いてたのです。困惑してしまいました。途方に暮れてしまいました。
最適化が変なのだと思い、最適化をはずしましたが、やっぱりだめ(T_T)
仕方なく”strcat”を自分で書く覚悟(”strcat”ぐらいなら簡単ですが(^_^;)を決めたところで、導入済みのインテルコンパイラを使うことを思いつきました。
試してみたところ、バッチリです(^_^)
とにかく動いたので、良いのですが、考えてみれば、”strcat”はライブラリのはずで、コンパイラとは関係が無いはずです。
ということは、”strcat”を呼び出す部分が誤ったコンパイルをされている、ということですよね。gccのバグなのでしょうか?
そうだとしたら、ちょっと怖いですね(‥;)