ubuntu11.10 gcc 4.5.3 安装 (CUDA4.1中要求低版本的GCC for 32bit OS)

   everything is here : http://gcc.gnu.org/install/build.html 

  首先,你得记得去把 gmp -> mpfr -> mpc 这些个安装(注意安装顺序)。。 下载地址有官网或者在gnu.org上下载,例如

              ftp://gcc.gnu.org/pub/gcc/infrastructure/

             这三个依赖软件的安装,最简单的步骤就是 

                 $./configure

                 $make

       $make check    <=== very important

       $sudo make install

     其中,对于GMP的安装,其默认安装路径为 /usr/local/lib ,而非之前的 /usr/lib,所以在安装后续的MPFR时,其按照默认的搜索路径进行搜索时就会出问题,导致其 make check 出错。

  缺少什么包 就安装什么。。同时仔细阅读官网提供的手册。。

  之后,关键是那几个configuration :

  • --prefix=/usr/local/gcc-4.5.3    or --prefix=/usr/lib/gcc-4.5.3
  • --enable-threads=posix
  • --enable-languages=c,c++
  • --disable-stage1-checking

   之后就是编译  当前目录为 obj_gcc_4.5.3,  source file set is  ../gcc-4.5.3,则 具体执行时,就

        $../gcc-4.5.3/configure --prefix=/usr/local/gcc-4.5.3  --enable-threads=posix  --enable-languages=c,c++ --disable-stage1-checking 

        $make        //build

        编译过程中出错,报错是fatal error: bits/predefs.h:没有那个文件或目录compilation terminated. ,需要安装包

multilib,  命令为 $sudo apt-get install gcc-multilib

        编译过程中缺少gnu/stubs-32.h:没有那个文件或目录, 需要安装g++-multilib,命令为 $sudo apt-get install g++-multilib, 开始以为如此可以解决问题,但是实际没有,stubs-32.h 存在于/usr/include/i386-linux-gnu/gnu,而编译中寻址则为    /usr/include/gnu   干脆就拷贝过去。。

       再次出现一个问题,ld找不到 crto*.o文件, 建立一个软链接: sudo ln -s i386-linux-gnu/crt*.o .   (dir=/usr/lib)

    

        $make check     //test

        $make install        //install

        $make clean

      在安装完毕后,需要去修改命令搜索路径上的所欲链接的文件。       修改原来的链接,是个简单的选项。  例如,       在目录/usr/bin 下,原来是 gcc-> gcc-4.6   g++ -> g++-4.6        现在需要做的就是 修改为          gcc ->/usr/local/gcc-4.5.3/bin/gcc          g++ ->/usr/local/gcc-4.5.3/bin/g++      ok, enjoy gcc-4.5.3 now !!     再说一点,之后安装CUDA时遇到种种问题,例如GCC版本依然过高,或者是驱动版本太低,或者是安装CUDA SDK进行编译时,报出经典错误:/usr/bin/ld: cannot find -lcuda , 其实 libcuda.so 在目录  /usr/lib/nvidia-current-updates/libcuda.so.295.20 , 在目录/usr/lib 下建立一个新的软链接链接至此即可。。    $cd /usr/lib    $sudo ln -s /usr/lib/nvidia-current-updates/libcuda.so.295.20 libcuda.so     费了老大的劲,GCC降低版本,驱动提升版本,同时干掉各种编译问题,好吧,CUDA SDK当中的几十个例程全部编译成功,看着一大片的二进制文件,很开心,然后运行时 傻了眼: 我猛然发现自己的 NVIDIA GPU是 GeForce 7100 GS  属于 GeForce 7 Series,而CUDA MANNUAL 或者维基百科中查的信息均说, CUDA最低是从 GeForce 8 Series 开始支持的。。。我勒个去。。。肏。。。。

转载于:https://www.cnblogs.com/superniaoren/archive/2012/03/23/2414110.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值