Eu acabei de fazer um teste, compilando (no meu Celeron
) com GCC 4.5.0 + o tutorial do
galactus para os Makefile.
Resultado: Após exatas 5 horas de
sofrimento e paciência compilação, tá fluindo bem melhor do que com o GCC 4.4.3 (padrão do 10.04).
Instalei o GCC-4.5 com este PPA:
ppa:ubuntu-toolchain-r/testTo querendo uma forma de colocar pelo menos uma versão mais atual no meu 10.04 (de preferência uma que eu não tenha que compilar o GCC manualmente...). Sugestões???
EDIT: Consegui instalar o GCC 4.6 no Ubuntu 10.04 \/. Como???
Adicionei o repositório do Debian Sid ao meu sources.list:
deb http://ftp.br.debian.org/debian sid main
Contudo, tive de desativar temporariamente os repositórios do Ubuntu. O APT se sobrecarregou .
Daí, um Terminal básico...:
$ sudo apt-get update
$ sudo apt-get install gcc-4.6 gcc-4.6-base g++-4.6 cpp-4.6
E depois, segui a dica do tutorial do galactus pra setar o novo GCC, com as alterações necessárias (Obs.: retirei o GCC 4.5 do meu sistema):
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 10
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 20
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.4 10
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 20
$ sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30
$ sudo update-alternatives --set cc /usr/bin/gcc
$ sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30
$ sudo update-alternatives --set c++ /usr/bin/g++
Eu tive um problema com os links simbólicos /usr/bin/gcc e /usr/bin/g++ para o 4.6. Solucionei assim:
$ sudo rm /usr/bin/gcc /usr/bin/g++
$ sudo ln -s /usr/bin/gcc-4.6 /usr/bin/gcc
$ sudo ln -s /usr/bin/g++-4.6 /usr/bin/g++
Pra verificar que tudo deu certo...
$ gcc -v
$ g++ -v
No meu caso:
ubuntu@Particular:~$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.6.1/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.6.0-7' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++,go --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.6.1 20110507 (prerelease) (Debian 4.6.0-7)
ubuntu@Particular:~$ g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.6.1/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.6.0-7' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++,go --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.6.1 20110507 (prerelease) (Debian 4.6.0-7)
ubuntu@Particular:~$
Ao final, reabilitei os repositórios do Ubuntu, retirei o repo do Debian Sid, atualizei os pacotes e tudo voltou ao normal
Agora, vamos aos testes
Nem deu tempo de curtir
. Antes de começar a compilação, erros e avisos atrás de erros e avisos, o
make xconfig já não funcionou, e o resultado... Começa a compilar e quebra todos os arquivos.
Moral da história: GCC 4.6 não quis saber
. Vou partir pra achar o GCC 4.5.2+ agora!