我用的系统是ubuntu 9.04 ,gcc版本是4.3。编译的程序在其他机器上运行报/lib/libc.so.6: version `GLIBC_2.7' not found。那台机器是gcc3.4的版本。所以ubuntu需要降gcc版本。
简单来说,就是下载低版本的GCC,然后重新创建gcc的软链接。(其实,GCC也就是一个符号链接,"cd /usr/bin"下,"ls -l | grep gcc"一下就可以看到了)。
假设现在我们的GCC版本为4.3,要把GCC降低到GCC3.4。
首先,你需要去你的usr/bin/下去看看有没有gcc-3.4这样文件,如果没有的话,就安装一下吧:
下面介绍两种安装方法:apt-get安装和dpkg安装
1.apt-get安装
apt-get install gcc-3.4
之后,你需要把usr/bin/目录下的gcc文件删除掉或者避免意外发生,可以把它命名为gcc.bak。这里需要说明的如果你不删除的话,你会发现你
使用ln -s /usr/bin/gcc-3.4 /usr/bin/gcc总是不起作用。实际上你在用gcc
-v查看当前版本时,就一直使用的usr/bin/gcc。而ln -s /usr/bin/gcc-3.4
/usr/bin/gcc的目的就是为了生成3.4版本的gcc。一句话,你只需要执行:
rm /usr/bin/gcc
ln -s /usr/bin/gcc-3.4 /usr/bin/gcc
然后再gcc -v就可以看到当前版本就是3.4了。如果你想再使用当前的4.2.3的话,就使用同样的方法:
rm /usr/bin/gcc
ln -s /usr/bin/gcc-4.2.3 /usr/bin/gcc
再gcc -v来确定一下版本就知道了。
如果运行
ls -la /bin/sh
看到链接的是 dash ,则请运行以下命令
sudo dpkg-reconfigure dash
选择 no 以删除 dash ,编译完成可再运行此命令选择 yes 以重新安装 dash
此处如果不改好的话,编译时会出现错误.
2.dpkg安装
如果使用apt-get update无法更新下载列表
就需要手动下载gcc安装包和依赖包。
下载地址
需要下载的包:cpp-3.4_3.4.6-1ubuntu2_i386.deb,gcc-3.4-base_3.4.6-1ubuntu2_i386.deb,gcc-3.4_3.4.6-1ubuntu2_i386.deb
dpkg -i cpp-3.4_3.4.6-1ubuntu2_i386.deb
dpkg -i gcc-3.4-base_3.4.6-1ubuntu2_i386.deb
dpkg -i gcc-3.4_3.4.6-1ubuntu2_i386.deb
ln -s /usr/bin/gcc-4.2.3 /usr/bin/gcc
手动下载g++安装包和依赖包:
libstdc++6-dev_3.4.6-1ubuntu2_i386.deb,g++-3.4_3.4.6-1ubuntu2_i386.deb
dpkg --force-depends -i libstdc++6-dev_3.4.6-1ubuntu2_i386.deb
dpkg -i g++-3.4_3.4.6-1ubuntu2_i386.deb
编译的时候遇到 can't find -lz
需要下载包:zlib1g_1.2.3.3.dfsg-7ubuntu1_i386.deb,zlib1g-dev_1.2.3.3.dfsg-7ubuntu1_i386.deb
dpkg -i zlib1g_1.2.3.3.dfsg-7ubuntu1_i386.deb
dpkg -i zlib1g-dev_1.2.3.3.dfsg-7ubuntu1_i386.deb
阅读(2744) | 评论(0) | 转发(0) |