2010-04-23 136 views
8

我使用的是Ubuntu 9.10,它带有gcc 4.4。 如何安装gcc 4.5而无需使用我的gcc 4.4。环境。我只需要gcc 4.5来编译1个应用程序。如何在ubuntu上安装新版本的gcc

谢谢。

+0

我怀疑这可能是更好的回答SuperUser.com。 – 2010-04-23 19:30:40

+0

谷歌搜索这个问题带我到这里。尼斯。我正准备自己提问。不幸的是,我仍然找到解决这两种答案的方法很困难。正如在23年4月被问到的,也许现在有人对gcc 4.6有更好的回答? – 2011-03-28 03:46:31

+0

@Dr Beco:从源头建设对我来说工作得很好。 – HighCommander4 2011-05-12 18:17:58

回答

0

最简单的方法是安装为一体的民营前缀:

configure --prefix=/some/private/prefix ... 

在专用前缀,有0的机会,你会覆盖现有文件。然后,您需要将前缀添加到路径中。

的第二个选择是给新的二进制文件后缀,并使用特定版本的运行时库:

configure --program-suffix=-4.5.0 --enable-version-specific-runtime-libs 

虽然我不能保证其他一些文件不会被修改。

+0

这究竟是如何工作的? – 2010-04-23 19:35:33

+0

它通过将这个打包安装在一个新目录中来工作。由于所有文件都安装在新目录中,因此不存在冲突的可能性。 当你想使用新的二进制文件('PATH =/some/private/prefix/bin:$ {PATH}')时,它确实需要你将新目录添加到你的路径中。 – 2010-04-23 19:39:36

+0

我假设你建议我自己下载和编译gcc 4.5。但我担心的是它可能需要另一套依赖关系? – michael 2010-04-23 19:52:02

2

我的首选方法是在/etc/apt/sources.list中输入deb-src,例如,

# Debian sources 
deb-src http://ftp.us.debian.org/debian/ unstable main contrib non-free 

我可以然后做apt-get source foo并获取相应的包与它的来源,这将是解包。我通常会添加一个本地更新日志条目(由版本号分开设置为1.2-3local0)并重建。这有时需要建立依赖关系。这一切都取决于...

我想gcc-4.5目前在实验as per this page所以你不得不添加实验到sources.list文件以及。我没有使用过,但它也应该工作:

deb-src http://ftp.debian.org/debian experimental main 
+0

但是我可以在4.4和4.5之间来回切换吗? – michael 2010-04-23 19:51:28

+0

它们只是与您当前可用的gcc-4.3和gcc-4.4一起存在于您的系统中,以及您在之前的Ubuntu安装中可能具有的旧版本。您可以使用dpkg-alternatives机制来覆盖默认优先级,和/或在/ usr/local/bin中创建别名或链接。 – 2010-04-23 20:08:26

+0

作为近一年后的更新,你也有'gcc-4.5'和'g ++ - 4.5' .... – 2011-03-22 22:57:15

相关问题