/usr/bin/ld: 最終リンクに失敗しました: デバイスに残りのスペースがありません。オープンソースコードプロジェクトをコンパイルしようとするとエラーが発生します。
私のディスクに空き容量が7GBほどありますが、それが問題の原因ではないようです。
ソースファイルが大きすぎると、このようなリンカエラーが発生する可能性があることをどこかで読みました。ソースファイルが大きすぎるため、これも可能です。リンカーでファイルサイズによってエラーが発生した場合、問題を解決するために何ができるのですか?
答え1
リンカーは一時ファイルを保存する必要があります。推測:一時ディレクトリが(通常/tmp
)いっぱいです。回避策:別の一時ディレクトリ()をクリーンアップ、/tmp
拡張、または使用してください。/tmp
export TMPDIR=/path/to/directory/with/
答え2
次の点を確認してください。
- どのファイルシステムがありますか?たとえば、FAT32 は 2 GB を超えるファイルを許可しません。
- 利用可能なiノードがありますか?
df -i
ブロックサイズより小さいファイルが複数ある可能性があり、空き領域がありますが、iノードリストがいっぱいになったため、ファイルを作成できなくなります。
どちらの場合も、より大きなファイルおよび/またはより多くのinodeを可能にするために新しいタイプのパーティションに再フォーマットする必要があるかもしれません。