Chinaunix首页 | 论坛 | 博客
  • 博客访问: 469077
  • 博文数量: 83
  • 博客积分: 92
  • 博客等级: 民兵
  • 技术积分: 690
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-25 13:33
文章分类

全部博文(83)

文章存档

2014年(3)

2013年(59)

2012年(16)

2011年(5)

我的朋友

分类: LINUX

2013-03-29 10:45:34

I’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)

Done!

阅读(2057) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~