Ficando pronto para funcionar no Fedora 15

5

Eu instalei o clang via yum:

yum install clang

Infelizmente, até mesmo um simples "Hello World!" não irá compilar porque ele tenta usar os cabeçalhos do libstdc ++ 4.6 (que eu acho que tem os recursos c ++ 0x que o clang não entende). Não consegui encontrar um pacote libstdc ++ 4.5, apenas para o F14 que obviamente não foi instalado.

Eu até tentei instalar os binários 2.9 e também compilei e instalei o svn trunk para mim. Nada disso ajudou.

Eu me lembro de ter o mesmo problema no Ubuntu, mas consegui resolvê-lo instalando os cabeçalhos libstdc ++ 4.5.

Então, como as pessoas usam o clang no Fedora?

    
por Tamás Szelei 10.08.2011 / 15:38

1 resposta

3

Como você sabe, há um bug e bug em llvm para libstdc ++ 4.6. Eu acabei de compilar o llvm com o clang do trunk, de acordo com as instruções

Você tem que configurar os caminhos de inclusão, eu usei este comando para configurar e compilá-lo em F15 x86_64:

../llvm/configure \
  --enable-optimized \
  --disable-assertions \
  --enable-jit \
  --enable-libffi \
  --enable-shared \
  --with-c-include-dirs=/usr/include:$(find /usr/lib/gcc/*/* \
        -maxdepth 0 -type d)/include \
  --with-cxx-include-32bit-dir=32 \
  --with-cxx-include-root=$(find /usr/include/c++/* -maxdepth 0 -type d) \
  --with-cxx-include-arch=x86_64-redhat-linux

make -j3
sudo make install

Do que eu era capaz de compilar o mundo hello

#include <iostream>

int main() {
  std::cout << "Hello, World!\n";
  return 0;
}

com

clang -o hello hello.cpp -lstdc++

$ ./hello 
Hello, World!

Esses documentos também podem ser interessantes.

Suponho que exista uma alternativa para usar o libc ++ , mas eu mesmo não tentei.

Os binários do Fedora llvm 2.9 não funcionarão devido a algumas dependências de mesa em 2.8.

Espero que isso ajude:)

    
por 02.09.2011 / 13:17

Tags