gpt4 book ai didi

linux - 为 CLFS 3.0.0 SYSTEMD 构建 TIC 失败 (ncurses5.9)

转载 作者:太空宇宙 更新时间:2023-11-04 09:30:42 25 4
gpt4 key购买 nike

最近我决定重新尝试构建 CLFS 机器 http://www.clfs.org并且在 3.0.0 SYSTEMD 的第 5.5 步。我们被告知运行 make -C include 然后运行 ​​make -C progs tic。我在最后一个命令中失败了。我是否遗漏了任何包裹,或者我做错了什么?

我在 Windows 10 上运行的 VMWare 中使用 ArchLinux 作为我的 CLFS 主机。

这是我正在寻找命令的页面:http://clfs.org/files/BOOK/3.0.0/SYSTEMD/view/x86_64/cross-tools/ncurses.html

这是我运行最后一条命令时控制台的输出:

    In file included from ../ncurses/curses.priv.h:283:0,
from ../ncurses/lib_gen.c:19:_33528.c:835:15: error: expected ')' before 'int'
../include/curses.h:1594:56: note: in definition of macro 'mouse_trafo'
#define mouse_trafo(y,x,to_screen) wmouse_trafo(stdscr,y,x,to_screen)
^

最佳答案

错误信息指向y符号,

  • 这可能在您系统的某些头文件中被(错误)定义。
  • 除了杂乱的#define 之外,该行唯一有趣的地方是 wmouse_trafo 的原型(prototype)使用 bool,配置脚本应该有(给定编译器版本)用于 CLFS)等同于 c99 _Bool(这应该不是问题)。

你可以看到编译器看到了什么

make -C ncurses lib_gen.i

并在 ncurses/lib_gen.i 中寻找 wmouse_trafo

例如,我看到它被提到了两次:

extern _Bool wmouse_trafo (const WINDOW*, int*, int*, _Bool);
extern _Bool mouse_trafo (int*, int*, _Bool);

 _Bool (mouse_trafo) (int * a1, int * a2, _Bool z)
{
; return wmouse_trafo(stdscr,a1,a2,z);
}

杂散的分号不是问题,但如果交叉编译器出现问题,它可能会导致 _Bool 丢失。

CLFS 3.0 使用说明gcc 4.8.3 (所有部分的版本都很重要)。但是,此处引用的错误消息看起来像是由于 gcc 5 引起的最新报告——在 ncurses 6.0 中得到解决。

关于linux - 为 CLFS 3.0.0 SYSTEMD 构建 TIC 失败 (ncurses5.9),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31727010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com