- blogs:
- cles::blog
» ArchiveList (Tag for "icc"
)
«Prev || 1 ·
| Next»
2008/12/30
_intel_fast_memsetや_intel_fast_memcpyのエラーが出るときは
icc
linux
c
intel プライベートなテスト環境にiccをインストールして使っているのですが、MySQLをiccを使ってリコンパイルしてみたら、libmysqlclientを使うプログラムがundefined symbol: _intel_fast_memsetというエラーを吐いて落ちるようになってしまいました。
どう考えてもicc周りのトラブルのようなのですが、解決方法がなかなか見つけられなくて困りましたが、下記のicc 8.0のリリースノートの情報で何とか解決することができました。
Linux 版インテル(R) C コンパイラ 8.0 リリースノート
高速メモリ Copy ルーチン
コマンドラインで -nostdlib を指定した場合やインテル C コンパイラのドライバからではなく、直接リンカを呼び出したことにより、標準のインテル・ライブラリに対してリンクが行われない場合の問題について次に説明します。
インテル C コンパイラは、_intel_fast_memcpy と _intel_fast_memset の 2 つのルーチンを使用して、ソースコードでは __builtin_memcpy と __builtin_memset にマクロ展開されていない memcpy 演算と memset 演算を行います。これらは、libirc にあります。gcc コンパイラを使用してアプリケーションをリンクしたり、リンカ ld を直接呼び出すと、これらの 2 つのルーチンが未解決のシンボルになります。このため、コンパイル・フェーズで使用したコンパイラ・オプションと同じものを使用して、インテル C コンパイラでリンクすることを推奨します。ただし、これらのルーチンを未定義の外部参照とみなす場合は、-lirc をリンク行に追加するか、または memcpy および memset が組込み形式にマクロ展開されるようにインクルードを変更して、再コンパイルします。IA-32 ベース・アプリケーション用インテル C コンパイラは、任意のプログラムのメインルーチンから intel_proc_init ルーチンを呼び出し、プロセッサが正しく設定されるようにします。また、このルーチンは libirc にも含まれています。これらのルーチンは glibc からのエントリポイントを使用するので、コマンドラインでは -lirc を -lc の前に配置する必要があります。
つまり、iccを使って作ったライブラリをiccを使わずにリンクするとこれらのシンボルが未解決のままになってしまうようです。このリリースに書かれているとおり、リンク時のオプションに-lircを加えてやると正常に動くようになりました。
[_intel_fast_memsetや_intel_fast_memcpyのエラーが出るときは の続きを読む] at 20:28 |
2008/01/03
Intel C++ Compiler(icc) をインストールする
icc
c
cpp
intel 今さらな感じですが、コンパイラをgccからインテル純正のコンパイラ(Intel C++ Compiler)に変えてみました。gccと比べて最適化されたバイナリを吐いてくれるので、該当するソフトウェアをリコンパイルするだけで多少性能が向上するようです。
インテル ソフトウェア開発製品 - インテル ソフトウェア・ネットワーク
インテルは、非商用ソフトウェアの開発者を対象にした無料の Linux* ツールの拡充を図っています。これらのツールは、余暇を利用して無償のソフトウェアを開発している開発者にのみ提供されます。
有償のプロプライエタリなプロダクトですが、Linux版は個人で非営利の場合には無償で利用できるライセンスが用意されているので、今回はこれを使います。
[Intel C++ Compiler(icc) をインストールする の続きを読む] at 19:20 |
«Prev || 1 ·
| Next»
» ArchiveList (Tag for "icc"
)
サイト内検索
- sadpkv
- CACHEMANAGER.phpというのはどうだろうかと
- pairb1m
- Lightning のToDoリストを複数のPCで共有できるアドオン
- majodca
- 九州旅行から帰ってきました
- majodca
- 九州旅行から帰ってきました
- hot534
- yum を使って OpenVPN をインストールする
- dresssu3
- NP_Trackbackを騙るトラックバックspamについて
- zippern7o
- NP_SpamBayesJP jp1b
- park81o
- Google Docs をメールフォームとして使う
- fogmpl
- なんで官庁の文章はPDFなんだろうか
- cutjw9
- 即席スライドショーを作る
- frightenlho
- 添付ファイルの容量を表示する「Attachment Sizes」
1 . アーロンチェアのポスチャーフィットを修理(5300)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(5025)
3 . GitHub が全ての公開リポジトリへのシークレットスキャンを有効に(4166)
4 . 年次の人間ドックへ(4096)
5 . 2023 年分の確定申告完了!(1つめ)(3951)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(5025)
3 . GitHub が全ての公開リポジトリへのシークレットスキャンを有効に(4166)
4 . 年次の人間ドックへ(4096)
5 . 2023 年分の確定申告完了!(1つめ)(3951)
cles::blogについて
カテゴリ別エントリ
Academic[574]
Book[155]
Diary[522]
Disaster[101]
Foodlogue[1425]
Game[284]
Goods[805]
Healthcare[341]
Hobby[32]
IT[1195]
Military[343]
misc.[1570]
Mobile[510]
Music[38]
Neta[106]
News[95]
Photo[391]
RealEstate[120]
Security[1178]
SEO Contest[36]
Software[634]
Tips[1886]
Travelogue[1238]
Web[675]
Work[193]
Referrers