本文主要是介绍Ubuntu GCC 4.4.x considered harmful!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Note: I’ve since updated the build server in question to Ubuntu 12.04, where the default GCC is 4.6.3. It seems that at least some of these issues have been corrected in GCC. Your mileage may vary. –Alan, April 28, 2012I’ve been having some problems with Ubuntu 11.10’s default GCC (4.6.2) for some time now. First, I was having problems with self-kang CyanogenMod 9 builds on my Samsung Tab 7 Plus (specifically, adb wouldn’t work). Second, I couldn’t boot Linux kernel 3.3 on my Sandy Bridge Core i7-2600 build server.
I didn’t know the problems were because of GCC until recently, but now that I’ve switched back to 4.4 both of those problems have gone away; I can only assume that something in Ubuntu’s GCC fork is broken. The solution: set GCC 4.4 as the default compiler.
It’s pretty easy to do this in Debian-based distros using the alternatives system.
Install GCC 4.4
First, install GCC 4.4 (and friends):
$ apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib gcc-4.4-multilib
Set 4.4 to be the default
Then set 4.4 to be higher priority than 4.6:
$ update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.4 100
$ update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 50
$ update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 100
$ update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 50
$ update-alternatives --install /usr/bin/cpp cpp-bin /usr/bin/cpp-4.4 100
$ update-alternatives --install /usr/bin/cpp cpp-bin /usr/bin/cpp-4.6 50
Verify that it has worked:
gcc -v
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.4.6-11ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.4 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --disable-werror --with-arch-32=i686 --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.4.6 (Ubuntu/Linaro 4.4.6-11ubuntu2)
这篇关于Ubuntu GCC 4.4.x considered harmful!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!