LLVM / CLANG をダウンロードしてビルドを開始しました。最初に gcc バージョン 4.1.2 20080704 (Red Hat 4.1.2-48) をインストールしましたが、LLVM Web サイトではより高いバージョンを使用するように記載されていました。そこで、GCC gcc バージョン 4.7.2 (GCC) をダウンロードしてコンパイル/ビルドしました。以下の構成を設定した後、LLVMの構築を開始しました。
# setenv PATH /usr/local/lib:/usr/local/lib64:$PATH
# setenv LD_LIBRARY_PATH /usr/local/lib/:/usr/local/lib64/
# setenv CC /usr/local/bin/gcc
GCC 4.1.2 が利用可能なパスは /usr/bin ですが、4.7.2 のパスはデフォルトで /usr/local/bin にあります。
しかし、LLVM ビルドは次のように失敗しました。
In file included from /x/home/satprasad/llvm/llvm-3.1.src/projects/compiler-rt/lib/asan/asan_posix.cc:35:
In file included from /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/algorithm:64:
In file included from /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_algobase.h:69:
In file included from /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/iosfwd:45:
In file included from /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/x86_64-redhat-linux/bits/c++io.h:38:
In file included from /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/x86_64-redhat-linux/bits/gthr.h:132:
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/x86_64-redhat-linux/bits/gthr-default.h:100:1: error: weakref declaration must have
internal linkage
__gthrw(pthread_once)
ただし、4.1.2 バージョンではなく 4.7.2 バージョンのファイル/ヘッダーを選択する必要があります。これを修正する方法を教えてください。エラーが発生する行は、ファイル/コードの下にあります。
llvm-3.1.src/projects/compiler-rt/lib/asan/asan_posix.cc
#include <algorithm>
前もって感謝します