/usr/bin/ld エラーが発生しました。最後のリンクに失敗しました:デバイスに残りのスペースがありません。

/usr/bin/ld エラーが発生しました。最後のリンクに失敗しました:デバイスに残りのスペースがありません。

/usr/bin/ld: 最終リンクに失敗しました: デバイスに残りのスペースがありません。オープンソースコードプロジェクトをコンパイルしようとするとエラーが発生します。

私のディスクに空き容量が7GBほどありますが、それが問題の原因ではないようです。

ソースファイルが大きすぎると、このようなリンカエラーが発生する可能性があることをどこかで読みました。ソースファイルが大きすぎるため、これも可能です。リンカーでファイルサイズによってエラーが発生した場合、問題を解決するために何ができるのですか?

答え1

リンカーは一時ファイルを保存する必要があります。推測:一時ディレクトリが(通常/tmp)いっぱいです。回避策:別の一時ディレクトリ()をクリーンアップ、/tmp拡張、または使用してください。/tmpexport TMPDIR=/path/to/directory/with/

答え2

次の点を確認してください。

  1. どのファイルシステムがありますか?たとえば、FAT32 は 2 GB を超えるファイルを許可しません。
  2. 利用可能なiノードがありますか?df -iブロックサイズより小さいファイルが複数ある可能性があり、空き領域がありますが、iノードリストがいっぱいになったため、ファイルを作成できなくなります。

どちらの場合も、より大きなファイルおよび/またはより多くのinodeを可能にするために新しいタイプのパーティションに再フォーマットする必要があるかもしれません。

関連情報