• 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 开始支持的。。。我勒个去。。。肏。。。。
  • 相关阅读:
    如何使用参数给 Scrapy 爬虫增加属性
    如何正确在 PyCharm 中调试 Scrapy 爬虫?
    Chrome 开发者工具的最佳用法
    Chrome 开发者工具的各种骚技巧
    跨库数据备份还原、迁移工具
    意向锁
    十六进制

    lombok @Builder注解
    什么是强引用、软引用、弱引用、虚引用?
  • 原文地址:https://www.cnblogs.com/superniaoren/p/2414110.html
Copyright © 2020-2023  润新知