gpt4 book ai didi

c - 编译 HTK 时出现 "fatal error: bits/libc-header-start.h: No such file or directory"

转载 作者:太空狗 更新时间:2023-10-29 16:47:16 29 4
gpt4 key购买 nike

尝试在 HTK library 上运行 make 时出现以下问题:

(cd HTKLib && make HTKLib.a) \
|| case "" in *k*) fail=yes;; *) exit 1;; esac;
make[1]: Entering directory '/home/william/speech/htk/HTK-3.4.1/htk/HTKLib'
gcc -m32 -ansi -D_SVID_SOURCE -DOSS_AUDIO -D'ARCH="x86_64"' -Wall -Wno-switch -g -O2 -I. -DPHNALG -c -o HGraf.o HGraf.c
In file included from HShell.h:40:0,
from HGraf.c:54:
/usr/include/stdio.h:27:10: fatal error: bits/libc-header-start.h: No such file or directory
#include <bits/libc-header-start.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
<builtin>: recipe for target 'HGraf.o' failed
make[1]: *** [HGraf.o] Error 1
make[1]: Leaving directory '/home/william/speech/htk/HTK-3.4.1/htk/HTKLib'
Makefile:96: recipe for target 'HTKLib/HTKLib.a' failed
make: *** [HTKLib/HTKLib.a] Error 1

我不确定如何处理这个错误。 libc-header-start.h 文件存在于我的系统中:

$ find /usr -name libc-header-start.h
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h

运行 gcc -H -fsyntax-only/usr/include/stdio.h 适本地返回

. /usr/include/x86_64-linux-gnu/bits/libc-header-start.h
.. /usr/include/features.h
... /usr/include/x86_64-linux-gnu/sys/cdefs.h

等等

此外,编译和运行完整性检查 C 文件工作正常(只需在其主要方法中执行 printf("hello!");)。

如果这是一个众所周知的错误,我深表歉意 - 我对 C 库的经验仅限于使用 make 编译和安装它们。

更新根据下面接受的答案,我执行了 sudo apt-get install gcc-multilib 来安装缺少的 32 位库。

之后我得到一个类似原因的错误:"/usr/bin/ld: cannot find -lX11"error when installing htk。我通过执行 sudo apt-get install libx11-dev:i386 libx11-dev 来检索丢失的 32 位库来解决这个问题。

最佳答案

-m32 告诉 gcc 为 32 位平台编译。在 64 位机器上,gcc 通常只带有 64 位库。您有两个选择:

  1. 安装 32 位 header 和库。以下是您在 Ubuntu 上执行此操作的方法。

    运行这个命令:

    sudo apt-get install gcc-multilib
  2. 改为编译 64 位。在名为 configure 的文件中修改这一行:

     CFLAGS="-m32 -ansi -D_SVID_SOURCE -DOSS_AUDIO -D'ARCH=\"$host_cpu\"' $CFLAGS"

    删除 -m32,给你:

     CFLAGS="-ansi -D_SVID_SOURCE -DOSS_AUDIO -D'ARCH=\"$host_cpu\"' $CFLAGS"

    运行./configure,然后是make clean,然后是make

    但是,我不建议采用这种方法。库作者竭尽全力在 64 位系统上为 32 位构建这个版本,我不能保证如果你这样做它会正常工作。 (不过它确实可以编译。)

关于c - 编译 HTK 时出现 "fatal error: bits/libc-header-start.h: No such file or directory",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54082459/

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