如何在Ubuntu13.10上安装clang-3.5而不删除gcc-4.8

时间:2014-01-05 03:51:15

标签: c++ ubuntu gcc c++11 clang

我想在我的desctop PC上安装clang-3.5(最新版本)。(Ubuntu 13.10) 我已经尝试了基于this webpage

的安装设置

详细步骤如下所示。

  1. 我在/etc/apt/sources.list.d/中创建了文本文件并添加了以下行。

    deb http://llvm.org/apt/saucy/ llvm-toolchain-saucy main deb-src http://llvm.org/apt/saucy/ llvm-toolchain-saucy main

  2. 然后,我执行了以下命令。

    wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key|sudo apt-key add -

    sudo aptitude install clang-3.5 lldb-3.5

  3. 我收到了警告信息。它似乎正在删除gcc和clang(旧版本)。 但我不想删除gcc-4.8。

  4. 是否可以在Ubuntu13.10上安装clang-3.5而不删除gcc-4.8?

    任何帮助将不胜感激。提前谢谢。

      

    将安装以下新软件包:clang-3.5 {b}   libclang1-3.5 {a} libobjc-4.8-dev {a} libobjc4 {a} lldb-3.5 {b}   llvm-3.5 {a} llvm-3.5-dev {a}以下包将是   升级:gcc-4.8-base libasan0 libatomic1 libclang-common-3.5-dev   libgcc-4.8-dev libgcc1 libgomp1 libitm1 libllvm3.5 libquadmath0   llvm-3.5-runtime 11软件包升级,7个新安装,0个删除   和97没有升级。需要获得55.1 MB / 59.2 MB的档案。后   拆包137 MB将被使用。以下包未得到满足   依赖项:lldb-3.5:中断:lldb-3.2但是1:3.2repack-7ubuntu1是   安装。 libstdc ++ - 4.8-dev:取决于:gcc-4.8-base(=   4.8.1-10ubuntu9)但要安装4.8.2-1ubuntu1。                        取决于:libgcc-4.8-dev(= 4.8.1-10ubuntu9),但要安装4.8.2-1ubuntu1。 g ++ - 4.8:取决于:gcc-4.8-base(= 4.8.1-10ubuntu9),但要安装4.8.2-1ubuntu1。 clang-3.5:Breaks:clang-3.2但是1:3.2repack-7ubuntu1已安装。 libstdc ++ 6:   取决于:gcc-4.8-base(= 4.8.1-10ubuntu9)但4.8.2-1ubuntu1是   安装。 cpp-4.8:取决于:gcc-4.8-base(= 4.8.1-10ubuntu9)但是   将安装4.8.2-1ubuntu1。 gcc-4.8:取决于:gcc-4.8-base(= 4.8.1-10ubuntu9),但要安装4.8.2-1ubuntu1。              取决于:libgcc-4.8-dev(= 4.8.1-10ubuntu9),但要安装4.8.2-1ubuntu1。开放:66;关闭:203;推迟:25;冲突:34
      。以下操作将解决这些依赖关系:

         

    删除以下包裹:
      1)铿锵   2)clang-3.2
      3)g ++
      4)g ++ - 4.8
      5)gcc
      6)gcc-4.8
      7)lldb-3.2

      升级以下包裹:
      8)cpp-4.8 [4.8.1-10ubuntu9(now,saucy-updates) - >   4.8.2-1ubuntu1(saucy)] 9)libstdc ++ - 4.8-dev [4.8.1-10ubuntu9(now,saucy-updates) - > 4.8.2-1ubuntu1(俏皮)] 10)
      libstdc ++ 6 [4.8.1-10ubuntu9(now,saucy-updates) - > 4.8.2-1ubuntu1   (俏皮)]未解决以下依赖关系:
      11)cmake推荐gcc
      12)ubuntu-desktop推荐gcc
      接受此解决方案? [Y / N / Q /?]

2 个答案:

答案 0 :(得分:3)

将34更改为35,可能需要添加一个或两个sudo。

export JN
#export JN='-j 8'

svn co http://llvm.org/svn/llvm-project/llvm/branches/release_34/ llvm34
cd llvm34
cd tools
svn co http://llvm.org/svn/llvm-project/cfe/branches/release_34/ clang
cd ..
./configure --enable-optimized --disable-doxygen --prefix=/opt/llvm34
make $JN
make install

然后将/ opt / llvm3x / bin添加到路径中,如果要使用它,否则不要添加路径。

clang / llvm与gcc有什么关系我不知道它们是两个完全不同的东西,就像同时安装了vi和emacs一样。

答案 1 :(得分:0)

您可以在磁盘的任何位置安装clang(http://clang.llvm.org/get_started.html),而不会影响已安装的其他版本的clang。

然后在~/.bashrc

中附加PATH变量
export PATH=/path/to/install/clang/bin:$PATH

或者,你可以使用像这样的完整路径来使用clang:

/path/to/install/clang/bin/clang -c test.cpp