【问题标题】:Problem with gcc 4.6 installation on ubuntu在 ubuntu 上安装 gcc 4.6 的问题
【发布时间】:2011-06-16 13:24:22
【问题描述】:

我正在尝试在我的 ubuntu 9.10(通过 virtualbox)中安装 gcc 4.6(主要是为了更好地支持 C++0x)。我提到了previous questions,但我得到了一个不同的错误。

我指的是this link for the installation。现在,我已经完成了./gcc-xx/configure ... 步骤。虽然它给出了一些与 flex 包相关的错误。主要是因为make 也因以下错误而失败:

build/gengtype.o:在函数中 adjust_field_rtx_def': /home/milind/ubuntu_shared/GCC/build/gcc/../../gcc-4.6-20110610/gcc/gengtype.c:978: undefined reference tolexer_line' /home/milind/ubuntu_shared/GCC/build/gcc/../../gcc-4.6-20110610/gcc/gengtype.c:1032: 未定义对lexer_line' /home/milind/ubuntu_shared/GCC/build/gcc/../../gcc-4.6-20110610/gcc/gengtype.c:1042: undefined reference tolexer_line' 的引用......

现在这让我很难弄清楚,因为我已经安装了flex/bison 最新版本。我几乎在互联网上搜索了 2 天,但没有运气。任何帮助将非常感激。另请注意,我已经在/usr/bin/gcc 中安装了gcc 4.4,并且我已经在我的主目录本地文件夹中解压缩了gcc 4.6 tar。

[注意:我也可以安装ubuntu 11.10(它具有 gcc 4.6)作为最后的手段。但我不知道它的.iso图片是否可用。]

【问题讨论】:

    标签: gcc ubuntu installation


    【解决方案1】:

    我解决了这个问题。我遵循以下程序: [注意:运行所有命令 使用sudo,如果您不是以 root 身份登录。例如sudo ls -ltr; sudo make install;

    1. 正如我的链接中提到的 问题,下载gcc4.6...tar 临时存放文件
    2. 现在找到电流所在的地方 gcc 已存储。例如我之前的 gcc4.4 存储在 /usr/lib/gcc/i486-linux-gnu。哪一个 有一个名为4.44.4.1 的文件夹
    3. 创建一个名为4.6 的文件夹(或 4.6.1/2/3 等)并把它 .tar 里面的文件。解压 文件如链接所示。
    4. 按照 关联。使用nohup <command> & 跟踪日志。即nohup make clean all & 后跟tail -f nohup.out
    5. 如果出现一些错误,这意味着一些 包丢失。主要是那些 包裹将出现在您的 当前gcc 版本。你可以 将它们安装在那里。为了 例如,在我的情况下 zlib 是 失踪。我跑了sudo apt-get install zlib1g-dev libssl-dev,它奏效了 美好的。否则从互联网下载并安装。
    6. 安装 gcc 后,您 可以使用type gcc-4.6 简单地检查它。就我而言,它表明 它存储为 /usr/local/bin/g++-4.6
    7. 您可以使用相同的路径 编译或者你可以把alias 你的bash/tcsh/ksh。例如 /usr/local/bin/g++-4.6 -std=c++0x -Wall test.cpp

    【讨论】:

      【解决方案2】:

      FWIW Debian 测试和不稳定将 gcc-4.6 作为标准包。因此,您可以简单地在 virtualbox 中安装该发行版,或者就像我在家里的 Ubuntu 11.04 服务器上所做的那样,通过 kvm。过去我也习惯使用dchroot构建环境。

      在启动板上也可能有预打包的 gcc-4.6 二进制文件。

      【讨论】:

      • +1,谢谢。但是,有没有办法克服那些 flex 或 bison 错误?是否有任何与路径相关的东西可以修复它们。即我应该是 ./configureing gcc 从某个路径或类似的东西?
      • 通常有。我有时会从 Debian 包源构建本地 Ubuntu 包。但这是一个大问题——你可能需要一个新的 libc6 和所有这些——那么为什么不直接将发行版虚拟化到一个设备中呢?
      猜你喜欢
      • 1970-01-01
      • 2011-02-22
      • 2012-04-20
      • 2017-09-26
      • 2015-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多