Estou tentando ter llvm e clangar em um centOS 5 sem permissões de root.
Eu tentei fazer o download de pacotes srvm e clang src e tentar a configuração ususal, fazer e fazer as etapas de instalação como tal:
wget http://llvm.org/releases/3.3/llvm-3.3.src.tar.gz
wget http://llvm.org/releases/3.3/cfe-3.3.src.tar.gz
tar xzf llvm-3.3.src.tar.gz && cd llvm-3.3.src/tools/ && tar xzf ../../cfe-3.3.src.tar.gz
Eu tentei com uma versão mais nova do gcc compilada para este sistema CentOS de 64 bits, porque a versão mais antiga não funcionaria (veja abaixo). Quando eu tento com a versão mais recente, eu entendo isso:
export LD_LIBRARY_PATH=/home/avilella/src/gcc/gcc-4.7.2/lib64:/home/avilella/src/gcc/gcc-4.7.2/lib
export CC=/home/avilella/src/gcc/gcc-4.7.2/bin/gcc
export CXX=/home/avilella/src/gcc/gcc-4.7.2/bin/g++
export PATH=/home/avilella/src/python/python-2.7.3/bin:$PATH
cd ~/src/llvm/latest/llvm-3.3.src
./configure --prefix=/home/avilella/src/llvm/latest/llvm && make clean && make -j8 && make install
Após esses passos, não vejo clang no diretório bin:
/home/avilella/src/llvm/latest/llvm/bin
Então eu segui as instruções no diretório clang e executei make -j8
nele:
cd ~/src/llvm/latest/llvm-3.3.src/tools/cfe-3.3.src
make -j8
Ao fazer isso, recebo este erro clange/Config/config.h
:
[...]
InitHeaderSearch.cpp:17:51: fatal error: clang/Config/config.h: No such file or directory
[...]
Isso é mencionado em um relatório de erros de 2011, que eu já teria resolvido:
link
Alguma idéia?
TENTATIVAS ANTERIORES:
cd ~/src/llvm/latest/llvm-3.3.src
./configure --prefix=/home/avilella/src/llvm/latest/llvm && make clean && make -j8 && make install
checking for clang... clang
checking for C compiler default output file name... configure: error: C compiler cannot create executables
See 'config.log' for more details.
Alguns dos conteúdos de config.log
:
configure:2047: checking for clang
configure:2063: found /home/avilella/bin/clang
configure:2074: result: clang
configure:2110: checking for C compiler version
configure:2117: clang --version >&5
clang: /lib64/libc.so.6: version 'GLIBC_2.15' not found (required by clang)
clang: /lib64/libc.so.6: version 'GLIBC_2.14' not found (required by clang)
clang: /usr/lib64/libstdc++.so.6: version 'GLIBCXX_3.4.9' not found (required by clang)
clang: /usr/lib64/libstdc++.so.6: version 'GLIBCXX_3.4.11' not found (required by clang)
clang: /usr/lib64/libstdc++.so.6: version 'GLIBCXX_3.4.15' not found (required by clang)
[...]
Eu tentei usar as versões binárias do fedora18 disponíveis no site do llvm, mas ele reclama de uma versão do GLIBC que não pode ser encontrada no sistema:
[~/src/llvm/clang+llvm-3.3-x86_64-fedora18/bin] $ ./clang
./clang: /lib64/libc.so.6: version 'GLIBC_2.15' not found (required by ./clang)
./clang: /lib64/libc.so.6: version 'GLIBC_2.14' not found (required by ./clang)
Eu tenho uma versão mais recente do gcc neste sistema, mas acredito que eu precise fazer o download de binários ou recompilar versões da libc para que isso funcione. A questão é como.
Eu tentei baixar o rpms daqui:
link
Eu coloquei o conteúdo do rpm em uma pasta:
rpm2cpio $rpm | cpio -idmv
e adicionei essa pasta lib64 na minha variável env LD_LIBRARY_PATH, mas isso também não resolveu o problema (e tornou o comando simples como ls
e less
crash):
clang: /home/avilella/src/llvm/glibc/lib64/libc.so.6: version 'GLIBC_2.15' not found (required by clang)
clang: /home/avilella/src/llvm/glibc/lib64/libc.so.6: version 'GLIBC_2.14' not found (required by clang)