致命的なエラー:sys / cdefs.h:そのようなファイルまたはディレクトリはありません|


108

Ubuntu 14.04 LTSでCode :: Blocks IDEを使用してAtmega16をプログラムしようとしていますが、C :: Bでプログラムのコンパイル/ビルド中に次のエラーが発生します。

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

私はこのスレッド を読みましたが、それに基づいてlibc6-dev、依存関係を削除することでパージを試み、トラブルに遭遇しました。以前の経験から、破損したパイプエラーが発生する可能性が非常に高いことを知っていました。失われた依存関係をインストールすることでそれに取り組みました。

今でも同じエラーが発生します。


回答:


154

amd64をインストールしている場合は、パッケージのインストールを試みることができますlibc6-dev-i386。これにより、i8kutilsからsmm をコンパイルしようとしたときに発生した同じ問題を解決できました。


9
これは魅力的でした。これは受け入れられた答えでなければなりません。
パトリク14

14
gcc-multilibとg ++-multilibをインストールする方が良いかもしれません。
RobotHumans

libc6とlibc6-devをインストールすると解決しました。私はそれに対するいくつかの参照も見つけましたが、悲しいことに私はそれを失いました。
マンダー

4
libc6-dev-i386はsudo apt-get install g++-multilib、Kali 2016.2で実行した場合にインストールされる追加パッケージの1つです。
林果皞

3
多くのコンパイラツールチェーンがある場合、パッケージングのバグのように思われます。multilibは32ビットと64ビットのビルダーを提供しますが、おそらく他のすべてのツールチェーンを最初に削除して競合を防ぐような愚かなことを言っているでしょう。私のために働いたが、私は腕のためのコンパイラを持っていませんでした。そのためにVMを使用します。
RobotHumans

46

おそらく32ビットと64ビットのアーキテクチャファイルを使いすぎたマシンでは、をインストールすることでこの問題を解決しましたg++-multilib


2

私はこれがUbuntu中心のブランチであることを知っていますが、このページはGoogleでこのエラーを検索したときに最初に表示されたものです(検索に-Ubuntuを入れた場合でも)ここにLinux:

Archでは、パッケージglibcが破損しており、すべての/ usr / include / sysヘッダーが欠落しているため、/ lib / cppの健全性チェックに失敗しました。glibcを再コンパイルして、このエラーを解決しました。


5
面白いことに、数か月前にこの問題を解決しましたが、それを完全に忘れていました。そこで、ここでもう一度解決策を探していました。このサイトをありがとう。:)
thebunnyrules

そのコメントは:)私は、スタックExchange内のサイトは全体的に前回のこの多くを行っていることを聞いたことがある
ポールStelian

2

コマンドの入力:

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

問題を解決しました。


1
こんにちは、askubuntuへようこそ!askubuntu.com/editing-helpのガイドラインを使用して、投稿をフォーマットしてください。
-abu_bua

Ask Ubuntuへようこそ!;-)あなたは私の見直してもらえ編集をしても見直す編集ヘルプ将来的にはあなたの答えの可読性を向上させるために... ;-) (CCの@abu_bua)
Fabby
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.