Điểm:0

"/usr/include/stdio.h:27:10: fatal error: bits/libc-header-start.h: No such file or directory" khi biên dịch HTK

lá cờ cn

Tôi đang cố gắng biên dịch thư viện HTK, nhưng gặp sự cố:

$ làm tất cả
(cd HTKLib && tạo HTKLib.a) \
  || case "" in *k*) fail=yes;; *) thoát 1;; esac;
make[1]: Nhập thư mục '/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
Trong tệp bao gồm từ HShell.h:40,
                 từ HGraf.null.c:25:
/usr/include/stdio.h:27:10: lỗi nghiêm trọng: bits/libc-header-start.h: Không có tệp hoặc thư mục như vậy
   27 | #include <bits/libc-header-start.h>
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
biên dịch chấm dứt.

Đang chạy dpkg -S libc-header-start.h nói với tôi:

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

Vâng. /usr/bao gồm/bit phải là một liên kết tượng trưng đến /usr/gồm/x86_64-linux-gnu/bit, nhưng đang chạy dpkg -S /usr/gồm/bit đưa cho tôi:

dpkg-query: không tìm thấy đường dẫn phù hợp với mẫu/usr/include/bits

Tôi đã nghiên cứu lỗi này và từ những gì tôi có thể hiểu được, tôi nên cài đặt gcc-multilib để giải quyết nó. Nhưng tôi cũng gặp vấn đề với điều này:

Các gói sau đây có các thuộc tính không được đáp ứng:
 gcc-multilib : Phụ thuộc: gcc-9-multilib (>= 9.3.0-3~) nhưng nó sẽ không được cài đặt

Đang cố gắng cài đặt gcc-9-multilib đưa ra các vấn đề phụ thuộc ngày càng xa hơn. Nghiên cứu điều này, tôi thấy cái này chủ đề, nơi họ đã giải quyết vấn đề gcc-multilib, nhưng thật không may, nó không hoạt động với tôi. Tôi nhận được các vấn đề phụ thuộc giống như trong bài viết gốc. Giải pháp của họ là hạ cấp libc6-dev đang chạy "sudo apt cài đặt libc6-dev=2.31-0ubuntu9.2". Khi tôi làm điều này, nó nói:

Đọc danh sách gói... Xong
Xây dựng cây phụ thuộc       
Đang đọc thông tin trạng thái... Xong
libc6-dev đã là phiên bản mới nhất (2.31-0ubuntu9.2).
libc6-dev được đặt thành cài đặt thủ công.
0 đã nâng cấp, 0 mới cài đặt, 0 cần xóa và 0 chưa nâng cấp.

Vì vậy, tôi đã có phiên bản giải quyết vấn đề của họ, nhưng vấn đề của tôi vẫn còn.

Mọi đề xuất về cách giải quyết vấn đề này và hầu hết tất cả đều chạy thư viện HTK sẽ rất được đánh giá cao.

CHỈNH SỬA:
Theo yêu cầu trong các ý kiến: chính sách apt gcc gcc-multilib gcc-9-multilib:

gcc:
  Đã cài đặt: 4:9.3.0-1ubuntu2
  Ứng viên: 4:9.3.0-1ubuntu2
  Bảng phiên bản:
 *** 4:9.3.0-1ubuntu2 500
        500 gói http://archive.ubuntu.com/ubuntufocal/main amd64
        100 /var/lib/dpkg/trạng thái
gcc-multilib:
  Đã cài đặt: (không có)
  Ứng viên: 4:9.3.0-1ubuntu2
  Bảng phiên bản:
     4:9.3.0-1ubuntu2 500
        500 gói http://archive.ubuntu.com/ubuntufocal/main amd64
gcc-9-multilib:
  Đã cài đặt: (không có)
  Ứng viên: 9.3.0-17ubuntu1~20.04
  Bảng phiên bản:
     9.3.0-17ubuntu1~20.04 500
        500 gói http://archive.ubuntu.com/ubuntufocal-security/main amd64
        500 gói http://security.ubuntu.com/ubuntufocal-security/main AMD64
     9.3.0-10ubuntu2 500
        500 gói http://archive.ubuntu.com/ubuntufocal/main amd64
lá cờ hr
Vui lòng bao gồm đầu ra của `apt policy gcc gcc-multilib gcc-9-multilib`
Rerun avatar
lá cờ cn
Cảm ơn, tôi đã cập nhật bài viết gốc.
lá cờ hr
Cảm ơn - tôi không thể hiểu tại sao gcc-multilib không cài đặt. Tuy nhiên, tôi tò mò tại sao nó lại cố gắng xây dựng phiên bản 32 bit ngay từ đầu?
Knud Larsen avatar
lá cờ by
HTK chỉ là 32bit? `./configure` sẽ tạo Makefile với `CFLAGS = $(CPPFLAGS) -m32 ...` ...... Ví dụ htk : `htk-tools_3.4.1-ubuntu14_i386.deb` (28/02/2018) https: //drive.google.com/file/d/1Di29AvqoRBEJ4haW2nusPT1wMPkE14B1/view?usp=sharing ... Cài đặt OK vào Ubuntu 20.04 sạch, với tất cả các phụ thuộc i386 ( `sudo gdebi htk-tools_3.4.1-ubuntu14_i386.deb` ) .
Knud Larsen avatar
lá cờ by
Có vẻ như ai đó đã tìm ra giải pháp cho 64 bit 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 , bài đăng #23 ...... Chỉ cần xóa các cờ `-m32` trong `Makefile.in`s (Makefiles) có liên quan hoặc trong `configure` .. .. và `export CC=gcc-4.8 && ./configure && make all`
Rerun avatar
lá cờ cn
Cảm ơn bạn rất nhiều, Knud! Đề xuất thứ hai tốt hơn nhiều so với việc hạ cấp xuống 32 bit. Xóa các cờ -m32 (mặc dù sử dụng gcc mặc định của tôi (9.3.1)) đã giải quyết các lỗi cài đặt. Mặc dù vậy, thư viện nhìn chung có vẻ khá nhiều lỗi với hàng đống cảnh báo; Tôi sẽ cần phải xem xét nếu họ gây ra vấn đề.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.