Score:0

"/usr/include/stdio.h:27:10: ข้อผิดพลาดร้ายแรง: bits/libc-header-start.h: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว" เมื่อรวบรวม HTK

ธง cn

ฉันกำลังพยายามรวบรวมไฟล์ ห้องสมุด HTKแต่พบปัญหา:

$ ทำทั้งหมด
(cd HTKLib && สร้าง HTKLib.a) \
  || กรณี "" ใน *k*) ล้มเหลว=ใช่;; *) ทางออก 1;; เอสแซค;
ทำ [1]: เข้าสู่ไดเร็กทอรี '/home/<path_removed_for_privacy>/htk/HTKLib'
gcc -m32 -ansi -D_SVID_SOURCE -DOSS_AUDIO -D'ARCH="x86_64"' -Wall -Wno-switch -g -O2 -I. -DPHNALG -UPHNALG -c -o HGraf.null.o HGraf.null.c
ในไฟล์ที่รวมมาจาก HShell.h:40,
                 จาก HGraf.null.c:25:
/usr/include/stdio.h:27:10: ข้อผิดพลาดร้ายแรง: bits/libc-header-start.h: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว
   27 | #รวม <bits/libc-header-start.h>
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
การรวบรวมสิ้นสุดลง

วิ่ง dpkg -S libc-ส่วนหัว-start.h บอกฉัน:

libc6-dev:amd64: /usr/include/x86_64-linux-gnu/bits/libc-header-start.h

ตกลง. /usr/include/bits ควรเป็นสัญลักษณ์ที่เชื่อมโยงกับ /usr/include/x86_64-linux-gnu/bitsแต่วิ่ง dpkg -S /usr/รวม/บิต ให้ฉัน:

dpkg-query: ไม่พบเส้นทางที่ตรงกับรูปแบบ /usr/include/bits

ฉันได้ศึกษาข้อผิดพลาดนี้แล้ว และจากสิ่งที่ฉันเข้าใจได้ ฉันควรติดตั้ง gcc-multilib เพื่อแก้ไข แต่ฉันก็ประสบปัญหากับสิ่งนี้เช่นกัน:

แพ็คเกจต่อไปนี้มีการพึ่งพาที่ไม่ตรงกัน:
 gcc-multilib : ขึ้นอยู่กับ: gcc-9-multilib (>= 9.3.0-3~) แต่จะไม่ถูกติดตั้ง

กำลังพยายามติดตั้ง gcc-9-multilib ให้ปัญหาการพึ่งพามากขึ้นเรื่อย ๆ ค้นคว้าสิ่งนี้ฉันพบ นี้ เธรดที่พวกเขาแก้ไขปัญหา gcc-multilib แต่น่าเสียดายที่มันใช้ไม่ได้สำหรับฉัน ฉันได้รับปัญหาการพึ่งพาเช่นเดียวกับในโพสต์ต้นฉบับ วิธีแก้ไขคือปรับลดรุ่น libc6-dev วิ่ง "sudo apt ติดตั้ง libc6-dev=2.31-0ubuntu9.2". เมื่อฉันทำเช่นนี้, มันกล่าวว่า:

กำลังอ่านรายการแพ็กเกจ...เสร็จแล้ว
สร้างต้นไม้พึ่งพา       
กำลังอ่านข้อมูลสถานะ...
libc6-dev เป็นเวอร์ชันใหม่ล่าสุดแล้ว (2.31-0ubuntu9.2)
libc6-dev ตั้งค่าให้ติดตั้งด้วยตนเอง
0 อัพเกรด, 0 ติดตั้งใหม่, 0 ลบและ 0 ไม่อัพเกรด

ดังนั้นฉันจึงมีเวอร์ชันที่แก้ไขปัญหาได้แล้ว แต่ปัญหาของฉันยังคงอยู่

คำแนะนำใด ๆ เกี่ยวกับวิธีการแก้ไขปัญหานี้และที่สำคัญที่สุดคือการทำให้ไลบรารี HTK ทำงานจะได้รับการชื่นชมอย่างมาก

แก้ไข:
ตามที่ร้องขอในความคิดเห็น: นโยบาย apt gcc gcc-multilib gcc-9-multilib:

gcc:
  ติดตั้ง: 4:9.3.0-1ubuntu2
  ผู้สมัคร: 4:9.3.0-1ubuntu2
  ตารางเวอร์ชัน:
 *** 4:9.3.0-1ubuntu2 500
        500 http://archive.ubuntu.com/ubuntu focal/main amd64 แพ็คเกจ
        100 /var/lib/dpkg/สถานะ
gcc-multilib:
  ติดตั้ง: (ไม่มี)
  ผู้สมัคร: 4:9.3.0-1ubuntu2
  ตารางเวอร์ชัน:
     4:9.3.0-1ubuntu2 500
        500 http://archive.ubuntu.com/ubuntu focal/main amd64 แพ็คเกจ
gcc-9-multilib:
  ติดตั้ง: (ไม่มี)
  ผู้สมัคร: 9.3.0-17ubuntu1~20.04
  ตารางเวอร์ชัน:
     9.3.0-17ubuntu1~20.04 500
        500 http://archive.ubuntu.com/ubuntu focal-security/main amd64 แพ็คเกจ
        500 http://security.ubuntu.com/ubuntu focal-security/main แพ็คเกจ amd64
     9.3.0-10ubuntu2 500
        500 http://archive.ubuntu.com/ubuntu focal/main amd64 แพ็คเกจ
hr flag
Please include the output of `apt policy gcc gcc-multilib gcc-9-multilib`
Rerun avatar
cn flag
Thanks, I've updated the original post.
hr flag
Thanks - tbh I can't see why gcc-multilib won't install. However I'm curious why it is attempting to build a 32-bit version in the first place?
Knud Larsen avatar
by flag
HTK is 32bit only? `./configure` will create a Makefile with `CFLAGS = $(CPPFLAGS) -m32 ...` ...... Example htk : `htk-tools_3.4.1-ubuntu14_i386.deb` (Feb 28 2018) https://drive.google.com/file/d/1Di29AvqoRBEJ4haW2nusPT1wMPkE14B1/view?usp=sharing ... Installs OK into a clean Ubuntu 20.04, with all the i386 dependencies ( `sudo gdebi htk-tools_3.4.1-ubuntu14_i386.deb` ).
Knud Larsen avatar
by flag
It appears that somebody found a solution for 64bit https://www.linuxquestions.org/questions/tags/htk/ → https://www.linuxquestions.org/questions/linux-software-2/configure-error-c-compiler-cannot-create-executables-4175557896/page2.html , post #23 ...... Simply delete `-m32` flags in relevant `Makefile.in`s (Makefiles) or in `configure` .... and `export CC=gcc-4.8 && ./configure && make all`
Rerun avatar
cn flag
Thank you so much, Knud! The second suggestion is far better than downgrading to 32 bits. Removing the -m32 flags (albeit using my default gcc (9.3.1)) resolved the installation errors. The library seems quite buggy in general though, with heaps of warnings; I'll need to look into if they cause problems.

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา