lỗi nghiêm trọng: sys / cdefs.h: Không có tệp hoặc thư mục như vậy |


108

Đã vài tuần tôi cố gắng sử dụng Code :: Blocks IDE trên Ubuntu 14.04 LTS để lập trình Atmega16, tuy nhiên tôi bị cản trở bởi lỗi sau khi biên dịch / xây dựng chương trình trong C :: B

/usr/include/features.h|374|fatal error: sys/cdefs.h: No such file or directory|

Tôi đã đọc chủ đề này và dựa trên đó tôi đã cố gắng thanh lọc libc6-devvà gặp rắc rối bằng cách loại bỏ các phụ thuộc. Từ kinh nghiệm trước đây tôi biết rằng có một xác suất rất lớn để gặp phải lỗi đường ống bị hỏng. Tôi đã giải quyết nó bằng cách cài đặt các phụ thuộc bị mất.

Bây giờ tôi vẫn có lỗi tương tự.


Câu trả lời:


154

Nếu bạn đang cài đặt amd64, bạn có thể thử cài đặt gói libc6-dev-i386. Điều này giúp tôi giải quyết vấn đề tương tự mà bạn gặp phải khi cố gắng biên dịch smm từ i8kutils.


9
Điều này làm việc như một nét duyên dáng. Đây phải là câu trả lời được chấp nhận.
Patryk

14
Có thể tốt hơn để cài đặt gcc-multilib và g ++ - multilib.
RobotHumans 18/07/2015

Cài đặt libc6 và libc6-dev đã giải quyết nó cho tôi. Tôi cũng đã tìm thấy một số tài liệu tham khảo cho nó, nhưng thật buồn là tôi đã mất nó.
Mandar

4
libc6-dev-i386 là một trong những gói bổ sung sẽ được cài đặt nếu tôi chạy sudo apt-get install g++-multilibtrong Kali 2016.2.
林果

3
Nếu bạn có nhiều công cụ biên dịch, đó có vẻ như là một lỗi đóng gói. Công cụ multilib giúp bạn xây dựng 32 và 64 bit, nhưng có lẽ nói điều gì đó ngớ ngẩn như loại bỏ tất cả các công cụ khác trước để thử và ngăn ngừa xung đột. Làm việc cho tôi, nhưng tôi không có trình biên dịch cho arm. Tôi sử dụng máy ảo cho điều đó.
RobotHumans

46

Trên máy của tôi, nơi có lẽ tôi đã vặn quá nhiều với các tệp kiến ​​trúc 32 và 64 bit, tôi đã giải quyết vấn đề này bằng cách cài đặt g++-multilib.


2

Tôi biết đây là một nhánh trung tâm của Ubuntu nhưng trang này là trang đầu tiên xuất hiện khi tôi tìm kiếm lỗi này trên Google (ngay cả khi tôi đặt -Ubfox trong tìm kiếm), vì vậy tôi sẽ chia sẻ câu trả lời của mình cho Arch linux ở đây:

Trong Arch, tôi đã kiểm tra trạng thái / lib / cpp không thành công vì gói glibc bị hỏng và thiếu tất cả các tiêu đề / usr / include / sys. Tôi đã giải quyết lỗi này bằng cách biên dịch lại glibc.


5
Thật buồn cười, tôi đã giải quyết vấn đề này vài tháng trước và tôi hoàn toàn quên nó. Vì vậy, ở đây tôi đã tìm kiếm một giải pháp một lần nữa. Cảm ơn chúa cho trang web này. :)
thebunnyrules

Nhận xét đó :) Tôi đã nghe nói rằng các trang web trong Stack Exchange nói chung đã thực hiện rất nhiều lần trước đây
Paul Stelian

2

Gõ lệnh:

sudo apt-get --reinstall install libc6 libc6-dev

Đã giải quyết vấn đề.


1
Xin chào và chào mừng bạn đến hỏi Ubuntu! Vui lòng sử dụng hướng dẫn của Askubfox.com/editing-help để định dạng bài đăng của bạn.
abu_bua

Chào mừng bạn đến hỏi Ubuntu! ;-) Bạn có thể vui lòng xem lại các chỉnh sửa của tôi và cũng xem lại trợ giúp chỉnh sửa để cải thiện khả năng đọc câu trả lời của bạn trong tương lai ... ;-) (CC @abu_bua)
Fabby
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.