gcc - 将 newlib 移植到交叉编译器中

标签 gcc ubuntu binutils newlib

我正在使用 this tutorial创建一个交叉编译器。

我跟着 gcc 交叉编译器教程去了 porting newlib .一切正常,直到我尝试通过发布来编译它
make all install
当我收到以下错误时:

WARNING: `makeinfo' is missing on your system.  You should only need it if
         you modified a `.texi' or `.texinfo' file, or any other file
         indirectly affecting the aspect of the manual.  The spurious
         call might also be the consequence of using a buggy `make' (AIX,
         DU, IRIX).  You might want to install the `Texinfo' package or
         the `GNU make' package.  Grab either from any GNU archive site.

并且编译停止。

我正在使用 Ubuntu 11.10。

我努力了:
  • 使用不同的 gcc、binutils 和 newlib 版本(大约 5 种不同的组合)
  • 安装Texinfo
  • 更正 makeinfo 路径

  • 我的交叉编译器在没有 newlib 的情况下完美运行,只是它当然不能包含库。

    最佳答案

    即使您安装了 makeinfo,它也可能无法识别较新的版本。以下补丁有效。在下面复制并另存为“configure.patch”,将其保存在配置脚本所在的位置,然后键入“patch -p1 < configure.patch”。

    --- newlib-1.14.0-bak/configure 2008-06-10 20:49:16.918036351 +0200
    +++ newlib-1.14.0/configure 2008-06-10 21:21:35.750035824 +0200
    @@ -3542,7 +3542,7 @@
         # For an installed makeinfo, we require it to be from texinfo 4.2 or
         # higher, else we use the "missing" dummy.
         if ${MAKEINFO} --version \
    -       | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[2-9]|[5-9])' >/dev/null 2>&1; then
    +       | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.([2-9]|[1-9][0-9])|[5-9])' >/dev/null 2>&1; then
           :
         else
           MAKEINFO="$MISSING makeinfo"
    

    关于gcc - 将 newlib 移植到交叉编译器中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9394850/

    相关文章:

    c++ - GCC什么时候定义NDEBUG?

    ubuntu - 在 Docker 中运行 Qt5 GUI

    php - 在 Ubuntu 16.04 上安装 FPDI

    c++ - 错误 : invalid type argument of ‘->’ (have ‘int’ )

    gcc - llvm-gcc 汇编器 : LDR syntax

    c - 在arm cortex-M4上使用DSP指令(C语言扩展)

    linux - 修改glibc的编译步骤

    gcc - 巧妙使用链接描述文件?

    c++ - 获取包括共享库的 C++ 应用程序的调用堆栈

    c - 无法编译C程序