C++/Free Pascal 混合プログラム、Linux。以前は 32 ビットの Debian ボックスでビルドし、64 ビットの CentOS 5.3 サーバー ボックスで実行しましたが、問題なく動作しました。Debian ボックスを 6.0.3 (Squeeze) にアップグレードしました。次の再構築後、プログラムはサーバー ホスト上で実行されなくなり、代わりに次のように出力されます。
myapp: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by myapp)
myapp: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by myapp)
を実行するls -l /usr/lib/libstdc++*
と、開発ボックスlibstdc++.so.6
では へのシンボリック リンクlibstdc++.so.6.0.13
であるのに対し、ホストでは へのシンボリック リンクであることがわかり libstdc++.so.6.0.8
ます。それが犯人かもしれません。
トラブルシューティング戦略を提案できますか? どうにかして以前のバージョンの libstdc++ を開発ボックスに置いて、それに対してリンクを試みるか、製品ボックスをアップグレードする必要がありますか?